KVM: SVM: use .prepare_guest_switch() to handle CPU register save/setup
authorMichael Roth <michael.roth@amd.com>
Tue, 2 Feb 2021 19:01:26 +0000 (13:01 -0600)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 4 Feb 2021 10:27:35 +0000 (05:27 -0500)
commita7fc06dd2f14f88e611a968f7efa6532cdd5529a
tree657a25ec597ebac117970282f5de7f6fe4e58d2c
parent553cc15f6e8d1467dc09a1fe6e51fcdea5f96471
KVM: SVM: use .prepare_guest_switch() to handle CPU register save/setup

Currently we save host state like user-visible host MSRs, and do some
initial guest register setup for MSR_TSC_AUX and MSR_AMD64_TSC_RATIO
in svm_vcpu_load(). Defer this until just before we enter the guest by
moving the handling to kvm_x86_ops.prepare_guest_switch() similarly to
how it is done for the VMX implementation.

Additionally, since handling of saving/restoring host user MSRs is the
same both with/without SEV-ES enabled, move that handling to common
code.

Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Message-Id: <20210202190126.2185715-4-michael.roth@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/sev.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h