[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220128005208.4008533-1-seanjc@google.com>
Date: Fri, 28 Jan 2022 00:51:46 +0000
From: Sean Christopherson <seanjc@...gle.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: Sean Christopherson <seanjc@...gle.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, Like Xu <like.xu.linux@...il.com>
Subject: [PATCH 00/22] KVM: x86: Fill *_x86_ops via kvm-x86-ops.h
Use kvm-x86-ops.h to fill vmx_x86_ops and svm_x86_ops, with a bunch of
cleanup along the way to make that happen. Aside from removing a lot of
boilerplate code, the part I most like about fill via kvm-x86-ops.h is
that it provides enforcement that (a) new kvm_x86_ops hooks get added to
kvm-x86-ops.h and (b) vendor code has to implement _something_, even if
it's a redirect to NULL, which provides documentation of what's going on.
Patch 01 isn't exactly necessary for this series, my hope is that Maxim's
bug fix for the AVIC race can go on top without introducing too much
conflict for either of us.
Sean Christopherson (22):
KVM: x86: Drop unnecessary and confusing KVM_X86_OP_NULL macro
KVM: x86: Move delivery of non-APICv interrupt into vendor code
KVM: x86: Drop export for .tlb_flush_current() static_call key
KVM: x86: Rename kvm_x86_ops pointers to align w/ preferred vendor
names
KVM: x86: Use static_call() for .vcpu_deliver_sipi_vector()
KVM: VMX: Call vmx_get_cpl() directly in handle_dr()
KVM: xen: Use static_call() for invoking kvm_x86_ops hooks
KVM: nVMX: Refactor PMU refresh to avoid referencing
kvm_x86_ops.pmu_ops
KVM: x86: Uninline and export hv_track_root_tdp()
KVM: x86: Unexport kvm_x86_ops
KVM: x86: Use static_call() for copy/move encryption context ioctls()
KVM: x86: Allow different macros for APICv, CVM, and Hyper-V
kvm_x86_ops
KVM: VMX: Rename VMX functions to conform to kvm_x86_ops names
KVM: VMX: Use kvm-x86-ops.h to fill vmx_x86_ops
KVM: x86: Move get_cs_db_l_bits() helper to SVM
KVM: SVM: Rename svm_flush_tlb() to svm_flush_tlb_current()
KVM: SVM: Remove unused MAX_INST_SIZE #define
KVM: SVM: Rename AVIC helpers to use "avic" prefix instead of "svm"
KVM: x86: Use more verbose names for mem encrypt kvm_x86_ops hooks
KVM: SVM: Rename SEV implemenations to conform to kvm_x86_ops hooks
KVM: SVM: Rename hook implementations to conform to kvm_x86_ops' names
KVM: SVM: Use kvm-x86-ops.h to fill svm_x86_ops
arch/x86/include/asm/kvm-x86-ops.h | 131 ++++++++++--------
arch/x86/include/asm/kvm_host.h | 32 ++---
arch/x86/kvm/kvm_onhyperv.c | 14 ++
arch/x86/kvm/kvm_onhyperv.h | 14 +-
arch/x86/kvm/lapic.c | 12 +-
arch/x86/kvm/mmu/mmu.c | 6 +-
arch/x86/kvm/svm/avic.c | 28 ++--
arch/x86/kvm/svm/sev.c | 18 +--
arch/x86/kvm/svm/svm.c | 214 ++++++++++-------------------
arch/x86/kvm/svm/svm.h | 41 +++---
arch/x86/kvm/vmx/nested.c | 5 +-
arch/x86/kvm/vmx/nested.h | 3 +-
arch/x86/kvm/vmx/pmu_intel.c | 3 +-
arch/x86/kvm/vmx/posted_intr.c | 6 +-
arch/x86/kvm/vmx/posted_intr.h | 4 +-
arch/x86/kvm/vmx/vmx.c | 178 +++++++-----------------
arch/x86/kvm/x86.c | 79 +++++------
arch/x86/kvm/xen.c | 4 +-
18 files changed, 324 insertions(+), 468 deletions(-)
base-commit: b029c138e8f090f5cb9ba77ef20509f903ef0004
--
2.35.0.rc0.227.g00780c9af4-goog
Powered by blists - more mailing lists