|
|
|
|
|
|
|
|
|
|
xen-devel
[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
|
|
|
|
|