[PATCH 00/28] KVM: VMX: Add "vmx" dir and shatter vmx.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The ultimate goal of this series is to break vmx.c's monopoly on all
things VMX so that it's size goes from utterly ludicrous to merely
ridiculous.  For the most part the patches are simply moving code
around.  There are a few actual code changes sprinkled in, primarily
to allow moving the nested code out of vmx.c without having to expose
variables unnecessarily.

Sean Christopherson (28):
  KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails
  KVM: nVMX: Allocate and configure VM{READ,WRITE} bitmaps iff
    enable_shadow_vmcs
  KVM: VMX: Alphabetize the includes in vmx.c
  KVM: x86: Add requisite includes to kvm_cache_regs.h
  KVM: x86: Add requisite includes to hyperv.h
  KVM: VMX: Move VMX specific files to a "vmx" subdirectory
  KVM: VMX: rename vmx_shadow_fields.h to vmcs_shadow_fields.h
  KVM: VMX: Drop the "vmx" prefix from vmx_evmcs.h
  KVM: VMX: Move caching of MSR_IA32_XSS to hardware_setup()
  KVM: VMX: Properly handle dynamic VM Entry/Exit controls
  KVM: VMX: Pass vmx_capability struct to setup_vmcs_config()
  KVM: VMX: Move capabilities structs and helpers to dedicated file
  KVM: VMX: Expose various module param vars via capabilities.h
  KVM: VMX: Move VMCS definitions to dedicated file
  KVM: nVMX: Move vmcs12 code to dedicated files
  KVM: VMX: Move eVMCS code dedicated files
  KVM: VMX: Move VMX instruction wrappers to a dedicated header file
  KVM: VMX: Add vmx.h to hold VMX definitions and inline functions
  KVM: VMX: Move nested hardware/vcpu {un}setup to helper functions
  KVM: x86: nVMX: Allow nested_enable_evmcs to be NULL
  KVM: VMX: Move the hardware {un}setup functions to the bottom
  KVM: nVMX: Set callbacks for nested functions during hardware setup
  KVM: nVMX: Call nested_vmx_setup_ctls_msrs() iff @nested is true
  KVM: nVMX: Move "vmcs12 to shadow/evmcs sync" to helper function
  KVM: VMX: Expose misc variables needed for nested VMX
  KVM: VMX: Expose various getters and setters to nested VMX
  KVM: VMX: Expose nested_vmx_allowed() to nested VMX as a non-inline
  KVM: nVMX: Move nested code to dedicated files

 arch/x86/kvm/Makefile                         |     2 +-
 arch/x86/kvm/hyperv.h                         |     2 +
 arch/x86/kvm/kvm_cache_regs.h                 |     2 +
 arch/x86/kvm/vmx.c                            | 15290 ----------------
 arch/x86/kvm/vmx/capabilities.h               |   328 +
 arch/x86/kvm/{vmx_evmcs.h => vmx/evmcs.c}     |    47 +-
 arch/x86/kvm/vmx/evmcs.h                      |   198 +
 arch/x86/kvm/vmx/nested.c                     |  5703 ++++++
 arch/x86/kvm/vmx/nested.h                     |   282 +
 arch/x86/kvm/vmx/ops.h                        |   285 +
 arch/x86/kvm/{ => vmx}/pmu_intel.c            |     0
 arch/x86/kvm/vmx/vmcs.h                       |   136 +
 arch/x86/kvm/vmx/vmcs12.c                     |   157 +
 arch/x86/kvm/vmx/vmcs12.h                     |   462 +
 .../vmcs_shadow_fields.h}                     |     0
 arch/x86/kvm/vmx/vmx.c                        |  7392 ++++++++
 arch/x86/kvm/vmx/vmx.h                        |   602 +
 arch/x86/kvm/x86.c                            |     2 +
 18 files changed, 15570 insertions(+), 15320 deletions(-)
 delete mode 100644 arch/x86/kvm/vmx.c
 create mode 100644 arch/x86/kvm/vmx/capabilities.h
 rename arch/x86/kvm/{vmx_evmcs.h => vmx/evmcs.c} (94%)
 create mode 100644 arch/x86/kvm/vmx/evmcs.h
 create mode 100644 arch/x86/kvm/vmx/nested.c
 create mode 100644 arch/x86/kvm/vmx/nested.h
 create mode 100644 arch/x86/kvm/vmx/ops.h
 rename arch/x86/kvm/{ => vmx}/pmu_intel.c (100%)
 create mode 100644 arch/x86/kvm/vmx/vmcs.h
 create mode 100644 arch/x86/kvm/vmx/vmcs12.c
 create mode 100644 arch/x86/kvm/vmx/vmcs12.h
 rename arch/x86/kvm/{vmx_shadow_fields.h => vmx/vmcs_shadow_fields.h} (100%)
 create mode 100644 arch/x86/kvm/vmx/vmx.c
 create mode 100644 arch/x86/kvm/vmx/vmx.h

-- 
2.19.2




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux