[PATCH 0/3] KVM: x86: Clean up RESET "emulation"

From: Sean Christopherson
Date: Tue Sep 14 2021 - 19:09:23 EST


Add dedicated helpers to emulate RESET instead of having the relevant code
scattered through vcpu_create() and vcpu_reset(). Paolo, I think this is
what you meant by "have init_vmcb/svm_vcpu_reset look more like the VMX
code"[*].

Patch 01 is a bit odd; it's essentially an explicit acknowledgement that
KVM's emulation is far from complete. It caught my eye when auditing the
"create" flows to ensure they didn't touch guest state, which should be
handled by "reset". I waffled between deleting it outright and moving it
to the new __vmx_vcpu_reset(), and opted to delete outright to discourage
ad hoc clearing of MSRs during RESET, which isn't a maintainable approach.

[*] https://lore.kernel.org/all/c3563870-62c3-897d-3148-e48bb755310c@xxxxxxxxxx/

Sean Christopherson (3):
KVM: VMX: Drop explicit zeroing of MSR guest values at vCPU creation
KVM: VMX: Move RESET emulation to vmx_vcpu_reset()
KVM: SVM: Move RESET emulation to svm_vcpu_reset()

arch/x86/kvm/svm/sev.c | 6 ++--
arch/x86/kvm/svm/svm.c | 29 ++++++++++--------
arch/x86/kvm/svm/svm.h | 2 +-
arch/x86/kvm/vmx/vmx.c | 67 ++++++++++++++++++++----------------------
4 files changed, 53 insertions(+), 51 deletions(-)

--
2.33.0.309.g3052b89438-goog