diff options
Diffstat (limited to 'arch/powerpc/kernel/exceptions-64e.S')
-rw-r--r-- | arch/powerpc/kernel/exceptions-64e.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S index 4684e33a26c3..ae54553eacd9 100644 --- a/arch/powerpc/kernel/exceptions-64e.S +++ b/arch/powerpc/kernel/exceptions-64e.S | |||
@@ -159,8 +159,9 @@ exc_##n##_common: \ | |||
159 | std r9,GPR9(r1); /* save r9 in stackframe */ \ | 159 | std r9,GPR9(r1); /* save r9 in stackframe */ \ |
160 | std r10,_NIP(r1); /* save SRR0 to stackframe */ \ | 160 | std r10,_NIP(r1); /* save SRR0 to stackframe */ \ |
161 | std r11,_MSR(r1); /* save SRR1 to stackframe */ \ | 161 | std r11,_MSR(r1); /* save SRR1 to stackframe */ \ |
162 | beq 2f; /* if from kernel mode */ \ | ||
162 | ACCOUNT_CPU_USER_ENTRY(r10,r11);/* accounting (uses cr0+eq) */ \ | 163 | ACCOUNT_CPU_USER_ENTRY(r10,r11);/* accounting (uses cr0+eq) */ \ |
163 | ld r3,excf+EX_R10(r13); /* get back r10 */ \ | 164 | 2: ld r3,excf+EX_R10(r13); /* get back r10 */ \ |
164 | ld r4,excf+EX_R11(r13); /* get back r11 */ \ | 165 | ld r4,excf+EX_R11(r13); /* get back r11 */ \ |
165 | mfspr r5,SPRN_SPRG_GEN_SCRATCH;/* get back r13 */ \ | 166 | mfspr r5,SPRN_SPRG_GEN_SCRATCH;/* get back r13 */ \ |
166 | std r12,GPR12(r1); /* save r12 in stackframe */ \ | 167 | std r12,GPR12(r1); /* save r12 in stackframe */ \ |