powerpc/book3s64: Remove __end_handlers marker
authorHari Bathini <hbathini@linux.vnet.ibm.com>
Thu, 7 Apr 2016 22:00:34 +0000 (03:30 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 21 Apr 2016 13:32:58 +0000 (23:32 +1000)
The __end_handlers marker was intended to mark down upto code that gets
called from exception prologs. But that hasn't kept pace with code
changes. Case in point, slb_miss_realmode being called from exception
prolog code but isn't below __end_handlers marker. So, __end_handlers
marker is as good as a comment but could be misleading at times if it
isn't in sync with the code, as is the case now. So, let us avoid this
confusion by having a better comment and removing __end_handlers marker
altogether.

Signed-off-by: Hari Bathini <hbathini@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/exceptions-64s.S

index b952173da029c879c3daa6a0b57a08adb2043791..52d2d742f6e7e28b1602c5599945d2ca72294324 100644 (file)
@@ -726,11 +726,10 @@ kvmppc_skip_Hinterrupt:
 #endif
 
 /*
- * Code from here down to __end_handlers is invoked from the
- * exception prologs above.  Because the prologs assemble the
- * addresses of these handlers using the LOAD_HANDLER macro,
- * which uses an ori instruction, these handlers must be in
- * the first 64k of the kernel image.
+ * Ensure that any handlers that get invoked from the exception prologs
+ * above are below the first 64KB (0x10000) of the kernel image because
+ * the prologs assemble the addresses of these handlers using the
+ * LOAD_HANDLER macro, which uses an ori instruction.
  */
 
 /*** Common interrupt handlers ***/
@@ -1123,10 +1122,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_VSX)
        STD_EXCEPTION_COMMON(0xf60, facility_unavailable, facility_unavailable_exception)
        STD_EXCEPTION_COMMON(0xf80, hv_facility_unavailable, facility_unavailable_exception)
 
-       .align  7
-       .globl  __end_handlers
-__end_handlers:
-
        /* Equivalents to the above handlers for relocation-on interrupt vectors */
        STD_RELON_EXCEPTION_HV_OOL(0xe40, emulation_assist)
        MASKABLE_RELON_EXCEPTION_HV_OOL(0xe80, h_doorbell)