[PATCH 11/14] powerpc/pseries: use single macro for both parts of OOL exception
From: Nicholas Piggin <hidden>
Date: 2016-07-21 06:45:17
Subsystem:
linux for powerpc (32-bit and 64-bit), the rest · Maintainers:
Madhavan Srinivasan, Michael Ellerman, Linus Torvalds
Simple substitution. Signed-off-by: Nick Piggin <npiggin@gmail.com> --- arch/powerpc/kernel/exceptions-64s.S | 53 ++++++++++++------------------------ 1 file changed, 17 insertions(+), 36 deletions(-)
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 7893af7..9832765 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S@@ -766,8 +766,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_TM) COMMON_HANDLER_END(fp_unavailable_common) -__VECTOR_HANDLER_REAL_OOL_MASKABLE(decrementer, 0x900, 0x980) -__TRAMP_HANDLER_REAL_OOL_MASKABLE(decrementer, 0x900) +VECTOR_HANDLER_REAL_OOL_MASKABLE(decrementer, 0x900, 0x980) VECTOR_HANDLER_VIRT_MASKABLE(decrementer, 0x4900, 0x4980, 0x900) TRAMP_KVM(PACA_EXGEN, 0x900) COMMON_HANDLER_ASYNC(decrementer_common, 0x900, timer_interrupt)
@@ -891,8 +890,7 @@ VECTOR_HANDLER_VIRT(single_step, 0x4d00, 0x4e00, 0xd00) TRAMP_KVM(PACA_EXGEN, 0xd00) COMMON_HANDLER(single_step_common, 0xd00, single_step_exception) -__VECTOR_HANDLER_REAL_OOL_HV(h_data_storage, 0xe00, 0xe20) -__TRAMP_HANDLER_REAL_OOL_HV(h_data_storage, 0xe00) +VECTOR_HANDLER_REAL_OOL_HV(h_data_storage, 0xe00, 0xe20) VECTOR_HANDLER_VIRT_BEGIN(unused, 0x4e00, 0x4e20) b . /* Can't happen, see v2.07 Book III-S section 6.5 */ VECTOR_HANDLER_VIRT_END(unused, 0x4e00, 0x4e20)
@@ -912,8 +910,7 @@ COMMON_HANDLER_END(h_data_storage_common) COMMON_HANDLER(trap_0e_common, 0xe00, unknown_exception) -__VECTOR_HANDLER_REAL_OOL_HV(h_instr_storage, 0xe20, 0xe40) -__TRAMP_HANDLER_REAL_OOL_HV(h_instr_storage, 0xe20) +VECTOR_HANDLER_REAL_OOL_HV(h_instr_storage, 0xe20, 0xe40) VECTOR_HANDLER_VIRT_BEGIN(unused, 0x4e20, 0x4e40) b . /* Can't happen, see v2.07 Book III-S section 6.5 */ VECTOR_HANDLER_VIRT_END(unused, 0x4e20, 0x4e40)
@@ -921,16 +918,13 @@ TRAMP_KVM_HV(PACA_EXGEN, 0xe20) COMMON_HANDLER(h_instr_storage_common, 0xe20, unknown_exception) -__VECTOR_HANDLER_REAL_OOL_HV(emulation_assist, 0xe40, 0xe60) -__TRAMP_HANDLER_REAL_OOL_HV(emulation_assist, 0xe40) -__VECTOR_HANDLER_VIRT_OOL_HV(emulation_assist, 0x4e40, 0x4e60) -__TRAMP_HANDLER_VIRT_OOL_HV(emulation_assist, 0xe40) +VECTOR_HANDLER_REAL_OOL_HV(emulation_assist, 0xe40, 0xe60) +VECTOR_HANDLER_VIRT_OOL_HV(emulation_assist, 0x4e40, 0x4e60, 0xe40) TRAMP_KVM_HV(PACA_EXGEN, 0xe40) COMMON_HANDLER(emulation_assist_common, 0xe40, emulation_assist_interrupt) __VECTOR_HANDLER_REAL_OOL_HV_DIRECT(hmi_exception, 0xe60, 0xe80, hmi_exception_early) -__TRAMP_HANDLER_REAL_OOL_MASKABLE_HV(hmi_exception, 0xe60) VECTOR_HANDLER_VIRT_BEGIN(unused, 0x4e60, 0x4e80) b . /* Can't happen, see v2.07 Book III-S section 6.5 */ VECTOR_HANDLER_VIRT_END(unused, 0x4e60, 0x4e80)
@@ -987,10 +981,8 @@ COMMON_HANDLER_END(hmi_exception_early) COMMON_HANDLER_ASYNC(hmi_exception_common, 0xe60, handle_hmi_exception) -__VECTOR_HANDLER_REAL_OOL_MASKABLE_HV(h_doorbell, 0xe80, 0xea0) -__TRAMP_HANDLER_REAL_OOL_MASKABLE_HV(h_doorbell, 0xe80) -__VECTOR_HANDLER_VIRT_OOL_MASKABLE_HV(h_doorbell, 0x4e80, 0x4ea0) -__TRAMP_HANDLER_VIRT_OOL_MASKABLE_HV(h_doorbell, 0xe80) +VECTOR_HANDLER_REAL_OOL_MASKABLE_HV(h_doorbell, 0xe80, 0xea0) +VECTOR_HANDLER_VIRT_OOL_MASKABLE_HV(h_doorbell, 0x4e80, 0x4ea0, 0xe80) TRAMP_KVM_HV(PACA_EXGEN, 0xe80) #ifdef CONFIG_PPC_DOORBELL COMMON_HANDLER_ASYNC(h_doorbell_common, 0xe80, doorbell_exception)
@@ -1003,18 +995,14 @@ VECTOR_HANDLER_REAL_NONE(0xea0, 0xf00) VECTOR_HANDLER_VIRT_NONE(0x4ea0, 0x4f00) -__VECTOR_HANDLER_REAL_OOL(performance_monitor, 0xf00, 0xf20) -__TRAMP_HANDLER_REAL_OOL(performance_monitor, 0xf00) -__VECTOR_HANDLER_VIRT_OOL(performance_monitor, 0x4f00, 0x4f20) -__TRAMP_HANDLER_VIRT_OOL(performance_monitor, 0xf00) +VECTOR_HANDLER_REAL_OOL(performance_monitor, 0xf00, 0xf20) +VECTOR_HANDLER_VIRT_OOL(performance_monitor, 0x4f00, 0x4f20, 0xf00) TRAMP_KVM(PACA_EXGEN, 0xf00) COMMON_HANDLER_ASYNC(performance_monitor_common, 0xf00, performance_monitor_exception) -__VECTOR_HANDLER_REAL_OOL(altivec_unavailable, 0xf20, 0xf40) -__TRAMP_HANDLER_REAL_OOL(altivec_unavailable, 0xf20) -__VECTOR_HANDLER_VIRT_OOL(altivec_unavailable, 0x4f20, 0x4f40) -__TRAMP_HANDLER_VIRT_OOL(altivec_unavailable, 0xf20) +VECTOR_HANDLER_REAL_OOL(altivec_unavailable, 0xf20, 0xf40) +VECTOR_HANDLER_VIRT_OOL(altivec_unavailable, 0x4f20, 0x4f40, 0xf20) TRAMP_KVM(PACA_EXGEN, 0xf20) COMMON_HANDLER_BEGIN(altivec_unavailable_common) EXCEPTION_PROLOG_COMMON(0xf20, PACA_EXGEN)
@@ -1051,11 +1039,8 @@ END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) COMMON_HANDLER_END(altivec_unavailable_common) - -__VECTOR_HANDLER_REAL_OOL(vsx_unavailable, 0xf40, 0xf60) -__TRAMP_HANDLER_REAL_OOL(vsx_unavailable, 0xf40) -__VECTOR_HANDLER_VIRT_OOL(vsx_unavailable, 0x4f40, 0x4f60) -__TRAMP_HANDLER_VIRT_OOL(vsx_unavailable, 0xf40) +VECTOR_HANDLER_REAL_OOL(vsx_unavailable, 0xf40, 0xf60) +VECTOR_HANDLER_VIRT_OOL(vsx_unavailable, 0x4f40, 0x4f60, 0xf40) TRAMP_KVM(PACA_EXGEN, 0xf40) COMMON_HANDLER_BEGIN(vsx_unavailable_common) EXCEPTION_PROLOG_COMMON(0xf40, PACA_EXGEN)
@@ -1091,18 +1076,14 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX) COMMON_HANDLER_END(vsx_unavailable_common) -__VECTOR_HANDLER_REAL_OOL(facility_unavailable, 0xf60, 0xf80) -__TRAMP_HANDLER_REAL_OOL(facility_unavailable, 0xf60) -__VECTOR_HANDLER_VIRT_OOL(facility_unavailable, 0x4f60, 0x4f80) -__TRAMP_HANDLER_VIRT_OOL(facility_unavailable, 0xf60) +VECTOR_HANDLER_REAL_OOL(facility_unavailable, 0xf60, 0xf80) +VECTOR_HANDLER_VIRT_OOL(facility_unavailable, 0x4f60, 0x4f80, 0xf60) TRAMP_KVM(PACA_EXGEN, 0xf60) COMMON_HANDLER(facility_unavailable_common, 0xf60, facility_unavailable_exception) -__VECTOR_HANDLER_REAL_OOL_HV(h_facility_unavailable, 0xf80, 0xfa0) -__TRAMP_HANDLER_REAL_OOL_HV(h_facility_unavailable, 0xf80) -__VECTOR_HANDLER_VIRT_OOL_HV(h_facility_unavailable, 0x4f80, 0x4fa0) -__TRAMP_HANDLER_VIRT_OOL_HV(h_facility_unavailable, 0xf80) +VECTOR_HANDLER_REAL_OOL_HV(h_facility_unavailable, 0xf80, 0xfa0) +VECTOR_HANDLER_VIRT_OOL_HV(h_facility_unavailable, 0x4f80, 0x4fa0, 0xf80) TRAMP_KVM_HV(PACA_EXGEN, 0xf80) COMMON_HANDLER(h_facility_unavailable_common, 0xf80, facility_unavailable_exception)
--
2.8.1