diff options
Diffstat (limited to 'arch/powerpc/lib')
| -rw-r--r-- | arch/powerpc/lib/copypage_power7.S | 19 | ||||
| -rw-r--r-- | arch/powerpc/lib/copyuser_power7.S | 12 |
2 files changed, 18 insertions, 13 deletions
diff --git a/arch/powerpc/lib/copypage_power7.S b/arch/powerpc/lib/copypage_power7.S index 0ef75bf0695c..395c594722a2 100644 --- a/arch/powerpc/lib/copypage_power7.S +++ b/arch/powerpc/lib/copypage_power7.S | |||
| @@ -28,13 +28,14 @@ _GLOBAL(copypage_power7) | |||
| 28 | * aligned we don't need to clear the bottom 7 bits of either | 28 | * aligned we don't need to clear the bottom 7 bits of either |
| 29 | * address. | 29 | * address. |
| 30 | */ | 30 | */ |
| 31 | ori r9,r3,1 /* stream=1 */ | 31 | ori r9,r3,1 /* stream=1 => to */ |
| 32 | 32 | ||
| 33 | #ifdef CONFIG_PPC_64K_PAGES | 33 | #ifdef CONFIG_PPC_64K_PAGES |
| 34 | lis r7,0x0E01 /* depth=7, units=512 */ | 34 | lis r7,0x0E01 /* depth=7 |
| 35 | * units/cachelines=512 */ | ||
| 35 | #else | 36 | #else |
| 36 | lis r7,0x0E00 /* depth=7 */ | 37 | lis r7,0x0E00 /* depth=7 */ |
| 37 | ori r7,r7,0x1000 /* units=32 */ | 38 | ori r7,r7,0x1000 /* units/cachelines=32 */ |
| 38 | #endif | 39 | #endif |
| 39 | ori r10,r7,1 /* stream=1 */ | 40 | ori r10,r7,1 /* stream=1 */ |
| 40 | 41 | ||
| @@ -43,12 +44,14 @@ _GLOBAL(copypage_power7) | |||
| 43 | 44 | ||
| 44 | .machine push | 45 | .machine push |
| 45 | .machine "power4" | 46 | .machine "power4" |
| 46 | dcbt r0,r4,0b01000 | 47 | /* setup read stream 0 */ |
| 47 | dcbt r0,r7,0b01010 | 48 | dcbt r0,r4,0b01000 /* addr from */ |
| 48 | dcbtst r0,r9,0b01000 | 49 | dcbt r0,r7,0b01010 /* length and depth from */ |
| 49 | dcbtst r0,r10,0b01010 | 50 | /* setup write stream 1 */ |
| 51 | dcbtst r0,r9,0b01000 /* addr to */ | ||
| 52 | dcbtst r0,r10,0b01010 /* length and depth to */ | ||
| 50 | eieio | 53 | eieio |
| 51 | dcbt r0,r8,0b01010 /* GO */ | 54 | dcbt r0,r8,0b01010 /* all streams GO */ |
| 52 | .machine pop | 55 | .machine pop |
| 53 | 56 | ||
| 54 | #ifdef CONFIG_ALTIVEC | 57 | #ifdef CONFIG_ALTIVEC |
diff --git a/arch/powerpc/lib/copyuser_power7.S b/arch/powerpc/lib/copyuser_power7.S index 0d24ff15f5f6..d1f11795a7ad 100644 --- a/arch/powerpc/lib/copyuser_power7.S +++ b/arch/powerpc/lib/copyuser_power7.S | |||
| @@ -318,12 +318,14 @@ err1; stb r0,0(r3) | |||
| 318 | 318 | ||
| 319 | .machine push | 319 | .machine push |
| 320 | .machine "power4" | 320 | .machine "power4" |
| 321 | dcbt r0,r6,0b01000 | 321 | /* setup read stream 0 */ |
| 322 | dcbt r0,r7,0b01010 | 322 | dcbt r0,r6,0b01000 /* addr from */ |
| 323 | dcbtst r0,r9,0b01000 | 323 | dcbt r0,r7,0b01010 /* length and depth from */ |
| 324 | dcbtst r0,r10,0b01010 | 324 | /* setup write stream 1 */ |
| 325 | dcbtst r0,r9,0b01000 /* addr to */ | ||
| 326 | dcbtst r0,r10,0b01010 /* length and depth to */ | ||
| 325 | eieio | 327 | eieio |
| 326 | dcbt r0,r8,0b01010 /* GO */ | 328 | dcbt r0,r8,0b01010 /* all streams GO */ |
| 327 | .machine pop | 329 | .machine pop |
| 328 | 330 | ||
| 329 | beq cr1,.Lunwind_stack_nonvmx_copy | 331 | beq cr1,.Lunwind_stack_nonvmx_copy |
