[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Structure packing when using hypercall.
I'm wondering how you resolve the issue of structure packing when an application that calls hypervisor functions (say, the grant table map reference hypercall that uses struct grant_entry) is compiled with a 32-bit compiler and the hypervisor is compiled with a 64-bit version. There is a discrepancy in the sizes and alignment of the fields within the structure, depending on which compiler is being used. So, my problem arises that I have a 64-bit compiler and a 32-bit HVM guest making a hypercall using the public H header files. Is there some packing being done in other files or at compile time that I'm not seeing? struct grant_entry { /* GTF_xxx: various type and flag information. [XEN,GST] */ uint16_t flags; /* The domain being granted foreign privileges. [GST] */ domid_t domid; /* * GTF_permit_access: Frame that @domid is allowed to map and access. [GST] * GTF_accept_transfer: Frame whose ownership transferred by @domid. [XEN] */ uint32_t frame; }; typedef struct grant_entry grant_entry_t; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |