On Thu, Nov 23, 2017 at 03:36:18PM +1100, Benjamin Herrenschmidt wrote: > This stores the MMU mode (real vs. virt) in the PACA on exceptions > that do a KVM test. > > At the moment, we do this unconditionally in those exceptions due > to how the macro system is put together. In the future we could > find a way to only do it when actually exiting a guest. > > This will avoid a pile of mfmsr in the KVM exit path Comments below... > diff --git a/arch/powerpc/include/asm/kvm_book3s_asm.h b/arch/powerpc/include/asm/kvm_book3s_asm.h > index 83596f32f50b..7775a278e56e 100644 > --- a/arch/powerpc/include/asm/kvm_book3s_asm.h > +++ b/arch/powerpc/include/asm/kvm_book3s_asm.h > @@ -118,6 +118,7 @@ struct kvmppc_host_state { > void __iomem *xive_tima_phys; > void __iomem *xive_tima_virt; > u32 saved_xirr; > + u8 exit_virt; /* MMU mode on exception exit */ This is being added in the #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE section of this struct, but as far as I can see we will need the new field in the case where only PR and not HV is configured. Did you try compiling a PR-only config? Paul.