Search code examples
interruptcortex-a

i.MX6Q Core3's IRQ can not be triggered


all

I'm porting an RTOS to i.MX6Qual machine, the basic job has been done, threads can run on all 4 cores.

But, Core3 IRQ handler will not be triggered at some time :(

I have read the GIC manual and dump GIC interface registers, show below. and the ICCRPR & ICCHPIR value confused me, why ICCIAR=0x3FF while ICCRPR = 0 :

ICCICR = 1
ICCPMR = F8
ICCBPR = 2
ICCIAR = 3FF            // ack
ICCEOIR = 0
ICCRPR = 0              // running priority
ICCHPIR = 0             // highest priority pending
ICCABPR = 3
ICCIIDR = 3901243B

Solution

  • ack SGI through EOI with the unmatched Core ID will cause this problem

    Cortex-A9 SMP GICC_RPR always be 0, interrupt not triggered