request_irq not working.. what else should I do?

Chan Kim ckim at
Mon Apr 4 10:16:14 EDT 2022


When I register interrupt handler in arm64 machine, I use request_irq( )
function defined below.
(on ubuntu 20.04 on qemu arm64 virtual machine)

static inline int __must_check
request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
        const char *name, void *dev)
    return request_threaded_irq(irq, handler, NULL, flags, name, dev);

I found even though I registered the handler for arm64 SPI (shared
peripheral interrupt) 176, it is not generating interrupt in the qemu
virtual machine. The OS should set the priority and enable it in the
interrupt controller but it doesn't work. That's what OS is for, isn't it?
But when I follow the qemu code, in the distributor stage, it says there is
no pending interrupt.
How can I set the interrupt priority using request_irq function above? 

Thank you!
Chan Kim

More information about the Kernelnewbies mailing list