* VMX check in /xen/arch/x86/domain.c is invalid on x86-64 (at least AMD)
@ 2005-05-12 3:55 Jerone Young
0 siblings, 0 replies; 3+ messages in thread
From: Jerone Young @ 2005-05-12 3:55 UTC (permalink / raw)
To: xen-devel
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)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: VMX check in /xen/arch/x86/domain.c is invalid on x86-64 (at least AMD)
[not found] <mailman.1115870256.14673@unix-os.sc.intel.com>
@ 2005-05-12 5:47 ` Arun Sharma
2005-05-12 5:58 ` Jerone Young
0 siblings, 1 reply; 3+ messages in thread
From: Arun Sharma @ 2005-05-12 5:47 UTC (permalink / raw)
To: Jerone Young; +Cc: xen-devel
Jerone Young wrote:
> 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.
>
It is a reserved bit on Intel as well. Look at:
VMCS_EFLAGS_RESERVED_1 and the IA-32 vol1 Fig 3-7.
Are you mixing up ctxt->user_regs.rflags and ctxt->flags in
xc_linux_build.c?
-Arun
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: VMX check in /xen/arch/x86/domain.c is invalid on x86-64 (at least AMD)
2005-05-12 5:47 ` Arun Sharma
@ 2005-05-12 5:58 ` Jerone Young
0 siblings, 0 replies; 3+ messages in thread
From: Jerone Young @ 2005-05-12 5:58 UTC (permalink / raw)
To: Arun Sharma; +Cc: Jerone Young, xen-devel
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 <arun.sharma@intel.com> wrote:
> Jerone Young wrote:
> > 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.
> >
>
> It is a reserved bit on Intel as well. Look at:
>
> VMCS_EFLAGS_RESERVED_1 and the IA-32 vol1 Fig 3-7.
>
> Are you mixing up ctxt->user_regs.rflags and ctxt->flags in
> xc_linux_build.c?
>
> -Arun
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-05-12 5:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-12 3:55 VMX check in /xen/arch/x86/domain.c is invalid on x86-64 (at least AMD) Jerone Young
[not found] <mailman.1115870256.14673@unix-os.sc.intel.com>
2005-05-12 5:47 ` Arun Sharma
2005-05-12 5:58 ` Jerone Young
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.