[PATCH 0/8] KVM: nSVM: ondemand nested state allocation + smm fixes

From: Maxim Levitsky
Date: Thu Aug 27 2020 - 13:04:50 EST


This patch series does some refactoring and implements on demand nested state area
This way at least guests that don't use nesting won't waste memory
on nested state.

This patch series is based on patch series '[PATCH 0/3] Few nSVM bugfixes'
(patch #7 here should have beeing moved there as well to be honest)

The series was tested with various nested guests, and it seems to work
as long as I disable the TSC deadline timer (this is unrelated to this
patch series)

I addressed the review feedback from V2, and added few refactoring
patches to this series as suggested.

Best regards,
Maxim Levitsky

Maxim Levitsky (8):
KVM: SVM: rename a variable in the svm_create_vcpu
KVM: nSVM: rename nested vmcb to vmcb12
KVM: SVM: refactor msr permission bitmap allocation
KVM: SVM: use __GFP_ZERO instead of clear_page
KVM: SVM: refactor exit labels in svm_create_vcpu
KVM: x86: allow kvm_x86_ops.set_efer to return a value
KVM: emulator: more strict rsm checks.
KVM: nSVM: implement ondemand allocation of the nested state

arch/x86/include/asm/kvm_host.h | 2 +-
arch/x86/kvm/emulate.c | 22 ++-
arch/x86/kvm/svm/nested.c | 267 ++++++++++++++++++--------------
arch/x86/kvm/svm/svm.c | 106 +++++++------
arch/x86/kvm/svm/svm.h | 10 +-
arch/x86/kvm/vmx/vmx.c | 9 +-
arch/x86/kvm/x86.c | 3 +-
7 files changed, 243 insertions(+), 176 deletions(-)

--
2.26.2