|
@@ -367,11 +367,7 @@ denorm_exception_hv:
|
|
|
HMT_MEDIUM_PPR_DISCARD
|
|
|
mtspr SPRN_SPRG_HSCRATCH0,r13
|
|
|
EXCEPTION_PROLOG_0(PACA_EXGEN)
|
|
|
- std r11,PACA_EXGEN+EX_R11(r13)
|
|
|
- std r12,PACA_EXGEN+EX_R12(r13)
|
|
|
- mfspr r9,SPRN_SPRG_HSCRATCH0
|
|
|
- std r9,PACA_EXGEN+EX_R13(r13)
|
|
|
- mfcr r9
|
|
|
+ EXCEPTION_PROLOG_1(PACA_EXGEN, NOTEST, 0x1500)
|
|
|
|
|
|
#ifdef CONFIG_PPC_DENORMALISATION
|
|
|
mfspr r10,SPRN_HSRR1
|
|
@@ -381,6 +377,7 @@ denorm_exception_hv:
|
|
|
bne+ denorm_assist
|
|
|
#endif
|
|
|
|
|
|
+ KVMTEST(0x1500)
|
|
|
EXCEPTION_PROLOG_PSERIES_1(denorm_common, EXC_HV)
|
|
|
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_STD, 0x1500)
|
|
|
|
|
@@ -501,6 +498,10 @@ denorm_done:
|
|
|
mtcrf 0x80,r9
|
|
|
ld r9,PACA_EXGEN+EX_R9(r13)
|
|
|
RESTORE_PPR_PACA(PACA_EXGEN, r10)
|
|
|
+BEGIN_FTR_SECTION
|
|
|
+ ld r10,PACA_EXGEN+EX_CFAR(r13)
|
|
|
+ mtspr SPRN_CFAR,r10
|
|
|
+END_FTR_SECTION_IFSET(CPU_FTR_CFAR)
|
|
|
ld r10,PACA_EXGEN+EX_R10(r13)
|
|
|
ld r11,PACA_EXGEN+EX_R11(r13)
|
|
|
ld r12,PACA_EXGEN+EX_R12(r13)
|