On 11/10/2016 05:59 PM, Andrew Cooper wrote:
>>>> @ -259,6 +266,14 @@ struct vm_event_cpuid {
>>>> >>>      uint32_t _pad;
>>>> >>>  };
>>>> >>>  
>>>> >>> +struct vm_event_interrupt_x86 {
>>>> >>> +    uint32_t vector;
>>>> >>> +    uint32_t type;
>>>> >>> +    uint32_t error_code;
>>>> >>> +    uint64_t cr2;
>>>> >>> +    uint32_t _pad;
>>>> >>> +};
>>> >> I'm pretty certain this is not what you want, as this make the layout
>>> >> vary between 32-bit (compat) and 64-bit (native) callers.
>> > I'll remove the _pad.
> You need to invert the pad and cr2, so cr2 starts at 16 bytes into the
> structure.
> 
> Remember that uint64_t has 8 byte alignment in 64bit, but only 4 byte
> alignment in 32bit.

Right, it's been a long day. :) Thanks, I'll do that.


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to