本申請案大體上涉及中央處理單元(cpu)總線監(jiān)視,并且更具體地說,涉及強(qiáng)制執(zhí)行對cpu總線監(jiān)視的訪問保護(hù)。
背景技術(shù):
1、監(jiān)視事件的中央處理單元(cpu)活動的總線監(jiān)視器和診斷模塊用于實時系統(tǒng)的調(diào)試以及診斷。從安全和安全性角度來看,來自cpu的各種任務(wù)或代碼執(zhí)行區(qū)段可具有不同訪問權(quán)限和特權(quán)。這通常由某種形式的存儲器管理保護(hù)單元來管理。然而,當(dāng)前不存在用于強(qiáng)制執(zhí)行對總線監(jiān)視器模塊的訪問權(quán)限的穩(wěn)健技術(shù)。
2、本領(lǐng)域中需要更穩(wěn)健的訪問權(quán)限強(qiáng)制執(zhí)行。
技術(shù)實現(xiàn)思路
1、在一個實例中,一種設(shè)備包含:中央處理單元(cpu),其具有將所述cpu耦合到存儲器的第一總線,其中所述cpu被配置成生成標(biāo)識與由所述cpu執(zhí)行的代碼部分相關(guān)聯(lián)的代碼隔離的硬件信號;總線監(jiān)視器硬件邏輯,其耦合到所述第一總線,其中所述總線監(jiān)視器硬件邏輯包含第一寄存器,進(jìn)一步其中所述總線監(jiān)視器硬件邏輯被配置成:從在所述cpu上運行的應(yīng)用程序接收第一寫入操作,其中所述第一寫入操作使第一值寫入到所述第一寄存器,所述第一值指示所述應(yīng)用程序的所有權(quán);基于來自所述cpu的所述硬件信號將第二值寫入到所述第一寄存器,其中所述第二值標(biāo)識所述應(yīng)用程序的第一代碼隔離;在所述第一總線上接收存儲器訪問請求且在所述硬件信號上從所述cpu接收代碼隔離標(biāo)識;以及至少部分地基于所述硬件信號上的所述代碼隔離標(biāo)識是否對應(yīng)于所述第二值來確定是否監(jiān)視所述第一總線上的所述存儲器訪問請求。
2、在另一實例中,一種設(shè)備包含:多個總線監(jiān)視器模塊,其耦合到多個總線,其中所述多個總線監(jiān)視器模塊中的第一總線監(jiān)視器模塊被配置成:將應(yīng)用程序所有權(quán)信息存儲在第一寄存器中;將代碼隔離所有權(quán)信息存儲在所述第一寄存器中,其中所述代碼隔離所有權(quán)信息對應(yīng)于與應(yīng)用程序相關(guān)聯(lián)的第一代碼隔離,其中所述代碼隔離所有權(quán)信息在硬件信號上從所述第一總線監(jiān)視器模塊外部接收;在所述多個總線中的第一總線上從應(yīng)用程序代碼接收存儲器訪問請求;以及至少部分地基于所述應(yīng)用程序代碼是否與所述第一代碼隔離相關(guān)聯(lián),如由存儲于所述第一寄存器中的所述代碼隔離所有權(quán)信息所指示,來調(diào)節(jié)所述第一總線監(jiān)視器模塊的操作。
3、在又一實例中,一種方法包含:從在中央處理單元(cpu)上運行的應(yīng)用程序接收第一寫入操作,其中所述第一寫入操作被配置成將應(yīng)用程序所有權(quán)信息存儲在總線監(jiān)視器硬件邏輯的第一寄存器中;將代碼隔離所有權(quán)信息存儲在所述第一寄存器中,包含在硬件信號上從所述cpu接收所述代碼隔離所有權(quán)信息;從在所述cpu上執(zhí)行的應(yīng)用程序代碼接收訪問請求;在所述硬件信號上接收將所述訪問請求與第一代碼隔離相關(guān)聯(lián)的信息;以及基于所述代碼隔離所有權(quán)信息是否指示所述第一代碼隔離而允許或拒絕對所述訪問請求的監(jiān)視。
1.一種設(shè)備,其包括:
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述總線監(jiān)視器硬件邏輯包含增強(qiáng)型總線比較器。
3.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述總線監(jiān)視器硬件邏輯被配置成將所述第二值寫入到所述第一寄存器,而不需要在所述cpu上運行的所述應(yīng)用程序或操作系統(tǒng)的參與。
4.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述總線監(jiān)視器硬件邏輯進(jìn)一步被配置成:
5.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述總線監(jiān)視器硬件邏輯進(jìn)一步被配置成:
6.根據(jù)權(quán)利要求5所述的設(shè)備,其中所述總線監(jiān)視器硬件邏輯進(jìn)一步被配置成:
7.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述總線監(jiān)視器硬件邏輯進(jìn)一步被配置成:
8.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述第一總線包括數(shù)據(jù)總線、地址總線或程序計數(shù)器總線中的至少一者。
9.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述總線監(jiān)視器硬件邏輯進(jìn)一步被配置成:
10.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述第一代碼隔離包括與生成所述存儲器訪問請求的上下文相關(guān)聯(lián)的區(qū)。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述區(qū)與堆棧相關(guān)聯(lián),并且其中所述上下文與所述堆棧相關(guān)聯(lián)。
12.一種設(shè)備,其包括:
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述第一總線監(jiān)視器模塊進(jìn)一步被配置成:
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述第一總線監(jiān)視器模塊進(jìn)一步被配置成:
15.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述總線監(jiān)視器模塊進(jìn)一步被配置成:
16.一種方法,其包括:
17.根據(jù)權(quán)利要求16所述的方法,其包括:
18.根據(jù)權(quán)利要求16所述的方法,其包括:
19.根據(jù)權(quán)利要求16所述的方法,其中所述第一代碼隔離包括與生成所述訪問請求的上下文相關(guān)聯(lián)的區(qū)。
20.根據(jù)權(quán)利要求19所述的方法,其中所述區(qū)與堆棧相關(guān)聯(lián),并且其中所述上下文與所述堆棧相關(guān)聯(lián)。