# HG changeset patch # User Travis Betak # Date 1173133341 21600 # Node ID 7bd561c6b2a6f5fdadf6f3bfdda3b2e8538a7ed4 # Parent 3157042d91c9d0fc4db651d0f842493c14df1c39 [SVM] Clear VMCB's EFER.LME when guest disables paging Since the guest's CR0.PG is always set (in shadow paging), EFER.LME must be cleared along with EFER.LMA when the guest is disabling paging. Signed-off-by: Travis Betak diff -r 3157042d91c9 -r 7bd561c6b2a6 xen/arch/x86/hvm/svm/svm.c --- a/xen/arch/x86/hvm/svm/svm.c Mon Mar 05 16:21:50 2007 -0600 +++ b/xen/arch/x86/hvm/svm/svm.c Mon Mar 05 16:22:21 2007 -0600 @@ -1787,7 +1787,7 @@ static int svm_set_cr0(unsigned long val { if ( svm_long_mode_enabled(v) ) { - vmcb->efer &= ~EFER_LMA; + vmcb->efer &= ~(EFER_LME | EFER_LMA); v->arch.hvm_svm.cpu_shadow_efer &= ~EFER_LMA; } /* we should take care of this kind of situation */