Arm 虛擬中斷

2021-08-10 05:00:47 字數 486 閱讀 5413

虛擬中斷與物理中斷的對映:

1)當kvm向vm注入乙個虛擬中斷時,中斷資訊儲存在lr暫存器中,包含了中斷號、中斷優先順序、中斷狀態(activate、pending)等資訊

2)lr裡還有乙個hw標誌位資訊,hw置為1時,lr暫存器中會加入相應的物理終端號資訊,這樣在vm裡deactivate乙個虛擬中斷時會同步deactivate對應的物理中斷;

struct vgic_v3_cpu_if ;

中斷處理流程:

1:建立虛擬中斷與物理中斷的對映關係(再確認下??)

2:收到中斷,被el2捕獲(可以通過設定hcr_el2的imo、fmo,讓中斷直通到vm,預設是會路由到el2);

3:el2將vm拉回到host;

4:重新使能中斷(local_irq_enable),進入host的物理中斷處理函式;

5:在物理中斷處理函式中向vm注入虛擬中斷;

(未完待續。。。)

ARM中斷筆記

一 arm體系cpu有以下7種工作模式 1 使用者模式 usr 正常的程式執行模式。不能直接切換到其他模式 2 系統模式 sys 執行作業系統的特權任務。與使用者模式類似,但具有直接切換到其他模式等特權 3 快速中斷模式 fiq 支援高速資料傳輸以及通道處理。fiq異常響應時進入此模式 4 中斷模式...

arm中斷保護和恢復 ARM的中斷處理 一

前面的文章介紹了linux的中斷處理機制,而作業系統的中斷處理是和硬體的中斷控制器緊密相關的,本文將以arm這樣乙個具體的處理器為例,講解硬體層面對中斷的支援。arm的中斷控制器被稱為gic generic interrupt controller 最開始的v1版本最多支援8個pe和1020個中斷源...

arm中斷保護和恢復 ARM中斷異常處理的返回

舉個小例子,下面是一段arm彙編 0x3000bl add 0x3004mov r0,0 0x3008mov r1,1 0x300cmov r2,2 area test,code,readonly entry start mov r0,1 mov r1,1 bl add mov r0,0 mov r...