Hi,
The following patch adds TCSBRKP ioctl translation for arch/x86_64/ia32.
TCSBRKP is needed for POSIX tcsendbreak().
Some archs (such as sparc64) have added TCSBRKP in their compat codes,
Here is for x86_64.
Signed-off-by: Gordon Jin <[email protected]>
--- linux-2.6.8/arch/x86_64/ia32/ia32_ioctl.c.orig 2004-09-23 09:21:20.000000000 -0700
+++ linux-2.6.8/arch/x86_64/ia32/ia32_ioctl.c 2004-09-23 09:22:31.000000000 -0700
@@ -189,6 +189,7 @@ COMPATIBLE_IOCTL(RTC_SET_TIME)
COMPATIBLE_IOCTL(RTC_WKALM_SET)
COMPATIBLE_IOCTL(RTC_WKALM_RD)
COMPATIBLE_IOCTL(FIOQSIZE)
+COMPATIBLE_IOCTL(TCSBRKP)
/* And these ioctls need translation */
HANDLE_IOCTL(TIOCGDEV, tiocgdev)
Thanks,
Gordon
On S?nnavend 09 Oktober 2004 11:47, Jin, Gordon wrote:
> --- linux-2.6.8/arch/x86_64/ia32/ia32_ioctl.c.orig??????2004-09-23 09:21:20.000000000 -0700
> +++ linux-2.6.8/arch/x86_64/ia32/ia32_ioctl.c???2004-09-23 09:22:31.000000000 -0700
> @@ -189,6 +189,7 @@ COMPATIBLE_IOCTL(RTC_SET_TIME)
> ?COMPATIBLE_IOCTL(RTC_WKALM_SET)
> ?COMPATIBLE_IOCTL(RTC_WKALM_RD)
> ?COMPATIBLE_IOCTL(FIOQSIZE)
> +COMPATIBLE_IOCTL(TCSBRKP)
> ?
> ?/* And these ioctls need translation */
> ?HANDLE_IOCTL(TIOCGDEV, tiocgdev)
This is not the optimal solution, for two reasons:
- If it is needed on all architectures, you should instead remove it
from the ones that currently define it and put it in
include/linux/compat_ioctl.h.
- It is not actually COMPATIBLE_IOCTL, but rather ULONG_IOCTL,
as far as I can tell. Yes, I made the same mistake in
arch/s390/kernel/compat_ioctl.c, but you can fix it now
that you are touching it anyway.
Arnd <><