• Daniel Hellstrom's avatar
    sparc32: implement SMP IPIs using the generic functions · d6d04819
    Daniel Hellstrom authored
    The current sparc32 SMP IPI generation is implemented the
    cross call function. The cross call function uses IRQ15 the
    NMI, this is has the effect that IPIs will interrupt IRQ
    critical areas and hang the system. Typically on/after
    spin_lock_irqsave calls can be aborted.
    
    The cross call functionality must still exist to flush
    cache/TLBS.
    
    This patch provides CPU models a custom way to implement
    generation of IPIs on the generic code's request. The
    typical approach is to generate an IRQ for each IPI case.
    
    After this patch each sparc32 SMP CPU model needs to
    implement IPIs in order to function properly.
    Signed-off-by: default avatarDaniel Hellstrom <daniel@gaisler.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d6d04819
smp_32.c 10.3 KB