本發明專利技術實施例公開了一種中斷處理方法及裝置,所述方法包括:當系統代碼在非安全世界運行至目標位置定時產生安全中斷時,獲取安全世界的異常向量表;判斷與所述異常向量表關聯的目標中斷處理函數是否由非安全世界執行;若所述目標中斷處理函數是由非安全世界執行,則控制所述安全世界將所述目標中斷處理函數的地址傳輸至非安全世界;控制所述非安全世界根據所述地址查找所述目標中斷處理函數,并執行所述目標中斷處理函數。采用本發明專利技術,可實現OS下的調度和共享內存操作,滿足非安全世界下OS的相關訪問。
【技術實現步驟摘要】
本專利技術涉及電子
,尤其涉及一種中斷處理方法及裝置。
技術介紹
產品業務在進行驅動處理時,在臨界區需要進行上鎖的操作,此時需要將中斷請求(interrupt request,IRQ)進行屏蔽,以防止業務中斷對其操作的影響,但此時如果軟件出現死鎖的場景,那么CPU則無法進行任何操作,同時中斷被屏蔽也無法進入任何中斷處理。針對上述場景需要提出相應的解決方法,在先進的RISC機器(Advanced(ReducedInstruct1n Set Computer, RISC)Machines,ARM) V8架構中,依靠TrustZone 技術將系統資源分別劃分為安全世界和非安全世界,系統安全/非安全層級如圖1所示,分為EL0/1/2/3共4個層級,其中EL3只有安全層級,EL2只有非安全層級,OS內核態運行在非安全的ELl下。進一步依靠TrustZone技術可將對應中斷的中斷號配置為安全中斷或非安全中斷,即使在產品業務OS下對IRQ/快速中斷請求(fast interrupt request, FIQ)中斷進行屏蔽,安全中斷也可以觸發,即OS下無法屏蔽該安全中斷的觸發,例如將看門狗定時器中斷配置為安全中斷時,看門狗定時器中斷無法被屏蔽。在ARM V8架構中,定時產生安全中斷進行監測,防止軟件死鎖的場景出現。當安全中斷在安全世界觸發后,則進入安全世界的異常向量入口,并在安全世界實現和執行與異常向量關聯的中斷處理函數;當安全中斷在非安全世界觸發后,也是進入到安全世界EL3的異常向量入口,并在安全世界的EL3層級實現和執行與異常向量關聯的中斷處理函數。這種方式,中斷處理函數的所有執行處于安全世界的EL3安全層級,而安全世界的EL3層級的無法實現OS下的調度和共享內存操作,并且安全世界和非安全世界使用不同的頁表配置,無法滿足非安全世界下OS的相關訪問。
技術實現思路
本專利技術實施例提供一種中斷處理方法及裝置,可以將與安全世界的異常向量表關聯的目標中斷處理函數轉由非安全世界執行,從而實現OS下的調度和共享內存操作,滿足非安全世界下OS的相關訪問。本專利技術實施例第一方面提供了一種中斷處理方法,可包括:當系統代碼在非安全世界運行至目標位置定時產生安全中斷時,獲取安全世界的異常向量表;判斷與所述異常向量表關聯的目標中斷處理函數是否由非安全世界執行;若所述目標中斷處理函數是由非安全世界執行,則控制所述安全世界將所述目標中斷處理函數的地址傳輸至非安全世界;控制所述非安全世界根據所述地址查找所述目標中斷處理函數,并執行所述目標中斷處理函數。基于第一方面,在第一方面的第一種可行的實施方式中,所述目標中斷處理函數的地址為系統通過高級配置與電源接口 ACPI或者同步異常指令傳輸至安全世界的地址。基于第一方面,在第一方面的第二種可行的實施方式中,所述判斷與所述異常向量表關聯的目標中斷處理函數是否由非安全世界執行之前,還包括:獲取與所述異常向量表關聯的目標中斷處理函數的目標中斷號;所述判斷與所述異常向量表關聯的目標中斷處理函數是否由非安全世界執行,包括:根據預先設置的各個中斷號對應的中斷處理函數執行世界類別,判斷所述目標中斷號對應的目標中斷處理函數是否由非安全世界執行;所述執行世界類別包括安全世界執行或者非安全世界執行。基于第一方面的第二種可行的實施方式,在第一方面的第三種可行的實施方式中,所述執行所述目標中斷處理函數之后,還包括:若檢測到所述目標中斷處理函數執行完成,控制所述非安全世界通過安全調用匯編指令向所述安全世界指示所述目標中斷處理函數執行完畢;控制所述安全世界根據預先備份的數據,恢復所述目標位置的上下文數據,并返回至所述非安全世界的所述目標位置繼續執行系統代碼。基于第一方面的第二種可行的實施方式,在第一方面的第四種可行的實施方式中,所述方法還包括:若所述目標中斷號對應的目標中斷處理函數由安全世界執行,則控制所述安全世界調用并執行所述目標中斷處理函數。本專利技術第二方面提供一種中斷處理裝置,包括:第一獲取模塊,用于當系統代碼在非安全世界運行至目標位置定時產生安全中斷時,獲取安全世界的異常向量表;判斷模塊,用于判斷與所述異常向量表關聯的目標中斷處理函數是否由非安全世界執行;第一控制模塊,用于若所述目標中斷處理函數是由非安全世界執行,則控制所述安全世界將所述目標中斷處理函數的地址傳輸至非安全世界;第二控制模塊,用于控制所述非安全世界根據所述地址查找所述目標中斷處理函數,并執行所述目標中斷處理函數。基于第二方面,在第二方面的第一種可行的實施方式中,所述目標中斷處理函數的地址為系統通過高級配置與電源接口 ACPI或者同步異常指令傳輸至安全世界的地址。基于第二方面,在第二方面的第二種可行的實施方式中,所述裝置還包括:第二獲取模塊,用于獲取與所述異常向量表關聯的目標中斷處理函數的目標中斷號;所述判斷模塊具體用于根據預先設置的各個中斷號對應的中斷處理函數執行世界類別,判斷所述目標中斷號對應的目標中斷處理函數是否由非安全世界執行;所述執行世界類別包括安全世界執行或者非安全世界執行。基于第二方面第二種可行的實施方式,在第二方面的第三種可行的實施方式中,所述裝置還包括:第三控制模塊,用于若檢測到所述目標中斷處理函數執行完成,控制所述非安全世界通過安全調用匯編指令向所述安全世界指示所述目標中斷處理函數執行完畢;第四控制模塊,用于控制所述安全世界根據預先備份的數據,恢復所述目標位置的上下文數據,并返回至所述非安全世界的所述目標位置繼續執行系統代碼。基于第二方面第二種可行的實施方式,在第二方面的第四種可行的實施方式中,所述裝置還包括:第五控制模塊,用于若所述目標中斷號對應的目標中斷處理函數由安全世界執行,則控制所述安全世界調用并執行所述目標中斷處理函數。本專利技術實施例中,當系統代碼在非安全世界運行至目標位置定時產生安全中斷時,獲取安全世界的異常向量表,判斷與該異常向量表關聯的目標中斷處理函數是否由非安全世界執行,若該目標中斷處理函數由非安全世界執行,則控制安全世界將目標中斷處理函數的地址傳輸至非安全世界,控制非安全世界根據該地址查找到目標中斷處理函數,并執行該目標中斷處理函數,這種方式可以將與安全世界的異常向量表關聯的目標中斷處理函數轉由非安全世界執行,從而實現OS下的調度和共享內存操作,滿足非安全世界下OS的相關訪問。【附圖說明】為了更清楚地說明本專利技術實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本專利技術實施例提供的一種ARM V8架構示意圖;圖2是本專利技術實施例提供的一種中斷處理方法的流程示意圖;圖3是本專利技術實施例提供的另一種中斷處理方法的流程示意圖;圖4是本專利技術實施例提供的一種結合具體軟件的應用場景示意圖;圖5是本專利技術實施例提供的一種中斷處理裝置的結構示意圖;圖6是本專利技術實施例提供的一種硬件架構示意圖。【具體實施方式】下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實本文檔來自技高網...
【技術保護點】
一種中斷處理方法,其特征在于,包括:當系統代碼在非安全世界運行至目標位置定時產生安全中斷時,獲取安全世界的異常向量表;判斷與所述異常向量表關聯的目標中斷處理函數是否由非安全世界執行;若所述目標中斷處理函數是由非安全世界執行,則控制所述安全世界將所述目標中斷處理函數的地址傳輸至非安全世界;控制所述非安全世界根據所述地址查找所述目標中斷處理函數,并執行所述目標中斷處理函數。
【技術特征摘要】
【專利技術屬性】
技術研發人員:童肇哲,郭和益,李羿,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。