Skip to content

Commit

Permalink
powerpc: Relocatable system call no longer uses the LR
Browse files Browse the repository at this point in the history
We had some code to restore the LR in the relocatable system call path
back when we used the LR to do an indirect branch.

Commit 6a40480 ("powerpc: Avoid link stack corruption in MMU
on syscall entry path") changed this to use the CTR which is volatile
across system calls so does not need restoring.

Remove the stale comment and the restore of the LR.

Signed-off-by: Anton Blanchard <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
  • Loading branch information
antonblanchard authored and mpe committed Jun 2, 2015
1 parent 72e349f commit 05b05f2
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions arch/powerpc/kernel/exceptions-64s.S
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,13 @@ END_FTR_SECTION_IFSET(CPU_FTR_REAL_LE) \

#if defined(CONFIG_RELOCATABLE)
/*
* We can't branch directly; in the direct case we use LR
* and system_call_entry restores LR. (We thus need to move
* LR to r10 in the RFID case too.)
* We can't branch directly so we do it via the CTR which
* is volatile across system calls.
*/
#define SYSCALL_PSERIES_2_DIRECT \
mflr r10 ; \
ld r12,PACAKBASE(r13) ; \
LOAD_HANDLER(r12, system_call_entry_direct) ; \
LOAD_HANDLER(r12, system_call_entry) ; \
mtctr r12 ; \
mfspr r12,SPRN_SRR1 ; \
/* Re-use of r13... No spare regs to do this */ \
Expand All @@ -80,7 +79,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_REAL_LE) \
mfspr r12,SPRN_SRR1 ; \
li r10,MSR_RI ; \
mtmsrd r10,1 ; /* Set RI (EE=0) */ \
b system_call_entry_direct ;
b system_call_entry ;
#endif

/*
Expand Down Expand Up @@ -969,13 +968,6 @@ hv_facility_unavailable_relon_trampoline:
__end_interrupts:

.align 7
system_call_entry_direct:
#if defined(CONFIG_RELOCATABLE)
/* The first level prologue may have used LR to get here, saving
* orig in r10. To save hacking/ifdeffing common code, restore here.
*/
mtlr r10
#endif
system_call_entry:
b system_call_common

Expand Down

0 comments on commit 05b05f2

Please sign in to comment.