[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] viridian: fix cpuid leaf 0x40000003



On 11/05/18 18:18, Andrew Cooper wrote:
> On 11/05/18 15:48, Paul Durrant wrote:
>> The response to viridian leaf 3 needs to split a 64-bit mask across EAX and
>> EBX, with the low order 32 bits in EAX and the high order 32 bits in EBX.
>> To facilitate this a union of two uint32_t values and the mask (type
>> HV_PARTITION_PRIVILEGE_MASK) is allocated on stack as follows:
>>
>> union {
>>     HV_PARTITION_PRIVILEGE_MASK mask;
>>     uint32_t lo, hi;
>> } u;
>>
>> This, of course, is incorrect as both lo and hi will alias the low order
>> 32 bits of the mask.
>>
>> This patch wraps lo and hi in an anonmymous struct to achieve the desired
>> effect.
>>
>> NOTE: Fixing this also stops Windows making the HvGetPartitionId hypercall
>>       which was previously considered erroneous behaviour. Thus the
>>       hypercall handler is also modified to stop squashing the
>>       'unimplemented' warning for this hypercall.
>>
>> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> 
> CC Juergen.  This wants backporting, and taking into 4.11

Release-acked-by: Juergen Gross <jgross@xxxxxxxx>


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.