diff options
Diffstat (limited to 'arch/ppc/kernel/entry.S')
| -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)) |
