baron · 3月24日 · 四川

有关一则中断虚拟化的思考

快速连接

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


 title=

思考

不考虑EL3的场景ia,在IMO=1的场景下(physical irq直接target到EL2了)。如果EL1想处理中断,那么必需是EL2转发过来,总之是要经过EL2绕一圈的。
在某些场景下,这非常符合我们使用的需求,因为你确实有多个VM嘛,确实需要让中断进入EL2仲裁。但是部分VM就会提出一种需求:它需要一种快速相应中断的场景,在该场景下中断需要直接target EL1,它去响应处理。

再次总结一下上面的需求就是: 大多数中断仍就是target到EL2,特定的中断target到EL1

在这里插入图片描述

实现

利用gic的affinity机制,将特定的中断绑在特定的核上(例如绑在cpu7上)。在中断路由配置的时候,配置cpu0-cpu6的target到EL2,配置cpu7的target到EL1。 这样的话,只要特定中断一来,cpu7就能在EL1快速响应该中断。

但值得注意的是:您需要保证cpu7只运行在你那个特定的VM上。


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

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