linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] KVM: x86: Clean up RESET "emulation"
@ 2021-09-21  0:02 Sean Christopherson
  2021-09-21  0:02 ` [PATCH v2 01/10] KVM: x86: Mark all registers as avail/dirty at vCPU creation Sean Christopherson
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Sean Christopherson @ 2021-09-21  0:02 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Sean Christopherson, Vitaly Kuznetsov, Wanpeng Li, Jim Mattson,
	Joerg Roedel, kvm, linux-kernel, Reiji Watanabe

Add dedicated helpers to emulate RESET (or at least, the parts of RESET
that KVM actually emulates) instead of having the relevant code scattered
throughout vcpu_create() and vcpu_reset().

Vitaly's innocuous suggestion to WARN on non-zero CR0 led to a wonderful
bit of git archaeology after, to my complete surprise, it fired on RESET
due to fx_init() setting CR0.ET (and XCR0.FP).

v2:
 - Add patches to drop defunct fx_init() code.
 - Add patch to zero CR3 at RESET/INIT. 
 - Add patch to mark all regs avail/dirty at creation, not at RESET/INIT.
 - Add patch to WARN if CRs are non-zero at RESET. [Vitaly]

v1: https://lkml.kernel.org/r/20210914230840.3030620-1-seanjc@google.com

Sean Christopherson (10):
  KVM: x86: Mark all registers as avail/dirty at vCPU creation
  KVM: x86: Clear KVM's cached guest CR3 at RESET/INIT
  KVM: x86: Do not mark all registers as avail/dirty during RESET/INIT
  KVM: x86: Remove defunct setting of CR0.ET for guests during vCPU
    create
  KVM: x86: Remove defunct setting of XCR0 for guest during vCPU create
  KVM: x86: Fold fx_init() into kvm_arch_vcpu_create()
  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()
  KVM: x86: WARN on non-zero CRs at RESET to detect improper
    initalization

 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 | 68 ++++++++++++++++++++----------------------
 arch/x86/kvm/x86.c     | 44 +++++++++++++--------------
 5 files changed, 76 insertions(+), 73 deletions(-)

-- 
2.33.0.464.g1972c5931b-goog


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-10-06 23:04 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21  0:02 [PATCH v2 00/10] KVM: x86: Clean up RESET "emulation" Sean Christopherson
2021-09-21  0:02 ` [PATCH v2 01/10] KVM: x86: Mark all registers as avail/dirty at vCPU creation Sean Christopherson
2021-09-21 13:40   ` Vitaly Kuznetsov
2021-09-21  0:02 ` [PATCH v2 02/10] KVM: x86: Clear KVM's cached guest CR3 at RESET/INIT Sean Christopherson
2021-09-21 13:52   ` Vitaly Kuznetsov
2021-09-21 13:55     ` Vitaly Kuznetsov
2021-09-21 17:35   ` Paolo Bonzini
2021-09-21  0:02 ` [PATCH v2 03/10] KVM: x86: Do not mark all registers as avail/dirty during RESET/INIT Sean Christopherson
2021-09-21  0:02 ` [PATCH v2 04/10] KVM: x86: Remove defunct setting of CR0.ET for guests during vCPU create Sean Christopherson
2021-09-21 14:23   ` Vitaly Kuznetsov
2021-09-21  0:02 ` [PATCH v2 05/10] KVM: x86: Remove defunct setting of XCR0 for guest " Sean Christopherson
2021-09-21 14:37   ` Vitaly Kuznetsov
2021-09-21  0:02 ` [PATCH v2 06/10] KVM: x86: Fold fx_init() into kvm_arch_vcpu_create() Sean Christopherson
2021-09-21 14:52   ` Vitaly Kuznetsov
2021-10-06 23:04     ` Sean Christopherson
2021-09-21  0:03 ` [PATCH v2 07/10] KVM: VMX: Drop explicit zeroing of MSR guest values at vCPU creation Sean Christopherson
2021-09-21 15:02   ` Vitaly Kuznetsov
2021-09-21  0:03 ` [PATCH v2 08/10] KVM: VMX: Move RESET emulation to vmx_vcpu_reset() Sean Christopherson
2021-09-21  0:03 ` [PATCH v2 09/10] KVM: SVM: Move RESET emulation to svm_vcpu_reset() Sean Christopherson
2021-09-21  0:03 ` [PATCH v2 10/10] KVM: x86: WARN on non-zero CRs at RESET to detect improper initalization Sean Christopherson
2021-09-21 13:59   ` Vitaly Kuznetsov
2021-09-23 16:23 ` [PATCH v2 00/10] KVM: x86: Clean up RESET "emulation" Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).