[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Structure packing when using hypercall.
See arch/x86/hvm/hvm.c. Some 32-to-64 conversion gets done in there, as a wrapper around the core hypercall routines. -- Keir On 22/10/07 20:14, "Roger Cruz" <rcruz@xxxxxxxxxxxxxxxxxxxxxxxx> wrote: > > 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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |