mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 02:02:28 +09:00
powerpc: Remove KVMTEST from RELON exception handlers
commitc9f69518e5upstream. KVMTEST is a macro which checks whether we are taking an exception from guest context, if so we branch out of line and eventually call into the KVM code to handle the switch. When running real guests on bare metal (HV KVM) the hardware ensures that we never take a relocation on exception when transitioning from guest to host. For PR KVM we disable relocation on exceptions ourself in kvmppc_core_init_vm(), as of commita413f47"Disable relocation on exceptions whenever PR KVM is active". So convert all the RELON macros to use NOTEST, and drop the remaining KVM_HANDLER() definitions we have for 0xe40 and 0xe80. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
497f095743
commit
77d8caacd2
@@ -358,12 +358,12 @@ label##_relon_pSeries: \
|
||||
/* No guest interrupts come through here */ \
|
||||
SET_SCRATCH0(r13); /* save r13 */ \
|
||||
EXCEPTION_RELON_PROLOG_PSERIES(PACA_EXGEN, label##_common, \
|
||||
EXC_STD, KVMTEST_PR, vec)
|
||||
EXC_STD, NOTEST, vec)
|
||||
|
||||
#define STD_RELON_EXCEPTION_PSERIES_OOL(vec, label) \
|
||||
.globl label##_relon_pSeries; \
|
||||
label##_relon_pSeries: \
|
||||
EXCEPTION_PROLOG_1(PACA_EXGEN, KVMTEST_PR, vec); \
|
||||
EXCEPTION_PROLOG_1(PACA_EXGEN, NOTEST, vec); \
|
||||
EXCEPTION_RELON_PROLOG_PSERIES_1(label##_common, EXC_STD)
|
||||
|
||||
#define STD_RELON_EXCEPTION_HV(loc, vec, label) \
|
||||
@@ -374,12 +374,12 @@ label##_relon_hv: \
|
||||
/* No guest interrupts come through here */ \
|
||||
SET_SCRATCH0(r13); /* save r13 */ \
|
||||
EXCEPTION_RELON_PROLOG_PSERIES(PACA_EXGEN, label##_common, \
|
||||
EXC_HV, KVMTEST, vec)
|
||||
EXC_HV, NOTEST, vec)
|
||||
|
||||
#define STD_RELON_EXCEPTION_HV_OOL(vec, label) \
|
||||
.globl label##_relon_hv; \
|
||||
label##_relon_hv: \
|
||||
EXCEPTION_PROLOG_1(PACA_EXGEN, KVMTEST, vec); \
|
||||
EXCEPTION_PROLOG_1(PACA_EXGEN, NOTEST, vec); \
|
||||
EXCEPTION_RELON_PROLOG_PSERIES_1(label##_common, EXC_HV)
|
||||
|
||||
/* This associate vector numbers with bits in paca->irq_happened */
|
||||
|
||||
@@ -1175,9 +1175,7 @@ __end_handlers:
|
||||
|
||||
/* Equivalents to the above handlers for relocation-on interrupt vectors */
|
||||
STD_RELON_EXCEPTION_HV_OOL(0xe40, emulation_assist)
|
||||
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe40)
|
||||
MASKABLE_RELON_EXCEPTION_HV_OOL(0xe80, h_doorbell)
|
||||
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe80)
|
||||
|
||||
STD_RELON_EXCEPTION_PSERIES_OOL(0xf00, performance_monitor)
|
||||
STD_RELON_EXCEPTION_PSERIES_OOL(0xf20, altivec_unavailable)
|
||||
|
||||
Reference in New Issue
Block a user