diff options
author | Wei Huang <wei.huang2@amd.com> | 2021-01-26 03:18:31 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2021-02-04 05:27:28 -0500 |
commit | 14c2bf81fcd2226ca7fb9b179320ca1ca7cb581a (patch) | |
tree | 8fea01a324274270a98afa84ae8c0f165ee3a599 /arch/x86/kvm/trace.h | |
parent | 3b9c723ed7cfa4e1eef338afaa57e94be2a60d9c (diff) | |
download | linux-14c2bf81fcd2226ca7fb9b179320ca1ca7cb581a.tar.bz2 |
KVM: SVM: Fix #GP handling for doubly-nested virtualization
Under the case of nested on nested (L0, L1, L2 are all hypervisors),
we do not support emulation of the vVMLOAD/VMSAVE feature, the
L0 hypervisor can inject the proper #VMEXIT to inform L1 of what is
happening and L1 can avoid invoking the #GP workaround. For this
reason we turns on guest VM's X86_FEATURE_SVME_ADDR_CHK bit for KVM
running inside VM to receive the notification and change behavior.
Similarly we check if vcpu is under guest mode before emulating the
vmware-backdoor instructions. For the case of nested on nested, we
let the guest handle it.
Co-developed-by: Bandan Das <bsd@redhat.com>
Signed-off-by: Bandan Das <bsd@redhat.com>
Signed-off-by: Wei Huang <wei.huang2@amd.com>
Tested-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20210126081831.570253-5-wei.huang2@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/trace.h')
0 files changed, 0 insertions, 0 deletions