Those are few fixes for issues I uncovered by doing variants of a
synthetic migration test I just created:
I modified the qemu, such that on each vm pause/resume cycle,
just prior to resuming a vCPU, qemu reads its KVM state,
then (optionaly) resets this state by uploading a
dummy reset state to KVM, and then it uploads back to KVM,
the state that this vCPU had before.
I'll try to make this test upstreamable soon, pending few details
I need to figure out.
Last patch in this series is for false positive warning
that I have seen lately when setting the nested state,
in nested_svm_vmexit, where it expects the vmcb01 to have
VMRUN vmexit, which is not true after nested migration,
as it is not fully initialized.
If you prefer the warning can be removed instead.
Best regards,
Maxim Levitsky
Maxim Levitsky (5):
KVM: nSVM: fix a typo in svm_leave_nested
KVM: nSVM: fix few bugs in the vmcb02 caching logic
KVM: nSVM: leave the guest mode prior to loading a nested state
KVM: nSVM: force L1's GIF to 1 when setting the nested state
KVM: nSVM: set a dummy exit reason in L1 vmcb when loading the nested
state
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/kvm/svm/nested.c | 29 ++++++++++++++++++++++++++---
arch/x86/kvm/svm/svm.c | 4 ++--
3 files changed, 29 insertions(+), 5 deletions(-)