summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/include/asm/exception-64s.h2
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S8
2 files changed, 3 insertions, 7 deletions
diff --git a/arch/powerpc/include/asm/exception-64s.h b/arch/powerpc/include/asm/exception-64s.h
index c2606715cfff..5032a80e8f6a 100644
--- a/arch/powerpc/include/asm/exception-64s.h
+++ b/arch/powerpc/include/asm/exception-64s.h
@@ -90,7 +90,7 @@
*/
#define LOAD_HANDLER(reg, label) \
ld reg,PACAKBASE(r13); /* get high part of &label */ \
- ori reg,reg,(label)-_stext; /* virt addr of handler ... */
+ ori reg,reg,((label)-_stext)@l; /* virt addr of handler ... */
/* Exception register prefixes */
#define EXC_HV H
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index a91308d6abaf..23018162d749 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -41,7 +41,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_REAL_LE) \
#define SYSCALL_PSERIES_2_RFID \
mfspr r12,SPRN_SRR1 ; \
- LOAD_HANDLER(r10, system_call_entry) ; \
+ LOAD_HANDLER(r10, system_call_common) ; \
mtspr SPRN_SRR0,r10 ; \
ld r10,PACAKMSR(r13) ; \
mtspr SPRN_SRR1,r10 ; \
@@ -62,7 +62,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_REAL_LE) \
* is volatile across system calls.
*/
#define SYSCALL_PSERIES_2_DIRECT \
- LOAD_HANDLER(r12, system_call_entry) ; \
+ LOAD_HANDLER(r12, system_call_common) ; \
mtctr r12 ; \
mfspr r12,SPRN_SRR1 ; \
li r10,MSR_RI ; \
@@ -902,10 +902,6 @@ hv_facility_unavailable_relon_trampoline:
#endif
STD_RELON_EXCEPTION_PSERIES(0x5700, 0x1700, altivec_assist)
- .align 7
-system_call_entry:
- b system_call_common
-
ppc64_runlatch_on_trampoline:
b __ppc64_runlatch_on