[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] linux-user: Implement ioctl cmd TIOCGPTPEER
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH v2] linux-user: Implement ioctl cmd TIOCGPTPEER |
Date: |
Thu, 25 Jan 2018 17:28:39 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
Le 25/01/2018 à 14:18, Andreas Schwab a écrit :
> With glibc 2.27 the openpty function will prefer the TIOCGPTPEER ioctl.
>
> Signed-off-by: Andreas Schwab <address@hidden>
> ---
> v2: handle host with old kernel headers
> ---
> linux-user/aarch64/termbits.h | 2 ++
> linux-user/alpha/termbits.h | 1 +
> linux-user/arm/termbits.h | 1 +
> linux-user/cris/termbits.h | 1 +
> linux-user/hppa/termbits.h | 2 ++
> linux-user/i386/termbits.h | 1 +
> linux-user/ioctls.h | 3 +++
> linux-user/m68k/termbits.h | 1 +
> linux-user/microblaze/termbits.h | 1 +
> linux-user/mips/termbits.h | 1 +
> linux-user/nios2/termbits.h | 2 ++
> linux-user/openrisc/termbits.h | 2 ++
> linux-user/ppc/termbits.h | 1 +
> linux-user/s390x/termbits.h | 1 +
> linux-user/sh4/termbits.h | 1 +
> linux-user/sparc/termbits.h | 1 +
> linux-user/sparc64/termbits.h | 1 +
> linux-user/syscall.c | 9 +++++++++
> linux-user/tilegx/termbits.h | 1 +
> linux-user/x86_64/termbits.h | 1 +
> 20 files changed, 34 insertions(+)
>
...
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index 35cad6f944..586c794639 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -40,6 +40,9 @@
> IOCTL(TIOCSETD, IOC_W, MK_PTR(TYPE_INT))
> IOCTL(TIOCGPTN, IOC_R, MK_PTR(TYPE_INT))
> IOCTL(TIOCSPTLCK, IOC_W, MK_PTR(TYPE_INT))
> +#ifdef TIOCGPTPEER
> + IOCTL_SPECIAL(TIOCGPTPEER, 0, do_ioctl_tiocgptpeer, TYPE_INT)
> +#endif
> IOCTL(FIOCLEX, 0, TYPE_NULL)
> IOCTL(FIONCLEX, 0, TYPE_NULL)
> IOCTL(FIOASYNC, IOC_W, MK_PTR(TYPE_INT))
...
> diff --git a/linux-user/sparc/termbits.h b/linux-user/sparc/termbits.h
> index 691600d27a..98268936dc 100644
> --- a/linux-user/sparc/termbits.h
> +++ b/linux-user/sparc/termbits.h
> @@ -245,6 +245,7 @@ struct target_termios {
> /* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */
> #define TARGET_TIOCGPTN TARGET_IOR('t', 134, unsigned int) /* Get Pty
> Number */
> #define TARGET_TIOCSPTLCK TARGET_IOW('t', 135, int) /* Lock/unlock PTY */
> +#define TARGET_TIOCGPTPEER TARGET_IO('T', 137) /* Safely open the slave
> */
On sparc, it's:
#define TIOCGPTPEER TARGET_IO('t', 137) /* Safely open the slave */
>
> /* Little f */
> #define TARGET_FIOCLEX TARGET_IO('f', 1)
> diff --git a/linux-user/sparc64/termbits.h b/linux-user/sparc64/termbits.h
> index 691600d27a..98268936dc 100644
> --- a/linux-user/sparc64/termbits.h
> +++ b/linux-user/sparc64/termbits.h
> @@ -245,6 +245,7 @@ struct target_termios {
> /* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */
> #define TARGET_TIOCGPTN TARGET_IOR('t', 134, unsigned int) /* Get Pty
> Number */
> #define TARGET_TIOCSPTLCK TARGET_IOW('t', 135, int) /* Lock/unlock PTY */
> +#define TARGET_TIOCGPTPEER TARGET_IO('T', 137) /* Safely open the slave
> */
#define TIOCGPTPEER TARGET_IO('t', 137) /* Safely open the slave */
If you fix that, you can add:
Reviewed-by: Laurent Vivier <address@hidden>
Thanks,
Laurent