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

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



On Sep 30, 2005, at 11:44 AM, 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?

"long" has the unfortunate tendency to change size between 32- and 64-bit compiles, like a pointer. So if you put that in a structure, the structure's layout will change between 32- and 64-bit builds. When you make that structure part of the userland/kernel ABI, you will have problems on architectures that can run both 32- and 64-bit binaries, which include PowerPC, MIPS, x86-64, Sparc, and possibly S390 and even IA64.

--
Hollis Blanchard
IBM Linux Technology Center


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