Messages in this thread | | | Subject | Re: share COMPATIBLE_IOCTL()s across architectures | From | Andi Kleen <> | Date | 20 Mar 2003 21:24:49 +0100 |
| |
On Thu, 2003-03-20 at 20:32, Pavel Machek wrote: > Hi! > > > This patche moves common COMPATIBLE_IOCTLs to > > include/linux/compat_ioctl.h, enabling pretty nice cleanups: > > > > Please be careful. For anything non-trivial there can be major > > differences between compat layers. > > I'm trying to be carefull. How common are ioctls that are > COMPATIBLE_IOCTL(foo) on one arch, but not on another? So far I tried > to decide, and mostly decided that one architecture was simply > missing...
The only issue I'm aware of are structures with long long. IA64 and x86-64 are special in that long long has a different alignmnet in 32bit and 64bit (4 bytes in 32bit, 8 bytes in 64bit). All the other archs with compat code have always 8 byte alignment. This means if sparc64 doesn't do a conversion, but x86-64 does you cannot put it into the COMPAT_IOCTL list. Make sure you only use the common set.
Fortunately long long is not that common and many uses of it are already 8 byte aligned, but not all are.
-Andi
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |