powerpc: Remove misleading DISABLE_INTS
DISABLE_INTS has a long and storied history, but for some time now it has not actually disabled interrupts. For the open-coded exception handlers, just stop using it, instead call RECONCILE_IRQ_STATE directly. This has the benefit of removing a level of indirection, and making it clear that r10 & r11 are used at that point. For the addition case we still need a macro, so rename it to clarify what it actually does. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
committed by
Benjamin Herrenschmidt
parent
a1d711c53f
commit
9daf112bd4
@ -513,8 +513,11 @@ label##_relon_hv: \
|
||||
* runlatch, etc...
|
||||
*/
|
||||
|
||||
/* Exception addition: Hard disable interrupts */
|
||||
#define DISABLE_INTS RECONCILE_IRQ_STATE(r10,r11)
|
||||
/*
|
||||
* This addition reconciles our actual IRQ state with the various software
|
||||
* flags that track it. This may call C code.
|
||||
*/
|
||||
#define ADD_RECONCILE RECONCILE_IRQ_STATE(r10,r11)
|
||||
|
||||
#define ADD_NVGPRS \
|
||||
bl save_nvgprs
|
||||
@ -540,7 +543,7 @@ label##_common: \
|
||||
|
||||
#define STD_EXCEPTION_COMMON(trap, label, hdlr) \
|
||||
EXCEPTION_COMMON(trap, label, hdlr, ret_from_except, \
|
||||
ADD_NVGPRS;DISABLE_INTS)
|
||||
ADD_NVGPRS;ADD_RECONCILE)
|
||||
|
||||
/*
|
||||
* Like STD_EXCEPTION_COMMON, but for exceptions that can occur
|
||||
@ -549,7 +552,7 @@ label##_common: \
|
||||
*/
|
||||
#define STD_EXCEPTION_COMMON_ASYNC(trap, label, hdlr) \
|
||||
EXCEPTION_COMMON(trap, label, hdlr, ret_from_except_lite, \
|
||||
FINISH_NAP;DISABLE_INTS;RUNLATCH_ON)
|
||||
FINISH_NAP;ADD_RECONCILE;RUNLATCH_ON)
|
||||
|
||||
/*
|
||||
* When the idle code in power4_idle puts the CPU into NAP mode,
|
||||
|
Reference in New Issue
Block a user