KVM: SVM: Sync efer back into nested vmcb
This patch fixes a bug in a nested hypervisor that heavily switches between real-mode and long-mode. The problem is fixed by syncing back efer into the guest vmcb on emulated vmexit. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
19ada5c4b6
commit
3f6a9d1693
|
@ -1896,6 +1896,7 @@ static int nested_svm_vmexit(struct vcpu_svm *svm)
|
|||
nested_vmcb->save.ds = vmcb->save.ds;
|
||||
nested_vmcb->save.gdtr = vmcb->save.gdtr;
|
||||
nested_vmcb->save.idtr = vmcb->save.idtr;
|
||||
nested_vmcb->save.efer = svm->vcpu.arch.efer;
|
||||
nested_vmcb->save.cr0 = kvm_read_cr0(&svm->vcpu);
|
||||
nested_vmcb->save.cr3 = svm->vcpu.arch.cr3;
|
||||
nested_vmcb->save.cr2 = vmcb->save.cr2;
|
||||
|
|
Loading…
Reference in New Issue