On Wed, Dec 06, 2017 at 05:09:49PM +0000, Julien Thierry wrote: > When VHE is not present, KVM needs to save and restores PMSCR_EL1 when > possible. If SPE is used by the host, value of PMSCR_EL1 cannot be saved > for the guest. > If the host starts using SPE between two save+restore on the same vcpu, > restore will write the value of PMSCR_EL1 read during the first save. > > Make sure __debug_save_spe_nvhe clears the value of the saved PMSCR_EL1 > when the guest cannot use SPE.
Ok, so the problem is that we have a stale (non-zero) saved pmscr_el1, and therefore the restore code unconditionally restores that even though SPE is no longer in use by the host. Well spotted! > Signed-off-by: Julien Thierry <[email protected]> > Cc: Christoffer Dall <[email protected]> > Cc: Marc Zyngier <[email protected]> > Cc: Catalin Marinas <[email protected]> > Cc: Will Deacon <[email protected]> > Cc: <[email protected]> > --- > arch/arm64/kvm/hyp/debug-sr.c | 3 +++ > 1 file changed, 3 insertions(+) Reviewed-by: Will Deacon <[email protected]> Will _______________________________________________ kvmarm mailing list [email protected] https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
