Hi, I am attempting to generate an external interrupt from bare metal code I've written. The system I am emulating is something I've developed on my own for experimentation. The system has a very simple interrupt controller that I've written which would call qemu_set_irq() when a certain memory address is written into. The program running on the system simply writes into that memory address to set off the interrupt.
The program running performs as expected and qemu_set_irq() is called. I turned on the interrupt log messages to see what I was getting: ppc6xx_set_irq: env 0x7f93319cc290 pin 5 level 1 ppc6xx_set_irq: set the external IRQ state to 1 ppc_set_irq: 0x7f93319cc290 n_IRQ 3 level 1 => pending 00000008req 00000002 It seems like the internal QEMU interrupt handler is being called but the interrupt is not jumping to the desired external interrupt address. I am currently using GDB to determine if the interrupt is set off or not. I've also made sure that my bare metal program enables external interrupt bit in the machine state register. Any suggestions or advice would be great. Thanks!