Upgrade to 4.4.50-rt62
[kvmfornfv.git] / kernel / arch / powerpc / kernel / exceptions-64s.S
index 0a0399c..b81ccc5 100644 (file)
@@ -962,11 +962,6 @@ hv_facility_unavailable_relon_trampoline:
 #endif
        STD_RELON_EXCEPTION_PSERIES(0x5700, 0x1700, altivec_assist)
 
-       /* Other future vectors */
-       .align  7
-       .globl  __end_interrupts
-__end_interrupts:
-
        .align  7
 system_call_entry:
        b       system_call_common
@@ -1253,6 +1248,17 @@ __end_handlers:
        STD_RELON_EXCEPTION_PSERIES_OOL(0xf60, facility_unavailable)
        STD_RELON_EXCEPTION_HV_OOL(0xf80, hv_facility_unavailable)
 
+       /*
+        * The __end_interrupts marker must be past the out-of-line (OOL)
+        * handlers, so that they are copied to real address 0x100 when running
+        * a relocatable kernel. This ensures they can be reached from the short
+        * trampoline handlers (like 0x4f00, 0x4f20, etc.) which branch
+        * directly, without using LOAD_HANDLER().
+        */
+       .align  7
+       .globl  __end_interrupts
+__end_interrupts:
+
 #if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
 /*
  * Data area reserved for FWNMI option.