summaryrefslogtreecommitdiff
path: root/arch/powerpc
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2016-09-21 17:43:57 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2016-10-04 13:07:11 +1100
commit14b0072cfd3c7e894c3b823f54a65e5eae942c46 (patch)
treed28f0b6f993c9b343f9bb17e1ea1b5d92e52d767 /arch/powerpc
parent1134713c26330ddf554122dae260e4d1546514a7 (diff)
powerpc/64s: Consolidate Hypervisor Facility Unavailable 0xf80 interrupt
Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S16
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 2e89d4bfc7e6..d88024384bc6 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -1120,6 +1120,12 @@ EXC_COMMON(facility_unavailable_common, 0xf60, facility_unavailable_exception)
__EXC_REAL_OOL_HV(h_facility_unavailable, 0xf80, 0xfa0)
+__TRAMP_REAL_REAL_OOL_HV(h_facility_unavailable, 0xf80)
+__EXC_VIRT_OOL_HV(h_facility_unavailable, 0x4f80, 0x4fa0)
+__TRAMP_REAL_VIRT_OOL_HV(h_facility_unavailable, 0xf80)
+TRAMP_KVM_HV(PACA_EXGEN, 0xf80)
+EXC_COMMON(h_facility_unavailable_common, 0xf80, facility_unavailable_exception)
+
EXC_REAL_NONE(0xfa0, 0x1200)
@@ -1246,10 +1252,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_CFAR)
b .
#endif
- /* moved from 0xf00 */
-__TRAMP_REAL_REAL_OOL_HV(h_facility_unavailable, 0xf80)
-TRAMP_KVM_HV(PACA_EXGEN, 0xf80)
-
/*
* An interrupt came in while soft-disabled. We set paca->irq_happened, then:
* - If it was a decrementer interrupt, we bump the dec to max and and return.
@@ -1394,8 +1396,6 @@ EXC_COMMON(altivec_assist_common, 0x1700, unknown_exception)
* come here.
*/
-__EXC_VIRT_OOL_HV(h_facility_unavailable, 0x4f80, 0x4fa0)
-
EXC_VIRT_NONE(0x4fa0, 0x5200)
EXC_VIRT_NONE(0x5200, 0x5300)
@@ -1420,8 +1420,6 @@ EXC_COMMON_BEGIN(ppc64_runlatch_on_trampoline)
b __ppc64_runlatch_on
/* Equivalents to the above handlers for relocation-on interrupt vectors */
-__TRAMP_REAL_VIRT_OOL_HV(h_facility_unavailable, 0xf80)
-
USE_FIXED_SECTION(virt_trampolines)
/*
* The __end_interrupts marker must be past the out-of-line (OOL)
@@ -1435,8 +1433,6 @@ USE_FIXED_SECTION(virt_trampolines)
__end_interrupts:
DEFINE_FIXED_SYMBOL(__end_interrupts)
-EXC_COMMON(h_facility_unavailable_common, 0xf80, facility_unavailable_exception)
-
#ifdef CONFIG_CBE_RAS
EXC_COMMON(cbe_system_error_common, 0x1200, cbe_system_error_exception)
EXC_COMMON(cbe_maintenance_common, 0x1600, cbe_maintenance_exception)