This cause problem for some version's SMP windows, at least 2003 64-bit smp windows AP bringup code has such issue.
I'm not sure how much decoder left if we want to do full emulation. But at least we need to add the "mov reg->sreg" as Keir pointed out.
It's very later on my side, so Stephen, would you please add this?
Thanks
Yunhong Jiang
-----Original Message-----
From: Stephen C. Tweedie [mailto:sct@redhat.com]
Sent: 2006Äê11ÔÂ11ÈÕ 0:09
To: Jiang, Yunhong
Cc: Keir Fraser; Yu, Wilfred; Xin, Xiaohui; xen-devel@lists.xensource.com; Herbert Xu; Li, Susie; Steven Rostedt; Li, Xin B; Stephen Tweedie
Subject: RE: [Xen-devel] [Patch] Fix for x86_64 boot failures due tobadsegment setup for protected mode.
Hi,
On Fri, 2006-11-10 at 22:39 +0800, Jiang, Yunhong wrote:
> This patch caused one problem.
>
> If the guest change the DS/SS etc between it set cr0.PE and the jump instruction.
Hmm... Do you know how much of a problem that causes in practice?
Which guests have that behaviour?
> Considering following code:
> mov eax, cr0
> or eax, 0x11
> mov cr0, eax ---> here enable PE, and old_ctx.ds is cleard
> mov ax, 0x0020
> mov ds, ax -> changes the DS here
Well, we've got commit log comments for the "pop %es" case:
2) In
current vmxassist, when entering VM86_PROTECTED_TO_REAL, we need to
decode every instruction manually until we catch instructions like
jmpl to reset cs to really return to real mode.
So I'm afraid I just assumed that we wouldn't need to deal with ds in
real life, since we haven't added emulation for that so far. Is that
emulation we need to add as a matter of some urgency, then?
--Stephen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
I'm not sure how much decoder left if we want to do full emulation. But at least we need to add the "mov reg->sreg" as Keir pointed out.
It's very later on my side, so Stephen, would you please add this?
Thanks
Yunhong Jiang
-----Original Message-----
From: Stephen C. Tweedie [mailto:sct@redhat.com]
Sent: 2006Äê11ÔÂ11ÈÕ 0:09
To: Jiang, Yunhong
Cc: Keir Fraser; Yu, Wilfred; Xin, Xiaohui; xen-devel@lists.xensource.com; Herbert Xu; Li, Susie; Steven Rostedt; Li, Xin B; Stephen Tweedie
Subject: RE: [Xen-devel] [Patch] Fix for x86_64 boot failures due tobadsegment setup for protected mode.
Hi,
On Fri, 2006-11-10 at 22:39 +0800, Jiang, Yunhong wrote:
> This patch caused one problem.
>
> If the guest change the DS/SS etc between it set cr0.PE and the jump instruction.
Hmm... Do you know how much of a problem that causes in practice?
Which guests have that behaviour?
> Considering following code:
> mov eax, cr0
> or eax, 0x11
> mov cr0, eax ---> here enable PE, and old_ctx.ds is cleard
> mov ax, 0x0020
> mov ds, ax -> changes the DS here
Well, we've got commit log comments for the "pop %es" case:
2) In
current vmxassist, when entering VM86_PROTECTED_TO_REAL, we need to
decode every instruction manually until we catch instructions like
jmpl to reset cs to really return to real mode.
So I'm afraid I just assumed that we wouldn't need to deal with ds in
real life, since we haven't added emulation for that so far. Is that
emulation we need to add as a matter of some urgency, then?
--Stephen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel