微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

aarch64从EL3中的EL1执行IRQ

如何解决aarch64从EL3中的EL1执行IRQ

如果在EL1上下文中触发了IRQ,是否可以在EL3(安全监视器)中执行IRQ?例如。我通过spsr_el3(选择了el1h)输入了EL1,然后用vbar_el1设置了一个向量表。现在,我想在EL3模式下执行一些IRQ。我该怎么办?

解决方法

您想要的称为“物理IRQ路由”,并通过scr_el3进行控制。来自the manual

IRQ,bit [1]

        Physical IRQ Routing.

        0b0     When executing at Exception levels below EL3,physical IRQ
                interrupts are not taken to EL3.
                When executing at EL3,physical IRQ interrupts are not taken.

        0b1     When executing at any Exception level,physical IRQ interrupts
                are taken to EL3. 

如果您只想在EL3上处理一些 IRQ,而将其他的留给EL1,则只需设置以下内容即可在EL3异常向量中进行处理:

  • spsr_el1spsr_el3
  • elr_el1elr_el3
  • elr_el3vbar_el1加上0x80 / 0x280 / 0x480 / 0x680中的一个,具体取决于{{1}中的状态位}。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。