From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerone Young Subject: VMX check in /xen/arch/x86/domain.c is invalid on x86-64 (at least AMD) Date: Wed, 11 May 2005 22:55:56 -0500 Message-ID: <1115870156.5086.17.camel@thinkpad> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: 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 List-Id: xen-devel@lists.xenproject.org if (!(c->flags & ECF_VMX_GUEST)) if ( ((c->cpu_ctxt.cs & 3) == 0) || ((c->cpu_ctxt.ss & 3) == 0) ) return -EINVAL; This check in /xen/arch/x86/domain.c (line 394) is invalid for AMD x86-64 as this field 1<<1 is a reserved field in the rflags (name for 64bit eflags) that reads as 1. This can be found in the AMD x86-64 Programming manual vol 2 on page 65. Below is the code, I'm not sure how to put an ifdef around since I'm not sure if Intel's EMT64 with VMX cpus have the same rflag reserved (which if this check is correct they do)? This helps break x86-64 building domU domains. -- Jerone Young IBM Linux Technology Center jyoung5@us.ibm.com 512-838-1157 (T/L: 678-1157)