[Skiboot] [PATCH] psi: fix the xive registers initialization on P8
Stewart Smith
stewart at linux.vnet.ibm.com
Mon Dec 19 18:11:06 AEDT 2016
Cédric Le Goater <clg at kaod.org> writes:
> When skiboot initializes PSIHB, it fills the xive registers with
> server=0, prio=0xff. The source (irq) value is left shifted by 29 bits
> and the last two xive registers (irq 4 and 5) are set with a bogus
> value :
>
> write 0x30 val 0x000000ff00000000
> write 0x60 val 0x000000ff20000000
> write 0x68 val 0x000000ff40000000
> write 0x70 val 0x000000ff60000000
> write 0x78 val 0xffffffff80000000
> write 0x80 val 0xffffffffa0000000
>
> which seems to be fine for real HW but causes a lof of pain under
> qemu.
>
> Let's use an 'unsigned' type to initialize the xive registers and also
> use a loop on the PSI irq numbers, like it is done in psi_cleanup_irq.
>
> Signed-off-by: Cédric Le Goater <clg at kaod.org>
looks good, simplifies things, great!
Merged to master as of e44f3be
--
Stewart Smith
OPAL Architect, IBM.
More information about the Skiboot
mailing list