Gicv2的bypass功能

文摘   2024-09-09 06:15   新加坡  


文章目录

    • 1、gicv2的pass功能

    • 2、gicv1的pass功能



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使用的。

    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中断了

下图是bypass fiq:

2、gicv1的pass功能




ARM研习社
嵌入式软件、C语言、ARM、Linux、内核、驱动、操作系统
 最新文章