Re: [Xen-devel] [PATCHv1 4/5] x86/viridian: set x87 FIP width to 4 for Windows guests

2016-02-19 Thread Jan Beulich
>>> On 18.02.16 at 19:52, wrote: > --- a/xen/arch/x86/hvm/viridian.c > +++ b/xen/arch/x86/hvm/viridian.c > @@ -148,6 +148,30 @@ static void dump_guest_os_id(const struct domain *d) > goi->fields.service_pack, goi->fields.build_number); > } > > +static void

Re: [Xen-devel] [PATCHv1 4/5] x86/viridian: set x87 FIP width to 4 for Windows guests

2016-02-18 Thread Andrew Cooper
On 18/02/16 18:52, David Vrabel wrote: > diff --git a/xen/arch/x86/hvm/viridian.c b/xen/arch/x86/hvm/viridian.c > index 6bd844b..fb9f044 100644 > --- a/xen/arch/x86/hvm/viridian.c > +++ b/xen/arch/x86/hvm/viridian.c > @@ -148,6 +148,30 @@ static void dump_guest_os_id(const struct domain *d) >

[Xen-devel] [PATCHv1 4/5] x86/viridian: set x87 FIP width to 4 for Windows guests

2016-02-18 Thread David Vrabel
Microsoft Windows always uses a 32-bit FPU state save/restore and expects the FCS/FDS to be saved/restored. Ensure that for these guests, the hypervisor does 32-bit save/restore to preserve FCS/FDS. These guests are identified by the write to the Guest OS ID MSR. This fixes an 0x3D BugCheck