• Mohan Kumar M's avatar
    [POWERPC] Fix interrupt distribution in ppc970 · 7ccb4a66
    Mohan Kumar M authored
    In some of the PPC970 based systems, interrupt would be distributed to
    offline cpus also even when booted with "maxcpus=1".  So check whether
    cpu online map and cpu present map are equal or not.  If they are equal
    default_distrib_server is used as interrupt server otherwise boot cpu
    (default_server) used as interrupt server.
    
    In addition to this, if an interrupt is assigned to a specific cpu (ie
    smp affinity) and if that cpu is not online, the earlier code used to
    return the default_distrib_server as interrupt server.  This
    introduces an additional parameter to the get_irq function, called
    strict_check.  Based on this parameter, if the cpu is not online
    either default_distrib_server or -1 is returned.
    Signed-off-by: default avatarMohan Kumar M <mohan@in.ibm.com>
    Cc: Michael Ellerman <michael@ellerman.id.au>
    Acked-by: default avatarMilton Miller <miltonm@bga.com>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    7ccb4a66
xics.c 20.3 KB