diff options
| -rw-r--r-- | arch/powerpc/kernel/vdso64/sigtramp.S | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/vdso64/sigtramp.S b/arch/powerpc/kernel/vdso64/sigtramp.S index 45ea281e9a21..542c6f422e4d 100644 --- a/arch/powerpc/kernel/vdso64/sigtramp.S +++ b/arch/powerpc/kernel/vdso64/sigtramp.S | |||
| @@ -142,6 +142,13 @@ V_FUNCTION_END(__kernel_sigtramp_rt64) | |||
| 142 | /* Size of CR reg in DWARF unwind info. */ | 142 | /* Size of CR reg in DWARF unwind info. */ |
| 143 | #define CRSIZE 4 | 143 | #define CRSIZE 4 |
| 144 | 144 | ||
| 145 | /* Offset of CR reg within a full word. */ | ||
| 146 | #ifdef __LITTLE_ENDIAN__ | ||
| 147 | #define CROFF 0 | ||
| 148 | #else | ||
| 149 | #define CROFF (RSIZE - CRSIZE) | ||
| 150 | #endif | ||
| 151 | |||
| 145 | /* This is the offset of the VMX reg pointer. */ | 152 | /* This is the offset of the VMX reg pointer. */ |
| 146 | #define VREGS 48*RSIZE+33*8 | 153 | #define VREGS 48*RSIZE+33*8 |
| 147 | 154 | ||
| @@ -181,7 +188,14 @@ V_FUNCTION_END(__kernel_sigtramp_rt64) | |||
| 181 | rsave (31, 31*RSIZE); \ | 188 | rsave (31, 31*RSIZE); \ |
| 182 | rsave (67, 32*RSIZE); /* ap, used as temp for nip */ \ | 189 | rsave (67, 32*RSIZE); /* ap, used as temp for nip */ \ |
| 183 | rsave (65, 36*RSIZE); /* lr */ \ | 190 | rsave (65, 36*RSIZE); /* lr */ \ |
| 184 | rsave (70, 38*RSIZE + (RSIZE - CRSIZE)) /* cr */ | 191 | rsave (68, 38*RSIZE + CROFF); /* cr fields */ \ |
| 192 | rsave (69, 38*RSIZE + CROFF); \ | ||
| 193 | rsave (70, 38*RSIZE + CROFF); \ | ||
| 194 | rsave (71, 38*RSIZE + CROFF); \ | ||
| 195 | rsave (72, 38*RSIZE + CROFF); \ | ||
| 196 | rsave (73, 38*RSIZE + CROFF); \ | ||
| 197 | rsave (74, 38*RSIZE + CROFF); \ | ||
| 198 | rsave (75, 38*RSIZE + CROFF) | ||
| 185 | 199 | ||
| 186 | /* Describe where the FP regs are saved. */ | 200 | /* Describe where the FP regs are saved. */ |
| 187 | #define EH_FRAME_FP \ | 201 | #define EH_FRAME_FP \ |
