diff options
Diffstat (limited to 'arch/arm/lib/csumpartialcopyuser.S')
-rw-r--r-- | arch/arm/lib/csumpartialcopyuser.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/lib/csumpartialcopyuser.S b/arch/arm/lib/csumpartialcopyuser.S index 333bca292de9..c3b93e22ea25 100644 --- a/arch/arm/lib/csumpartialcopyuser.S +++ b/arch/arm/lib/csumpartialcopyuser.S | |||
@@ -18,11 +18,13 @@ | |||
18 | .text | 18 | .text |
19 | 19 | ||
20 | .macro save_regs | 20 | .macro save_regs |
21 | mov ip, sp | ||
21 | stmfd sp!, {r1 - r2, r4 - r8, fp, ip, lr, pc} | 22 | stmfd sp!, {r1 - r2, r4 - r8, fp, ip, lr, pc} |
23 | sub fp, ip, #4 | ||
22 | .endm | 24 | .endm |
23 | 25 | ||
24 | .macro load_regs,flags | 26 | .macro load_regs |
25 | ldm\flags fp, {r1, r2, r4-r8, fp, sp, pc} | 27 | ldmfd sp, {r1, r2, r4-r8, fp, sp, pc} |
26 | .endm | 28 | .endm |
27 | 29 | ||
28 | .macro load1b, reg1 | 30 | .macro load1b, reg1 |
@@ -100,5 +102,5 @@ | |||
100 | 6002: teq r2, r1 | 102 | 6002: teq r2, r1 |
101 | strneb r0, [r1], #1 | 103 | strneb r0, [r1], #1 |
102 | bne 6002b | 104 | bne 6002b |
103 | load_regs ea | 105 | load_regs |
104 | .previous | 106 | .previous |