• Cédric Le Goater's avatar
    powerpc/xive: Clear XIVE internal structures when a CPU is removed · cc569398
    Cédric Le Goater authored
    Commit eac1e731 ("powerpc/xive: guest exploitation of the XIVE
    interrupt controller") introduced support for the XIVE exploitation
    mode of the P9 interrupt controller on the pseries platform.
    
    At that time, support for CPU removal was not complete on PowerVM and
    CPU hot unplug remained untested. It appears that some cleanups of the
    XIVE internal structures are required before releasing the CPU,
    without which the kernel crashes in a RTAS call doing the CPU
    isolation.
    
    These changes fix the crash by deconfiguring the IPI interrupt source
    and clearing the event queues of the CPU when it is removed.
    
    Fixes: eac1e731 ("powerpc/xive: guest exploitation of the XIVE interrupt controller")
    Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    cc569398
common.c 37.1 KB