Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/book3s64: Remove __end_handlers marker

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>

authored by

Hari Bathini and committed by
Michael Ellerman
057b6d7e 8ed8ab40

+4 -9
+4 -9
arch/powerpc/kernel/exceptions-64s.S
··· 726 726 #endif 727 727 728 728 /* 729 - * Code from here down to __end_handlers is invoked from the 730 - * exception prologs above. Because the prologs assemble the 731 - * addresses of these handlers using the LOAD_HANDLER macro, 732 - * which uses an ori instruction, these handlers must be in 733 - * the first 64k of the kernel image. 729 + * Ensure that any handlers that get invoked from the exception prologs 730 + * above are below the first 64KB (0x10000) of the kernel image because 731 + * the prologs assemble the addresses of these handlers using the 732 + * LOAD_HANDLER macro, which uses an ori instruction. 734 733 */ 735 734 736 735 /*** Common interrupt handlers ***/ ··· 1121 1122 1122 1123 STD_EXCEPTION_COMMON(0xf60, facility_unavailable, facility_unavailable_exception) 1123 1124 STD_EXCEPTION_COMMON(0xf80, hv_facility_unavailable, facility_unavailable_exception) 1124 - 1125 - .align 7 1126 - .globl __end_handlers 1127 - __end_handlers: 1128 1125 1129 1126 /* Equivalents to the above handlers for relocation-on interrupt vectors */ 1130 1127 STD_RELON_EXCEPTION_HV_OOL(0xe40, emulation_assist)