Register an interrupt handler with multiple input variables (using microblaze_register_handler)
Is it correct to register an interrupt handler with multiple input vairables using microblaze_register_handler? For example, if my interrupt handler is int_handle(DMA *d1, UART *u1), can I registe it through microblaze_register_handler((XInterruptHandler)interrupt_proc, (void *)0)? How will the compiler process DMA *d1 and UART *u1? Thanks much.
Yes, you can do this. you can connect an interrupt controller to your Microblaze. When registering your interrupt, you pass a 32 bit mask. so you can register 32 interrupts to the same handler if you wish, and handle this in your handler (ie ACK the correct bit)
Have a look at the examples in the driver for the interrupt controller. These are simple examples that you can modify to suit your design needs: