diff options
Diffstat (limited to 'arch/powerpc/include/asm/exception-64s.h')
-rw-r--r-- | arch/powerpc/include/asm/exception-64s.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/powerpc/include/asm/exception-64s.h b/arch/powerpc/include/asm/exception-64s.h index d3d4534e3c74..773e380b5fe8 100644 --- a/arch/powerpc/include/asm/exception-64s.h +++ b/arch/powerpc/include/asm/exception-64s.h | |||
@@ -57,12 +57,12 @@ | |||
57 | addi reg,reg,(label)-_stext; /* virt addr of handler ... */ | 57 | addi reg,reg,(label)-_stext; /* virt addr of handler ... */ |
58 | 58 | ||
59 | #define EXCEPTION_PROLOG_1(area) \ | 59 | #define EXCEPTION_PROLOG_1(area) \ |
60 | mfspr r13,SPRN_SPRG3; /* get paca address into r13 */ \ | 60 | mfspr r13,SPRN_SPRG_PACA; /* get paca address into r13 */ \ |
61 | std r9,area+EX_R9(r13); /* save r9 - r12 */ \ | 61 | std r9,area+EX_R9(r13); /* save r9 - r12 */ \ |
62 | std r10,area+EX_R10(r13); \ | 62 | std r10,area+EX_R10(r13); \ |
63 | std r11,area+EX_R11(r13); \ | 63 | std r11,area+EX_R11(r13); \ |
64 | std r12,area+EX_R12(r13); \ | 64 | std r12,area+EX_R12(r13); \ |
65 | mfspr r9,SPRN_SPRG1; \ | 65 | mfspr r9,SPRN_SPRG_SCRATCH0; \ |
66 | std r9,area+EX_R13(r13); \ | 66 | std r9,area+EX_R13(r13); \ |
67 | mfcr r9 | 67 | mfcr r9 |
68 | 68 | ||
@@ -144,7 +144,7 @@ | |||
144 | .globl label##_pSeries; \ | 144 | .globl label##_pSeries; \ |
145 | label##_pSeries: \ | 145 | label##_pSeries: \ |
146 | HMT_MEDIUM; \ | 146 | HMT_MEDIUM; \ |
147 | mtspr SPRN_SPRG1,r13; /* save r13 */ \ | 147 | mtspr SPRN_SPRG_SCRATCH0,r13; /* save r13 */ \ |
148 | EXCEPTION_PROLOG_PSERIES(PACA_EXGEN, label##_common) | 148 | EXCEPTION_PROLOG_PSERIES(PACA_EXGEN, label##_common) |
149 | 149 | ||
150 | #define HSTD_EXCEPTION_PSERIES(n, label) \ | 150 | #define HSTD_EXCEPTION_PSERIES(n, label) \ |
@@ -152,13 +152,13 @@ label##_pSeries: \ | |||
152 | .globl label##_pSeries; \ | 152 | .globl label##_pSeries; \ |
153 | label##_pSeries: \ | 153 | label##_pSeries: \ |
154 | HMT_MEDIUM; \ | 154 | HMT_MEDIUM; \ |
155 | mtspr SPRN_SPRG1,r20; /* save r20 */ \ | 155 | mtspr SPRN_SPRG_SCRATCH0,r20; /* save r20 */ \ |
156 | mfspr r20,SPRN_HSRR0; /* copy HSRR0 to SRR0 */ \ | 156 | mfspr r20,SPRN_HSRR0; /* copy HSRR0 to SRR0 */ \ |
157 | mtspr SPRN_SRR0,r20; \ | 157 | mtspr SPRN_SRR0,r20; \ |
158 | mfspr r20,SPRN_HSRR1; /* copy HSRR0 to SRR0 */ \ | 158 | mfspr r20,SPRN_HSRR1; /* copy HSRR0 to SRR0 */ \ |
159 | mtspr SPRN_SRR1,r20; \ | 159 | mtspr SPRN_SRR1,r20; \ |
160 | mfspr r20,SPRN_SPRG1; /* restore r20 */ \ | 160 | mfspr r20,SPRN_SPRG_SCRATCH0; /* restore r20 */ \ |
161 | mtspr SPRN_SPRG1,r13; /* save r13 */ \ | 161 | mtspr SPRN_SPRG_SCRATCH0,r13; /* save r13 */ \ |
162 | EXCEPTION_PROLOG_PSERIES(PACA_EXGEN, label##_common) | 162 | EXCEPTION_PROLOG_PSERIES(PACA_EXGEN, label##_common) |
163 | 163 | ||
164 | 164 | ||
@@ -167,15 +167,15 @@ label##_pSeries: \ | |||
167 | .globl label##_pSeries; \ | 167 | .globl label##_pSeries; \ |
168 | label##_pSeries: \ | 168 | label##_pSeries: \ |
169 | HMT_MEDIUM; \ | 169 | HMT_MEDIUM; \ |
170 | mtspr SPRN_SPRG1,r13; /* save r13 */ \ | 170 | mtspr SPRN_SPRG_SCRATCH0,r13; /* save r13 */ \ |
171 | mfspr r13,SPRN_SPRG3; /* get paca address into r13 */ \ | 171 | mfspr r13,SPRN_SPRG_PACA; /* get paca address into r13 */ \ |
172 | std r9,PACA_EXGEN+EX_R9(r13); /* save r9, r10 */ \ | 172 | std r9,PACA_EXGEN+EX_R9(r13); /* save r9, r10 */ \ |
173 | std r10,PACA_EXGEN+EX_R10(r13); \ | 173 | std r10,PACA_EXGEN+EX_R10(r13); \ |
174 | lbz r10,PACASOFTIRQEN(r13); \ | 174 | lbz r10,PACASOFTIRQEN(r13); \ |
175 | mfcr r9; \ | 175 | mfcr r9; \ |
176 | cmpwi r10,0; \ | 176 | cmpwi r10,0; \ |
177 | beq masked_interrupt; \ | 177 | beq masked_interrupt; \ |
178 | mfspr r10,SPRN_SPRG1; \ | 178 | mfspr r10,SPRN_SPRG_SCRATCH0; \ |
179 | std r10,PACA_EXGEN+EX_R13(r13); \ | 179 | std r10,PACA_EXGEN+EX_R13(r13); \ |
180 | std r11,PACA_EXGEN+EX_R11(r13); \ | 180 | std r11,PACA_EXGEN+EX_R11(r13); \ |
181 | std r12,PACA_EXGEN+EX_R12(r13); \ | 181 | std r12,PACA_EXGEN+EX_R12(r13); \ |