baron · 3月24日 · 四川

[gic]-中断虚拟化-Host和Guest的中断处理流程举例(gicv3举例)

快速连接

👉👉👉【精选】ARMv8/ARMv9架构入门到精通-目录 👈👈👈


 title=
背景:
随着时代的发展、科技的进步,安全需求的趋势也越来越明显,ARM也一直在调整和更新其新架构,很多都是和安全相关的。
如下列出了一些和安全相关的架构
在这里插入图片描述
,其中:

  • ARMV8.1 支持了VHE
  • ARMV8.4支持了S-EL2

作为一名安全领域的<font color=red size=4>渣渣</font> ,有必要去学习虚拟化技术,因为它也属于ARM安全架构的一部分。而<font color=blue size=3>异常/中断</font>做为架构中的灵魂,我们不得不去深入研究...


正文
影响中断routing的相关控制位主要是HCR_EL2.IMO/FMO/AMO(本文只探讨irq/virq,所以我们只看IMO比特位),除此之外还有HCR_EL2.TGE比特位影响Application是做为Host还是Guest.

以下是这些比特位的路由规则的总结:
在这里插入图片描述

我们学习了其原理之后,我们再看4个示例:
(1)、HCR_EL2.IMO=1 , HCR_EL2.TGE=1 --<font color=blue size=4>routing到EL2,Application做为Guest</font>
在这里插入图片描述

(2)、HCR_EL2.IMO=1 , HCR_EL2.TGE=0 --<font color=blue size=4>routing到EL2,Application做为Host</font>
在这里插入图片描述

(3)、HCR_EL2.IMO=0 , HCR_EL2.TGE=1 --<font color=blue size=4>routing到EL1,Application做为Guest</font>
在这里插入图片描述

(4)、HCR_EL2.IMO=0 , HCR_EL2.TGE=0 --<font color=blue size=4>routing到EL1,Application做为host</font>

在这里插入图片描述

关注"Arm精选"公众号,备注进ARM交流讨论区。
图片1.png

推荐阅读
关注数
9466
内容数
212
以易懂、渐进、有序的方式,深入探讨ARMv8/ARMv9架构的核心概念。我们将从基础知识开始,逐步深入,覆盖最新的架构,不再纠缠于过时技术。本系列内容包含但不限于ARM基础、SOC芯片基础、Trustzone、gic、异常和中断、AMBA、Cache、MMU等内容,并将持续更新。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息