討論關於virtual gic的硬體實做

81 views
Skip to first unread message

Gavin Guo

unread,
Dec 12, 2012, 9:38:57 AM12/12/12
to tw-linux-kernel-hacker
Hi all,

最近在看virtual exceptions 搞的不是很懂。我在看的是DDI0406C_arm_architecture_reference_manual。
p.1177  Determining the mode to which the IRQ exception is taken
p. 1194 B1.8.11 Virtual exceptions in the Virtualization Extensions
這兩個地方敘述的virtual interrupt的走法我覺得和IHI0048B_gic_architecture_specification  p.157裏面畫的圖兜不太起來。我覺得奇怪的是arm architecture spec p.1177的畫法看起來physical IRQ exception 一進來到最後HCR.IMO != 1 -->  SCTLR.VE !=1 最後就會進入 Non-secure IRQ mode,也就是所謂guest OS 的 IRQ mode。看來就是按照CPU本身並不需要外來的GIC interrupt controller輔助就可以達成vIRQ的功能。那為何在GIC本身(p.157)還需要先進入到Hypervisor mode在去設定link register再去trigger一次vIRQ,才能再發出vIRQ?  

為了方便討論我把spec放在:

Gavin

Gavin Guo

unread,
Dec 12, 2012, 10:02:37 AM12/12/12
to tw-linux-kernel-hacker
剛剛那個有筆誤,gic spec上面update的是List Registers不是link registers。
Reply all
Reply to author
Forward
0 new messages