|
@@ -1715,6 +1715,10 @@ kvmppc_hdsi:
|
|
|
/* HPTE not found fault or protection fault? */
|
|
|
andis. r0, r6, (DSISR_NOHPTE | DSISR_PROTFAULT)@h
|
|
|
beq 1f /* if not, send it to the guest */
|
|
|
+BEGIN_FTR_SECTION
|
|
|
+ mfspr r5, SPRN_ASDR /* on POWER9, use ASDR to get VSID */
|
|
|
+ b 4f
|
|
|
+END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
|
|
|
andi. r0, r11, MSR_DR /* data relocation enabled? */
|
|
|
beq 3f
|
|
|
clrrdi r0, r4, 28
|
|
@@ -1791,6 +1795,10 @@ fast_interrupt_c_return:
|
|
|
kvmppc_hisi:
|
|
|
andis. r0, r11, SRR1_ISI_NOPT@h
|
|
|
beq 1f
|
|
|
+BEGIN_FTR_SECTION
|
|
|
+ mfspr r5, SPRN_ASDR /* on POWER9, use ASDR to get VSID */
|
|
|
+ b 4f
|
|
|
+END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
|
|
|
andi. r0, r11, MSR_IR /* instruction relocation enabled? */
|
|
|
beq 3f
|
|
|
clrrdi r0, r10, 28
|