forked from Minki/linux
powerpc/64s/exception: improve 0x500 handler code
After the previous cleanup, it becomes possible to consolidate some common code outside the runtime alternate patching. Also remove unused labels. This results in some code change, but unchanged runtime instruction sequence. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
fc557537f2
commit
80bd9177de
@ -746,32 +746,24 @@ ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_TYPE_RADIX)
|
||||
|
||||
|
||||
EXC_REAL_BEGIN(hardware_interrupt, 0x500, 0x100)
|
||||
.globl hardware_interrupt_hv
|
||||
hardware_interrupt_hv:
|
||||
BEGIN_FTR_SECTION
|
||||
SET_SCRATCH0(r13) /* save r13 */
|
||||
EXCEPTION_PROLOG_0 PACA_EXGEN
|
||||
BEGIN_FTR_SECTION
|
||||
EXCEPTION_PROLOG_1 EXC_HV, PACA_EXGEN, 1, 0x500, IRQS_DISABLED
|
||||
EXCEPTION_PROLOG_2_REAL hardware_interrupt_common, EXC_HV, 1
|
||||
FTR_SECTION_ELSE
|
||||
SET_SCRATCH0(r13) /* save r13 */
|
||||
EXCEPTION_PROLOG_0 PACA_EXGEN
|
||||
EXCEPTION_PROLOG_1 EXC_STD, PACA_EXGEN, 1, 0x500, IRQS_DISABLED
|
||||
EXCEPTION_PROLOG_2_REAL hardware_interrupt_common, EXC_STD, 1
|
||||
ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE | CPU_FTR_ARCH_206)
|
||||
EXC_REAL_END(hardware_interrupt, 0x500, 0x100)
|
||||
|
||||
EXC_VIRT_BEGIN(hardware_interrupt, 0x4500, 0x100)
|
||||
.globl hardware_interrupt_relon_hv
|
||||
hardware_interrupt_relon_hv:
|
||||
BEGIN_FTR_SECTION
|
||||
SET_SCRATCH0(r13) /* save r13 */
|
||||
EXCEPTION_PROLOG_0 PACA_EXGEN
|
||||
BEGIN_FTR_SECTION
|
||||
EXCEPTION_PROLOG_1 EXC_HV, PACA_EXGEN, 1, 0x500, IRQS_DISABLED
|
||||
EXCEPTION_PROLOG_2_VIRT hardware_interrupt_common, EXC_HV
|
||||
FTR_SECTION_ELSE
|
||||
SET_SCRATCH0(r13) /* save r13 */
|
||||
EXCEPTION_PROLOG_0 PACA_EXGEN
|
||||
EXCEPTION_PROLOG_1 EXC_STD, PACA_EXGEN, 1, 0x500, IRQS_DISABLED
|
||||
EXCEPTION_PROLOG_2_VIRT hardware_interrupt_common, EXC_STD
|
||||
ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE)
|
||||
|
Loading…
Reference in New Issue
Block a user