Re: share COMPATIBLE_IOCTL()s across architectures

Pavel Machek
2003-03-21T10:10:09Z

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.