快速连接
👉👉👉【精选】ARMv8/ARMv9架构入门到精通-目录 👈👈👈
思考
不考虑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交流讨论区。