A growing number of SVM and VMX specific variables are creeping into struct kvm_arch. This trend will likely accelarate as recent/upcoming security oriented features, e.g. AMD's SEV and Intel's SGX, require even more per-VM data. This series leverages KVM's option to define arch specific vm_alloc and vm_free functions so that SVM and VMX can wrap struct kvm with their own top-level structs, e.g. kvm_vmx and kvm_svm. SVM/VMX specific structs allow us to move SVM and VMX specific variables and struct definitions out of kvm_host.h (struct kvm_arch) and into their appropriate modules. The AMD changes are completely untested beyond compiling as I don't have the requesite hardware, testing cycles on AMD would be much appreciated! Sean Christopherson (5): KVM: x86: define SVM/VMX specific kvm_arch_[alloc|free]_vm KVM: x86: move setting of ept_identity_map_addr to vmx.c KVM: VMX: add struct kvm_vmx to hold VMX specific KVM vars KVM: SVM: add struct kvm_svm to hold SVM specific KVM vars KVM: SVM: rename svm_vm_data_hash[_lock] to kvm_svm_hash[_lock] arch/x86/include/asm/kvm_host.h | 36 ++++----- arch/x86/kvm/svm.c | 166 +++++++++++++++++++++++++--------------- arch/x86/kvm/vmx.c | 60 ++++++++++++--- arch/x86/kvm/x86.c | 3 +- 4 files changed, 167 insertions(+), 98 deletions(-) -- 2.7.4