[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 17:44, David wrote:

I think the Linux kernel folks learned the "unsigned long" lesson too late, and now there is quite a lot of fixup code to convert 32-bit userspace structs to 64-bit kernel structs (have a look at linux/fs/compat_ioctl.c and compat.c). It seems a shame to repeat the same mistakes in Xen...
Quick question.... What is this "'unsigned long' lesson" you are refering to?
As a rule, longs are 4 bytes on 32-bit architectures and 8 bytes on 
64-bit architectures. If you want to support 32-bit apps on your shiny 
new 64-bit OS, it is nice if your interface doesn't contain too many 
structures with different layouts between 32-bit and 64-bit. If you 
have pointers and longs, the structures have differenrt layouts and you 
need a shim layer at the top of the OS to convert 32-bit format into 
the 64-bit format that the OS uses internally. Which is a pain.
 -- 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®.