WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [HVM][VMX] Disable IA32e mode in VM_ENTRY

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [HVM][VMX] Disable IA32e mode in VM_ENTRY_CONTROLS when guest tries
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 07 Nov 2006 12:30:21 +0000
Delivery-date: Tue, 07 Nov 2006 04:30:58 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID d745f1420d5b98aef8e518ff306b96fbfc7e6708
# Parent  ac2097d71e06dbbf77279af10d6ae7359d921ab0
[HVM][VMX] Disable IA32e mode in VM_ENTRY_CONTROLS when guest tries
to disable PG from LME mode.

Without this patch, the 64 Vista cannot boot.

Signed-off-by: Xiaohui Xin <xiaohui.xin@xxxxxxxxx>
Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx>
---
 xen/arch/x86/hvm/vmx/vmx.c |    8 ++++++++
 1 files changed, 8 insertions(+)

diff -r ac2097d71e06 -r d745f1420d5b xen/arch/x86/hvm/vmx/vmx.c
--- a/xen/arch/x86/hvm/vmx/vmx.c        Tue Nov 07 09:48:19 2006 +0000
+++ b/xen/arch/x86/hvm/vmx/vmx.c        Tue Nov 07 10:18:50 2006 +0000
@@ -1512,6 +1512,14 @@ static int vmx_set_cr0(unsigned long val
     }
     else if ( (value & (X86_CR0_PE | X86_CR0_PG)) == X86_CR0_PE )
     {
+        if ( vmx_long_mode_enabled(v) )
+        {
+            v->arch.hvm_vmx.msr_content.msr_items[VMX_INDEX_MSR_EFER]
+              &= ~EFER_LMA;
+            __vmread(VM_ENTRY_CONTROLS, &vm_entry_value);
+            vm_entry_value &= ~VM_ENTRY_IA32E_MODE;
+            __vmwrite(VM_ENTRY_CONTROLS, vm_entry_value);
+        }
         shadow_update_paging_modes(v);
         __vmwrite(GUEST_CR3, v->arch.hvm_vcpu.hw_cr3);
     }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [HVM][VMX] Disable IA32e mode in VM_ENTRY_CONTROLS when guest tries, Xen patchbot-unstable <=