Le 12/12/20 à 3:41 PM, Peter Maydell a écrit :
Currently the GRLIB_IRQMP device is used in one place (the leon3 board), but instead of the device providing inbound gpio lines for the board to wire up, the board code itself calls qemu_allocate_irqs() with the handler function being a set_irq function defined in the code for the device. Patch one in this series refactors this into the standard setup of a device having input gpio lines. The main motivation here is that it squashes a trivial Coverity memory leak warning. Patch two just removes a stray unused typedef that I noticed in passing. Incidentally I suspect the irqmp_ack logic could also be done more neatly, but I didn't feel like getting into that at this point.
Indeed, and I've some cleanup patches for that, but never had time to submit them. Hopefully sometime in 2021 :). Cheers, Fred
Tested by booting the 'buildroot' image downloadable from https://www.gaisler.com/anonftp/linux/linux-2.6/images/leon-linux-4.9/leon-linux-4.9-1.0/up/ and runnable with ./build/sparc-all/qemu-system-sparc -M leon3_generic -display none -serial stdio -kernel image.ram thanks -- PMM Peter Maydell (2): hw/sparc: Make grlib-irqmp device handle its own inbound IRQ lines include/hw/sparc/grlib.h: Remove unused set_pil_in_fn typedef include/hw/sparc/grlib.h | 4 ---- hw/intc/grlib_irqmp.c | 5 ++++- hw/sparc/leon3.c | 21 +++++++++------------ 3 files changed, 13 insertions(+), 17 deletions(-)