I'm testing GIC and ARM A53 connectivity. I can see that GIC is forwarding the IRQ request and ARM core has received it(shows in ISR reg). However, my IRQ handler is not getting called. Here is how I'm registering it..
void main () { ... __enable_irq(); ... } __irq void irqHandler(void) { printf("Hello from the IRQ handler\n"); ... }
void main () {
...
__enable_irq();
}
__irq void irqHandler(void) {
printf("Hello from the IRQ handler\n");
The SPSR value looks as expected, and it looks like you took the IRQ. Meaning execution should have jumped to "VBAR_EL3 + 0x280", which is the IRQ vector for coming from same EL with ELx selected. But you see it jumpt to "VBAR_EL3 + 0x200" when you stepped to (5)?
Hi Martin. Finally got it working! I was missing a "ALIGN 128" directive at starting of the vector table(as you can see in the code snippet above). It was your last reply that hinted me to check.
Thanks a lot for walking me through this.