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

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




On 30 Sep 2005, at 01:54, Andrei Petrov wrote:

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.

When we previously had this, by defining packed structs, there were plenty of screams that it wasn't ANSI compliant, and that performance sucks on some architectures. At the time there seemed no good reason for cross-ABI compatibility (we don't plan to stuff these structs into network packets, for example).

 -- Keir


_______________________________________________
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®.