Re: share COMPATIBLE_IOCTL()s across architectures

Pavel Machek (pavel@suse.cz)
Fri, 21 Mar 2003 11:21:08 +0100


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/