[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.7] xen/hvm: Fix advertisment of available xstates following c/s c52319642
On Fri, Jun 10, 2016 at 07:17:43PM +0100, Andrew Cooper wrote: > PKU lives in CPUID.7[0].ECX, not EBX. This causes hardware with BMI1 to > accidentally advertise PKU in CPUID.0xD[0].EAX. Any OS which proceeds to > blindly write this into %xcr0 takes a #GP fault. (Experimentally, Windows > Vista 32bit falls into this category.) > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > --- > CC: Jan Beulich <JBeulich@xxxxxxxx> > CC: Wei Liu <wei.liu2@xxxxxxxxxx> > Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx> and Release-acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> > This is all going to be far less error prone when I have guest_has_$FEATURE(v) > helpers which read the bits out of a flat array... > --- > xen/arch/x86/hvm/hvm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c > index e664b34..78db903 100644 > --- a/xen/arch/x86/hvm/hvm.c > +++ b/xen/arch/x86/hvm/hvm.c > @@ -3466,7 +3466,7 @@ void hvm_cpuid(unsigned int input, unsigned int *eax, > unsigned int *ebx, > xstate_sizes[_XSTATE_BNDCSR]); > } > > - if ( _ebx & cpufeat_mask(X86_FEATURE_PKU) ) > + if ( _ecx & cpufeat_mask(X86_FEATURE_PKU) ) > { > xfeature_mask |= XSTATE_PKRU; > xstate_size = max(xstate_size, > -- > 2.1.4 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |