Re: [PATCH v2] powerpc/xive: Add some error handling code to 'xive_spapr_init()'
From: Cédric Le Goater
Date: Tue Feb 01 2022 - 09:23:46 EST
On 2/1/22 13:31, Christophe JAILLET wrote:
'xive_irq_bitmap_add()' can return -ENOMEM.
In this case, we should free the memory already allocated and return
'false' to the caller.
Also add an error path which undoes the 'tima = ioremap(...)'
Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
Reviewed-by: Cédric Le Goater <clg@xxxxxxxx>
---
NOT compile tested (I don't have a cross compiler and won't install one).
So if some correction or improvement are needed, feel free to propose and
commit it directly.
A cross compiler takes a couple of seconds to install on any distro.
It takes a little more to compile the pseries defconfig. To test with
QEMU, grab the disk image here :
https://github.com/legoater/qemu-ppc-boot/blob/main/buildroot/qemu_ppc64le_pseries-2021.11-7-g3058e75456-20211206
run :
qemu-system-ppc64 -M pseries -cpu POWER9 -kernel vmlinux -append "console=hvc0 rootwait root=/dev/sda" -drive file=rootfs.ext2,if=scsi,index=0,format=raw -nographic -net nic -net user -serial mon:stdio
and you will have a pseries machine with network and disk using the
XIVE interrupt controller.
To get more info on the genirq layer and the XIVE driver, simply
append :
dyndbg="file arch/powerpc/sysdev/xive/* +p; file kernel/irq/* +p"
Thanks,
C.