Commit 1d567cb4 authored by Michael Ellerman's avatar Michael Ellerman Committed by Benjamin Herrenschmidt

powerpc: Remove unreachable relocation on exception handlers

We have relocation on exception handlers defined for h_data_storage and
h_instr_storage. However we will never take relocation on exceptions for
these because they can only come from a guest, and we never take
relocation on exceptions when we transition from guest to host.

We also have a handler for hmi_exception (Hypervisor Maintenance) which
is defined in the architecture to never be delivered with relocation on,
see see v2.07 Book III-S section 6.5.

So remove the handlers, leaving a branch to self just to be double extra
paranoid.
Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
CC: <stable@vger.kernel.org> [v3.9+]
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent dd023217
...@@ -793,14 +793,10 @@ system_call_relon_pSeries: ...@@ -793,14 +793,10 @@ system_call_relon_pSeries:
STD_RELON_EXCEPTION_PSERIES(0x4d00, 0xd00, single_step) STD_RELON_EXCEPTION_PSERIES(0x4d00, 0xd00, single_step)
. = 0x4e00 . = 0x4e00
SET_SCRATCH0(r13) b . /* Can't happen, see v2.07 Book III-S section 6.5 */
EXCEPTION_PROLOG_0(PACA_EXGEN)
b h_data_storage_relon_hv
. = 0x4e20 . = 0x4e20
SET_SCRATCH0(r13) b . /* Can't happen, see v2.07 Book III-S section 6.5 */
EXCEPTION_PROLOG_0(PACA_EXGEN)
b h_instr_storage_relon_hv
. = 0x4e40 . = 0x4e40
SET_SCRATCH0(r13) SET_SCRATCH0(r13)
...@@ -808,9 +804,7 @@ system_call_relon_pSeries: ...@@ -808,9 +804,7 @@ system_call_relon_pSeries:
b emulation_assist_relon_hv b emulation_assist_relon_hv
. = 0x4e60 . = 0x4e60
SET_SCRATCH0(r13) b . /* Can't happen, see v2.07 Book III-S section 6.5 */
EXCEPTION_PROLOG_0(PACA_EXGEN)
b hmi_exception_relon_hv
. = 0x4e80 . = 0x4e80
SET_SCRATCH0(r13) SET_SCRATCH0(r13)
...@@ -1180,14 +1174,8 @@ tm_unavailable_common: ...@@ -1180,14 +1174,8 @@ tm_unavailable_common:
__end_handlers: __end_handlers:
/* Equivalents to the above handlers for relocation-on interrupt vectors */ /* Equivalents to the above handlers for relocation-on interrupt vectors */
STD_RELON_EXCEPTION_HV_OOL(0xe00, h_data_storage)
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe00)
STD_RELON_EXCEPTION_HV_OOL(0xe20, h_instr_storage)
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe20)
STD_RELON_EXCEPTION_HV_OOL(0xe40, emulation_assist) STD_RELON_EXCEPTION_HV_OOL(0xe40, emulation_assist)
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe40) KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe40)
STD_RELON_EXCEPTION_HV_OOL(0xe60, hmi_exception)
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe60)
MASKABLE_RELON_EXCEPTION_HV_OOL(0xe80, h_doorbell) MASKABLE_RELON_EXCEPTION_HV_OOL(0xe80, h_doorbell)
KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe80) KVM_HANDLER(PACA_EXGEN, EXC_HV, 0xe80)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment