• David S. Miller's avatar
    sparc64: Adjust __raw_local_irq_save() to cooperate in NMIs. · 0c25e9e6
    David S. Miller authored
    If we are in an NMI then doing a plain raw_local_irq_disable() will
    write PIL_NORMAL_MAX into %pil, which is lower than PIL_NMI, and thus
    we'll re-enable NMIs and recurse.
    
    Doing a simple:
    
    	%pil = %pil | PIL_NORMAL_MAX
    
    does what we want, if we're already at PIL_NMI (15) we leave it at
    that setting, else we set it to PIL_NORMAL_MAX (14).
    
    This should get the function tracer working on sparc64.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0c25e9e6
irqflags_64.h 1.82 KB