Messages in this thread | | | Date | Fri, 21 Mar 2003 11:21:08 +0100 | From | Pavel Machek <> | Subject | Re: share COMPATIBLE_IOCTL()s across architectures |
| |
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.
Okay, I was carefull this time to only include common set. (I still think that most differences are simple bugs).
Pavel -- Horseback riding is like software... ...vgf orggre jura vgf serr. - 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/
| |