diff options
Diffstat (limited to 'arch/ppc')
-rw-r--r-- | arch/ppc/kernel/entry.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S index b19bfef2034d..59e77eb63338 100644 --- a/arch/ppc/kernel/entry.S +++ b/arch/ppc/kernel/entry.S | |||
@@ -251,6 +251,9 @@ syscall_exit_cont: | |||
251 | bne- 2f | 251 | bne- 2f |
252 | 1: | 252 | 1: |
253 | #endif /* CONFIG_44x */ | 253 | #endif /* CONFIG_44x */ |
254 | BEGIN_FTR_SECTION | ||
255 | lwarx r7,0,r1 | ||
256 | END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX) | ||
254 | stwcx. r0,0,r1 /* to clear the reservation */ | 257 | stwcx. r0,0,r1 /* to clear the reservation */ |
255 | lwz r4,_LINK(r1) | 258 | lwz r4,_LINK(r1) |
256 | lwz r5,_CCR(r1) | 259 | lwz r5,_CCR(r1) |
@@ -713,6 +716,9 @@ restore: | |||
713 | mtctr r11 | 716 | mtctr r11 |
714 | 717 | ||
715 | PPC405_ERR77(0,r1) | 718 | PPC405_ERR77(0,r1) |
719 | BEGIN_FTR_SECTION | ||
720 | lwarx r11,0,r1 | ||
721 | END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX) | ||
716 | stwcx. r0,0,r1 /* to clear the reservation */ | 722 | stwcx. r0,0,r1 /* to clear the reservation */ |
717 | 723 | ||
718 | #if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE)) | 724 | #if !(defined(CONFIG_4xx) || defined(CONFIG_BOOKE)) |