public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Aaron Lewis <aaronlewis@google.com>
To: kvm@vger.kernel.org
Cc: pbonzini@redhat.com, jmattson@google.com, seanjc@google.com,
	 Aaron Lewis <aaronlewis@google.com>
Subject: [PATCH 00/15] Unify MSR intercepts in x86
Date: Wed, 27 Nov 2024 20:19:14 +0000	[thread overview]
Message-ID: <20241127201929.4005605-1-aaronlewis@google.com> (raw)

The goal of this series is to unify MSR intercepts into common code between
VMX and SVM.

The high level structure of this series is to:
 1. Modify SVM MSR intercepts to adopt how VMX does it.
 2. Hoist the newly updated SVM MSR intercept implementation to common x86 code.
 3. Hoist the VMX MSR intercept implementation to common x86 code.

Aaron Lewis (8):
  KVM: SVM: Invert the polarity of the "shadow" MSR interception bitmaps
  KVM: SVM: Track MSRPM as "unsigned long", not "u32"
  KVM: x86: SVM: Adopt VMX style MSR intercepts in SVM
  KVM: SVM: Don't "NULL terminate" the list of possible passthrough MSRs
  KVM: x86: Track possible passthrough MSRs in kvm_x86_ops
  KVM: x86: Move ownership of passthrough MSR "shadow" to common x86
  KVM: x86: Hoist SVM MSR intercepts to common x86 code
  KVM: x86: Hoist VMX MSR intercepts to common x86 code

Anish Ghulati (2):
  KVM: SVM: Disable intercepts for all direct access MSRs on MSR filter changes
  KVM: SVM: Delete old SVM MSR management code

Sean Christopherson (5):
  KVM: x86: Use non-atomic bit ops to manipulate "shadow" MSR intercepts
  KVM: SVM: Use non-atomic bit ops to manipulate MSR interception bitmaps
  KVM: SVM: Pass through GHCB MSR if and only if VM is SEV-ES
  KVM: SVM: Drop "always" flag from list of possible passthrough MSRs
  KVM: VMX: Make list of possible passthrough MSRs "const"

 arch/x86/include/asm/kvm-x86-ops.h |   5 +-
 arch/x86/include/asm/kvm_host.h    |  18 ++
 arch/x86/kvm/svm/sev.c             |  11 +-
 arch/x86/kvm/svm/svm.c             | 300 ++++++++++++-----------------
 arch/x86/kvm/svm/svm.h             |  30 +--
 arch/x86/kvm/vmx/main.c            |  30 +++
 arch/x86/kvm/vmx/vmx.c             | 144 +++-----------
 arch/x86/kvm/vmx/vmx.h             |  11 +-
 arch/x86/kvm/x86.c                 | 129 ++++++++++++-
 arch/x86/kvm/x86.h                 |   3 +
 10 files changed, 358 insertions(+), 323 deletions(-)

-- 
2.47.0.338.g60cca15819-goog


             reply	other threads:[~2024-11-27 20:19 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-27 20:19 Aaron Lewis [this message]
2024-11-27 20:19 ` [PATCH 01/15] KVM: x86: Use non-atomic bit ops to manipulate "shadow" MSR intercepts Aaron Lewis
2024-11-27 20:38   ` Sean Christopherson
2024-11-27 20:19 ` [PATCH 02/15] KVM: SVM: Use non-atomic bit ops to manipulate MSR interception bitmaps Aaron Lewis
2024-11-27 20:19 ` [PATCH 03/15] KVM: SVM: Invert the polarity of the "shadow" " Aaron Lewis
2024-11-27 20:42   ` Sean Christopherson
2024-12-03 21:08     ` Tom Lendacky
2024-11-27 20:19 ` [PATCH 04/15] KVM: SVM: Track MSRPM as "unsigned long", not "u32" Aaron Lewis
2024-11-27 20:19 ` [PATCH 05/15] KVM: x86: SVM: Adopt VMX style MSR intercepts in SVM Aaron Lewis
2024-11-27 20:43   ` Sean Christopherson
2024-11-27 20:19 ` [PATCH 06/15] KVM: SVM: Disable intercepts for all direct access MSRs on MSR filter changes Aaron Lewis
2024-11-27 20:47   ` Sean Christopherson
2024-11-27 20:19 ` [PATCH 07/15] KVM: SVM: Delete old SVM MSR management code Aaron Lewis
2024-11-27 20:19 ` [PATCH 08/15] KVM: SVM: Pass through GHCB MSR if and only if VM is SEV-ES Aaron Lewis
2024-12-03 21:21   ` Tom Lendacky
2024-11-27 20:19 ` [PATCH 09/15] KVM: SVM: Drop "always" flag from list of possible passthrough MSRs Aaron Lewis
2024-12-03 21:26   ` Tom Lendacky
2024-11-27 20:19 ` [PATCH 10/15] KVM: SVM: Don't "NULL terminate" the " Aaron Lewis
2024-12-03 21:30   ` Tom Lendacky
2024-11-27 20:19 ` [PATCH 11/15] KVM: VMX: Make list of possible passthrough MSRs "const" Aaron Lewis
2024-11-27 20:19 ` [PATCH 12/15] KVM: x86: Track possible passthrough MSRs in kvm_x86_ops Aaron Lewis
2024-11-27 21:57   ` Sean Christopherson
2024-11-28 16:46     ` Borislav Petkov
2024-12-03 19:47       ` Sean Christopherson
2024-12-05 17:56         ` Borislav Petkov
2024-12-05 18:06         ` Borislav Petkov
2024-12-06 15:23           ` Sean Christopherson
2024-12-06 16:01             ` Borislav Petkov
2024-11-27 20:19 ` [PATCH 13/15] KVM: x86: Move ownership of passthrough MSR "shadow" to common x86 Aaron Lewis
2024-11-27 20:19 ` [PATCH 14/15] KVM: x86: Hoist SVM MSR intercepts to common x86 code Aaron Lewis
2024-11-27 20:19 ` [PATCH 15/15] KVM: x86: Hoist VMX " Aaron Lewis
2024-11-27 20:56 ` [PATCH 00/15] Unify MSR intercepts in x86 Sean Christopherson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241127201929.4005605-1-aaronlewis@google.com \
    --to=aaronlewis@google.com \
    --cc=jmattson@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=seanjc@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox