1、gicv2的pass功能

giv2使用的三种配置:

  • Bypass Indicates that the IRQ signal to the processor is driven by the legacy IRQ signal.
  • Deasserted Indicates that the IRQ signal to the processor is deasserted.
  • Driven by GIC Indicates that the IRQ signal to the processor is driven by the GIC CPU interface logic
    bypass旁路功能,其实就是让整个gic无效掉,这里其实是给第三方的中断控制器输出的FIQ IRQ使用的。
    gicv2的bypass功能
    giv2 bypass的控制位
    背景 : 在gicv2架构上,irq是给REE用的,fiq是给TEE用的。
    当cpu运行在TEE时,来了一个IRQ中断,此时在TEE的中断向量表中会毫无条件的将cpu切换等到REE中,REE处理完这个中断再将cpu切回来…

需求: 例如这样的一个需求:cpu运行在TEE时,来了一个IRQ中断,我不想让IRQ打断TEE而切回到REE处理,那么我们就可以在TEE中bypass irq。

如下图中红框部分所示,GICC_CTLR寄存器是banked的,我们在TEE中配置该寄存器时,EnableGrp1=0,Enable Grp0=1,FIQEn=1,然后就可以bypass所有的TEE IRQ中断了
gicv2的bypass功能
下图是bypass fiq:
gicv2的bypass功能

2、gicv1的pass功能

gicv2的bypass功能
gicv2的bypass功能

相关文章:

  • 2021-11-26
  • 2021-12-04
  • 2021-12-06
  • 2021-11-02
  • 2021-09-22
  • 2022-03-11
  • 2022-12-23
猜你喜欢
  • 2021-10-26
  • 2021-09-10
  • 2021-06-23
  • 2021-12-06
  • 2022-12-23
相关资源
相似解决方案