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 <[email protected]>
>
> Acked-by: Andrew Cooper <[email protected]>
>
> CC Juergen. This wants backporting, and taking into 4.11
Release-acked-by: Juergen Gross <[email protected]>
Juergen
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel