[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] 32/64-bit hypercall interface



On Thu, Sep 29, 2005 at 11:43:10PM +0100, Keir Fraser wrote:
> 
> On 29 Sep 2005, at 21:12, Hollis Blanchard wrote:
> 
> >>start_info_t: tools, kernel
> >>xen_parameters_info_t: tools, hypervisor
> >>gnttab_setup_table_t: kernel, hypervisor
> >>gnttab_transfer_t: kernel, hypervisor
> >>struct xen_memory_reservation: tools, kernel, hypervisor
> >>struct t_rec: tools, hypervisor
> >>struct t_buf: tools, hypervisor
> >>
> >>(This was just a quick grep for "long" in xen/include/public.)
> >
> >Of course, pointers have the same problem. Thankfully, it seems 
> >pointers are
> >mostly found in the same list of offenders. (It's also a little harder 
> >to
> >grep for "*", so I could be missing some problems.)
> 
> How about writing a script that converts the Xen public headers into a 
> set that, when compiled on 32-bit ppc, match the 64-bit ppc layout? 
> That might be saner than trying to manually finesse our headers around 
> the ppc abi so that building in 32-bit or 64-bit environment both 
> happen to give same binary layout.
> 

If this type of ABI compatibility is needed, interface data structures should 
be declared
platform-independantly, i.e using 'sized' types (yeah, field alignment should 
be taken care of too).
That'll guarantee 32/64 bit independance and that's good thing to have. Once 
defined it can be 
managed in controlled way. There could be penalty involved for using larger 
data types than neccessary,
but that can be resolved having 32-bit(or 64-bit, depending whichever is 
attractive as basic)
hypercall subset.

-Andrei

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.