From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guillaume Thouvenin Subject: Re: VMX disabled by Feature Control MSR Date: Wed, 14 Jun 2006 14:35:02 +0200 Message-ID: <20060614143502.0e7d2289@localhost.localdomain> References: <20060614134549.2b6e965d@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20060614134549.2b6e965d@localhost.localdomain> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "xen-devel@lists.xensource.com" Cc: LAURENT VIVIER , JEAN-PIERRE DION List-Id: xen-devel@lists.xenproject.org On Wed, 14 Jun 2006 13:45:49 +0200 Guillaume Thouvenin wrote: > Thus my question is: What to do to set the bit 2 of the > IA32_FEATURE_CONTROL to 1? Is it only possible by using the option in > the BIOS menu (and it's not present in mine) or is it possible to set it > to 1 before switching in protected mode when Xen is booting. For exemple > somwhere in arch/x86/boot/x86_64.S? In fact the problem is how to set the lock bit to 0. In the following code found in arch/x86/hvm/vmx/vmx.c : start_vmx() { ... if (eax & IA32_FEATURE_CONTROL_MSR_LOCK) { if ((eax & IA32_FEATURE_CONTROL_MSR_ENABLE_VMXON) == 0x0) { printk("VMX disabled by Feature Control MSR.\n"); return 0; } } else { wrmsr(IA32_FEATURE_CONTROL_MSR, IA32_FEATURE_CONTROL_MSR_LOCK | IA32_FEATURE_CONTROL_MSR_ENABLE_VMXON, 0); } ... If the "VMX disabled..." message is displayed, it means that the lock bit is set to 1. Otherwise we set bit2 to 1. If I try to clear it while it is set it causes a general-protection fault. Is it possible to modify before Xen switches from real mode to protected mode? I will try to modify the arch/x86/boot/x86_64.S Regards, Guillaume