From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerone Young Subject: Re: VMX check in /xen/arch/x86/domain.c is invalid on x86-64 (at least AMD) Date: Thu, 12 May 2005 00:58:05 -0500 Message-ID: <9f50a7a00505112258494d7688@mail.gmail.com> References: <4282EE03.9080700@intel.com> Reply-To: Jerone Young Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <4282EE03.9080700@intel.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Arun Sharma Cc: Jerone Young , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Yes I am actually. Sorry guy. I got that one screwed up in my head. Pressed the send button too quickly. Thanks for the respsonses though. On 5/12/05, Arun Sharma wrote: > Jerone Young wrote: > > if (!(c->flags & ECF_VMX_GUEST)) > > if ( ((c->cpu_ctxt.cs & 3) =3D=3D 0) || > > ((c->cpu_ctxt.ss & 3) =3D=3D 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 ho= w > > to put an ifdef around since I'm not sure if Intel's EMT64 with VMX cpu= s > > have the same rflag reserved (which if this check is correct they do)? > > This helps break x86-64 building domU domains. > > >=20 > It is a reserved bit on Intel as well. Look at: >=20 > VMCS_EFLAGS_RESERVED_1 and the IA-32 vol1 Fig 3-7. >=20 > Are you mixing up ctxt->user_regs.rflags and ctxt->flags in > xc_linux_build.c? >=20 > -Arun >=20 > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >