linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Why does x86_64 support a SuSE-specific ioctl?
@ 2002-10-04 14:59 Adrian Bunk
  0 siblings, 0 replies; 12+ messages in thread
From: Adrian Bunk @ 2002-10-04 14:59 UTC (permalink / raw)
  To: linux-kernel

Hi,

arch/x86_64/ia32/ia32_ioctl.c in both 2.4.20-pre8 and 2.5.40 contains:

<--  snip  -->

...
/* SuSE extension */
#ifndef TIOCGDEV
#define TIOCGDEV       _IOR('T',0x32, unsigned int)
#endif
static int tiocgdev(unsigned fd, unsigned cmd,  unsigned int *ptr)
{
...
}
...
HANDLE_IOCTL(TIOCGDEV, tiocgdev)
...

<--  snip  -->

TIOCGDEV is (as the comment above indicates) in neither 2.4.20-pre9 nor in
2.5.40 and I'm wondering why the x86_64 kernel supports a SuSE-specific
i386 ioctl?

cu
Adrian

-- 

You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
								Alan Cox


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05 17:00         ` Miquel van Smoorenburg
@ 2002-10-09 18:03           ` Miquel van Smoorenburg
  0 siblings, 0 replies; 12+ messages in thread
From: Miquel van Smoorenburg @ 2002-10-09 18:03 UTC (permalink / raw)
  To: linux-kernel

In article <ann5s4$87a$1@ncc1701.cistron.net>,
Miquel van Smoorenburg <miquels@cistron.nl> wrote:
>So you need to know what the _real_ console is so you can write
>a copy to the real console. The only way to find that out is
>to call TIOCGDEV on /dev/console, then scan /dev. That is
>what bootlogd does, I've tried to get TIOCGDEV in the kernel
>since 2.2 days but gave up because it was ignored. So bootlogd
>has always been 'experimental', though it is very useful,
>since it has no kernel support.
>
>Now, to solve this particular problem, there are a few
>alternatives.
>
>One is a TIOCCONS_COPY ioctl, so that output is not redirected
>but copied to the pty.
>
>Another, perhaps more elegant solution is that writes
>to the pty slave that receives the console output should
>go to the real console. A swap instead of a redirect.

That doesn't work since other OSes redirect both input and
output, and while we don't do that we don't want to change
semantics too much.

How about _not_ doing the redirect for filehandles opened
with O_DIRECT ?

--- linux-2.4.19/drivers/char/tty_io.c.orig	Sat Aug  3 02:39:43 2002
+++ linux-2.4.19/drivers/char/tty_io.c	Wed Oct  9 20:01:26 2002
@@ -755,7 +755,7 @@
 	is_console = (inode->i_rdev == SYSCONS_DEV ||
 		      inode->i_rdev == CONSOLE_DEV);
 
-	if (is_console && redirect)
+	if (is_console && redirect && !(file->f_flags & O_DIRECT))
 		tty = redirect;
 	else
 		tty = (struct tty_struct *)file->private_data;

Mike.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05 15:00     ` Andi Kleen
@ 2002-10-07 17:48       ` Marcelo Tosatti
  0 siblings, 0 replies; 12+ messages in thread
From: Marcelo Tosatti @ 2002-10-07 17:48 UTC (permalink / raw)
  To: Andi Kleen; +Cc: H. Peter Anvin, linux-kernel


Andi,

Please send me a patch to remove TIOCGDEV from my tree.

Thanks.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05 13:21       ` Alan Cox
@ 2002-10-05 17:00         ` Miquel van Smoorenburg
  2002-10-09 18:03           ` Miquel van Smoorenburg
  0 siblings, 1 reply; 12+ messages in thread
From: Miquel van Smoorenburg @ 2002-10-05 17:00 UTC (permalink / raw)
  To: linux-kernel

In article <1033824115.3425.2.camel@irongate.swansea.linux.org.uk>,
Alan Cox  <alan@lxorguk.ukuu.org.uk> wrote:
>I see no good reason for this ioctl at all, in any tree.

Check out 'bootlogd.c' in sysvinit.

It starts at boot time, created a tty/pty pair, and does a TIOCCONS
on it. Everything that gets written to /dev/console now goes
ty the pty, so it can log all output.

However you still want to see the output on the screen. But
you can't copy it to /dev/console, because you'd get it right
back in the pty.

So you need to know what the _real_ console is so you can write
a copy to the real console. The only way to find that out is
to call TIOCGDEV on /dev/console, then scan /dev. That is
what bootlogd does, I've tried to get TIOCGDEV in the kernel
since 2.2 days but gave up because it was ignored. So bootlogd
has always been 'experimental', though it is very useful,
since it has no kernel support.

Now, to solve this particular problem, there are a few
alternatives.

One is a TIOCCONS_COPY ioctl, so that output is not redirected
but copied to the pty.

Another, perhaps more elegant solution is that writes
to the pty slave that receives the console output should
go to the real console. A swap instead of a redirect.

The last one probably makes more sense - it seems
very logical, and is trivial to implement.

Mike.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05  7:56   ` H. Peter Anvin
@ 2002-10-05 15:00     ` Andi Kleen
  2002-10-07 17:48       ` Marcelo Tosatti
  0 siblings, 1 reply; 12+ messages in thread
From: Andi Kleen @ 2002-10-05 15:00 UTC (permalink / raw)
  To: H. Peter Anvin; +Cc: linux-kernel

"H. Peter Anvin" <hpa@zytor.com> writes:
> > -
> > +		case TIOCGDEV:
> > +			return put_user (kdev_t_to_nr (real_tty->device), (unsigned int*) arg);
> 
> This is broken -- you're returning a dev_t as an unsigned int.  On
> i386 that means overwriting two bytes of userspace you shouldn't be,

The interface is defined as int, not as dev_t (see the ioctl defines)

I'm not aware of anybody proposing 64bit dev_t for the kernel, 
only 32bit dev_t, and the interface provides for that.

-Andi

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05 13:20   ` Alan Cox
@ 2002-10-05 14:36     ` Andrea Arcangeli
  0 siblings, 0 replies; 12+ messages in thread
From: Andrea Arcangeli @ 2002-10-05 14:36 UTC (permalink / raw)
  To: Alan Cox
  Cc: Andi Kleen, Adrian Bunk, Linux Kernel Mailing List, Marcelo Tosatti

On Sat, Oct 05, 2002 at 02:20:43PM +0100, Alan Cox wrote:
> On Sat, 2002-10-05 at 05:35, Andi Kleen wrote:
> >  		 */
> > diff -urN linux-2.4.18.tmp/include/asm-alpha/ioctls.h linux-2.4.18.SuSE/include/asm-alpha/ioctls.h
> > --- linux-2.4.18.tmp/include/asm-alpha/ioctls.h	Sat May  4 11:37:28 2002
> > +++ linux-2.4.18.SuSE/include/asm-alpha/ioctls.h	Sat May  4 11:37:56 2002
> > @@ -92,6 +92,7 @@
> >  #define TIOCGSID	0x5429  /* Return the session ID of FD */
> >  #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
> >  #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
> > +#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
> >  
> 
> Shouldn't these values be reserved in 2.5 before anything goes into 2.4
> for this - the values finally used might be different

yes it should, just like the MAP_BIGPAGE and several other bits in the
rhas (O_ATOMICLOOKUP etc...):

+#define MAP_BIGPAGE	0x40		/* bigpage mapping */

I attempted doing a sync with mainline for all these potential future
binary-incompatibilities several months ago but it went to /dev/null and
nobody cared to merge these bits into mainline, hopefully this thread
will bring more attention to these kind of patches now.

Andrea

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05  5:10     ` Andi Kleen
@ 2002-10-05 13:21       ` Alan Cox
  2002-10-05 17:00         ` Miquel van Smoorenburg
  0 siblings, 1 reply; 12+ messages in thread
From: Alan Cox @ 2002-10-05 13:21 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Jeff Garzik, Adrian Bunk, Linux Kernel Mailing List, Marcelo Tosatti

On Sat, 2002-10-05 at 06:10, Andi Kleen wrote:
> > * viro might have a cow at the use of kdev_t_to_nr...  is that required 
> > for compatibility with some existing apps?  It seems like you want to 
> > _decompose_ a number into major/minor, to be an interface that 
> > withstands the test of time
> 
> It withstands the test of time as well as stat(2) or the loop ioctls.

Is that old stat, stat, stat64 or the proposed new stat64 ?

I see no good reason for this ioctl at all, in any tree.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05  4:35 ` Andi Kleen
  2002-10-05  5:04   ` Jeff Garzik
  2002-10-05  7:56   ` H. Peter Anvin
@ 2002-10-05 13:20   ` Alan Cox
  2002-10-05 14:36     ` Andrea Arcangeli
  2 siblings, 1 reply; 12+ messages in thread
From: Alan Cox @ 2002-10-05 13:20 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Adrian Bunk, Linux Kernel Mailing List, Marcelo Tosatti

On Sat, 2002-10-05 at 05:35, Andi Kleen wrote:
>  		 */
> diff -urN linux-2.4.18.tmp/include/asm-alpha/ioctls.h linux-2.4.18.SuSE/include/asm-alpha/ioctls.h
> --- linux-2.4.18.tmp/include/asm-alpha/ioctls.h	Sat May  4 11:37:28 2002
> +++ linux-2.4.18.SuSE/include/asm-alpha/ioctls.h	Sat May  4 11:37:56 2002
> @@ -92,6 +92,7 @@
>  #define TIOCGSID	0x5429  /* Return the session ID of FD */
>  #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
>  #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
> +#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
>  

Shouldn't these values be reserved in 2.5 before anything goes into 2.4
for this - the values finally used might be different


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05  4:35 ` Andi Kleen
  2002-10-05  5:04   ` Jeff Garzik
@ 2002-10-05  7:56   ` H. Peter Anvin
  2002-10-05 15:00     ` Andi Kleen
  2002-10-05 13:20   ` Alan Cox
  2 siblings, 1 reply; 12+ messages in thread
From: H. Peter Anvin @ 2002-10-05  7:56 UTC (permalink / raw)
  To: linux-kernel

Followup to:  <p73adltqz9g.fsf@oldwotan.suse.de>
By author:    Andi Kleen <ak@suse.de>
In newsgroup: linux.dev.kernel
>
> Adrian Bunk <bunk@fs.tum.de> writes:
> > 
> > TIOCGDEV is (as the comment above indicates) in neither 2.4.20-pre9 nor in
> > 2.5.40 and I'm wondering why the x86_64 kernel supports a SuSE-specific
> > i386 ioctl?
> 
> Why not? 
> 
> I resubmitted the TIOCGDEV patch to Marcelo now, which implements it 
> for the console device.
> 

> -
> +		case TIOCGDEV:
> +			return put_user (kdev_t_to_nr (real_tty->device), (unsigned int*) arg);

This is broken -- you're returning a dev_t as an unsigned int.  On
i386 that means overwriting two bytes of userspace you shouldn't be,
and if dev_t > unsigned int in the future it has the opposite problem.
Note that this is different from TIOCGPTN which return a pts number,
not a dev_t.

	-hpa
-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt	<amsp@zytor.com>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05  5:04   ` Jeff Garzik
@ 2002-10-05  5:10     ` Andi Kleen
  2002-10-05 13:21       ` Alan Cox
  0 siblings, 1 reply; 12+ messages in thread
From: Andi Kleen @ 2002-10-05  5:10 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andi Kleen, Adrian Bunk, linux-kernel, Marcelo Tosatti

> It seems like a good idea to -not- add this ioctl, because
> * if 2.4.x and 2.5.x don't have it, there obviously isn't a huge need 
> for it, so why add one more ioctl we will have to maintain binary 
> compatibility for

The 'blogd' daemon requires it. There is also no other good way to do this
(parsing /proc/cmdline is not an option because /proc may not exist or 
note be mounted)

> * "real dev" doesn't necessary have meaning in all contexts, IIRC

Can you give an example on when it doesn't have meaning ?

> * viro might have a cow at the use of kdev_t_to_nr...  is that required 
> for compatibility with some existing apps?  It seems like you want to 
> _decompose_ a number into major/minor, to be an interface that 
> withstands the test of time

It withstands the test of time as well as stat(2) or the loop ioctls.

-Andi

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
  2002-10-05  4:35 ` Andi Kleen
@ 2002-10-05  5:04   ` Jeff Garzik
  2002-10-05  5:10     ` Andi Kleen
  2002-10-05  7:56   ` H. Peter Anvin
  2002-10-05 13:20   ` Alan Cox
  2 siblings, 1 reply; 12+ messages in thread
From: Jeff Garzik @ 2002-10-05  5:04 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Adrian Bunk, linux-kernel, Marcelo Tosatti

Andi Kleen wrote:
> Adrian Bunk <bunk@fs.tum.de> writes:
> 
>>TIOCGDEV is (as the comment above indicates) in neither 2.4.20-pre9 nor in
>>2.5.40 and I'm wondering why the x86_64 kernel supports a SuSE-specific
>>i386 ioctl?
> 
> 
> Why not? 
> 
> I resubmitted the TIOCGDEV patch to Marcelo now, which implements it 
> for the console device.
[...]
> diff -urN linux-2.4.18.tmp/include/asm-arm/ioctls.h linux-2.4.18.SuSE/include/asm-arm/ioctls.h
> --- linux-2.4.18.tmp/include/asm-arm/ioctls.h	Fri Feb  9 01:32:44 2001
> +++ linux-2.4.18.SuSE/include/asm-arm/ioctls.h	Sat May  4 11:37:56 2002
> @@ -49,6 +49,7 @@
>  #define TIOCGSID	0x5429  /* Return the session ID of FD */
>  #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
>  #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
> +#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
>  
>  #define FIONCLEX	0x5450  /* these numbers need to be adjusted. */
>  #define FIOCLEX		0x5451


"Why not?" is not a very good argument for merging code into the kernel :)

It seems like a good idea to -not- add this ioctl, because
* if 2.4.x and 2.5.x don't have it, there obviously isn't a huge need 
for it, so why add one more ioctl we will have to maintain binary 
compatibility for
* "real dev" doesn't necessary have meaning in all contexts, IIRC
* viro might have a cow at the use of kdev_t_to_nr...  is that required 
for compatibility with some existing apps?  It seems like you want to 
_decompose_ a number into major/minor, to be an interface that 
withstands the test of time


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Why does x86_64 support a SuSE-specific ioctl?
       [not found] <Pine.NEB.4.44.0210041654570.11119-100000@mimas.fachschaften.tu-muenchen.de.suse.lists.linux.kernel>
@ 2002-10-05  4:35 ` Andi Kleen
  2002-10-05  5:04   ` Jeff Garzik
                     ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Andi Kleen @ 2002-10-05  4:35 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linux-kernel

Adrian Bunk <bunk@fs.tum.de> writes:
> 
> TIOCGDEV is (as the comment above indicates) in neither 2.4.20-pre9 nor in
> 2.5.40 and I'm wondering why the x86_64 kernel supports a SuSE-specific
> i386 ioctl?

Why not? 

I resubmitted the TIOCGDEV patch to Marcelo now, which implements it 
for the console device.

-Andi

Here is it for your reference (applies to 2.4.20pre):

diff -urN linux-2.4.18.tmp/arch/sparc64/kernel/ioctl32.c linux-2.4.18.SuSE/arch/sparc64/kernel/ioctl32.c
--- linux-2.4.18.tmp/arch/sparc64/kernel/ioctl32.c	Sat May  4 11:37:20 2002
+++ linux-2.4.18.SuSE/arch/sparc64/kernel/ioctl32.c	Sat May  4 11:38:42 2002
@@ -3911,6 +3911,7 @@
 COMPATIBLE_IOCTL(TIOCLINUX)
 COMPATIBLE_IOCTL(TIOCSTART)
 COMPATIBLE_IOCTL(TIOCSTOP)
+COMPATIBLE_IOCTL(TIOCGDEV)
 /* Little t */
 COMPATIBLE_IOCTL(TIOCGETD)
 COMPATIBLE_IOCTL(TIOCSETD)
diff -urN linux-2.4.18.tmp/drivers/char/tty_io.c linux-2.4.18.SuSE/drivers/char/tty_io.c
--- linux-2.4.18.tmp/drivers/char/tty_io.c	Sat May  4 11:37:25 2002
+++ linux-2.4.18.SuSE/drivers/char/tty_io.c	Sat May  4 11:37:56 2002
@@ -1775,7 +1775,8 @@
 #endif
 		case TIOCTTYGSTRUCT:
 			return tiocttygstruct(tty, (struct tty_struct *) arg);
-
+		case TIOCGDEV:
+			return put_user (kdev_t_to_nr (real_tty->device), (unsigned int*) arg);
 		/*
 		 * Break handling
 		 */
diff -urN linux-2.4.18.tmp/include/asm-alpha/ioctls.h linux-2.4.18.SuSE/include/asm-alpha/ioctls.h
--- linux-2.4.18.tmp/include/asm-alpha/ioctls.h	Sat May  4 11:37:28 2002
+++ linux-2.4.18.SuSE/include/asm-alpha/ioctls.h	Sat May  4 11:37:56 2002
@@ -92,6 +92,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define TIOCSERCONFIG	0x5453
 #define TIOCSERGWILD	0x5454
diff -urN linux-2.4.18.tmp/include/asm-arm/ioctls.h linux-2.4.18.SuSE/include/asm-arm/ioctls.h
--- linux-2.4.18.tmp/include/asm-arm/ioctls.h	Fri Feb  9 01:32:44 2001
+++ linux-2.4.18.SuSE/include/asm-arm/ioctls.h	Sat May  4 11:37:56 2002
@@ -49,6 +49,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define FIONCLEX	0x5450  /* these numbers need to be adjusted. */
 #define FIOCLEX		0x5451
diff -urN linux-2.4.18.tmp/include/asm-i386/ioctls.h linux-2.4.18.SuSE/include/asm-i386/ioctls.h
--- linux-2.4.18.tmp/include/asm-i386/ioctls.h	Sat May  4 11:37:28 2002
+++ linux-2.4.18.SuSE/include/asm-i386/ioctls.h	Sat May  4 11:37:56 2002
@@ -49,6 +49,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define FIONCLEX	0x5450  /* these numbers need to be adjusted. */
 #define FIOCLEX		0x5451
diff -urN linux-2.4.18.tmp/include/asm-ia64/ioctls.h linux-2.4.18.SuSE/include/asm-ia64/ioctls.h
--- linux-2.4.18.tmp/include/asm-ia64/ioctls.h	Sat May  4 11:37:28 2002
+++ linux-2.4.18.SuSE/include/asm-ia64/ioctls.h	Sat May  4 11:37:56 2002
@@ -54,6 +54,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define FIONCLEX	0x5450  /* these numbers need to be adjusted. */
 #define FIOCLEX		0x5451
diff -urN linux-2.4.18.tmp/include/asm-m68k/ioctls.h linux-2.4.18.SuSE/include/asm-m68k/ioctls.h
--- linux-2.4.18.tmp/include/asm-m68k/ioctls.h	Sat May  4 11:37:28 2002
+++ linux-2.4.18.SuSE/include/asm-m68k/ioctls.h	Sat May  4 11:37:56 2002
@@ -49,6 +49,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define FIONCLEX	0x5450  /* these numbers need to be adjusted. */
 #define FIOCLEX		0x5451
diff -urN linux-2.4.18.tmp/include/asm-mips/ioctls.h linux-2.4.18.SuSE/include/asm-mips/ioctls.h
--- linux-2.4.18.tmp/include/asm-mips/ioctls.h	Sun Sep  9 19:43:01 2001
+++ linux-2.4.18.SuSE/include/asm-mips/ioctls.h	Sat May  4 11:37:56 2002
@@ -89,6 +89,7 @@
 #define TIOCGSID	0x7416  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define TIOCSERCONFIG	0x5488
 #define TIOCSERGWILD	0x5489
diff -urN linux-2.4.18.tmp/include/asm-mips64/ioctls.h linux-2.4.18.SuSE/include/asm-mips64/ioctls.h
--- linux-2.4.18.tmp/include/asm-mips64/ioctls.h	Sun Sep  9 19:43:02 2001
+++ linux-2.4.18.SuSE/include/asm-mips64/ioctls.h	Sat May  4 11:37:56 2002
@@ -89,6 +89,7 @@
 #define TIOCGSID	0x7416  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define TIOCSERCONFIG	0x5488
 #define TIOCSERGWILD	0x5489
diff -urN linux-2.4.18.tmp/include/asm-ppc/ioctls.h linux-2.4.18.SuSE/include/asm-ppc/ioctls.h
--- linux-2.4.18.tmp/include/asm-ppc/ioctls.h	Tue May 22 00:02:06 2001
+++ linux-2.4.18.SuSE/include/asm-ppc/ioctls.h	Sat May  4 11:37:56 2002
@@ -92,6 +92,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define TIOCSERCONFIG	0x5453
 #define TIOCSERGWILD	0x5454
diff -urN linux-2.4.18.tmp/include/asm-s390/ioctls.h linux-2.4.18.SuSE/include/asm-s390/ioctls.h
--- linux-2.4.18.tmp/include/asm-s390/ioctls.h	Tue Feb 13 23:13:44 2001
+++ linux-2.4.18.SuSE/include/asm-s390/ioctls.h	Sat May  4 11:37:56 2002
@@ -57,6 +57,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define FIONCLEX	0x5450  /* these numbers need to be adjusted. */
 #define FIOCLEX		0x5451
diff -urN linux-2.4.18.tmp/include/asm-s390x/ioctls.h linux-2.4.18.SuSE/include/asm-s390x/ioctls.h
--- linux-2.4.18.tmp/include/asm-s390x/ioctls.h	Tue Feb 13 23:13:44 2001
+++ linux-2.4.18.SuSE/include/asm-s390x/ioctls.h	Sat May  4 11:37:56 2002
@@ -57,6 +57,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define FIONCLEX	0x5450  /* these numbers need to be adjusted. */
 #define FIOCLEX		0x5451
diff -urN linux-2.4.18.tmp/include/asm-sh/ioctls.h linux-2.4.18.SuSE/include/asm-sh/ioctls.h
--- linux-2.4.18.tmp/include/asm-sh/ioctls.h	Sat May  4 11:37:28 2002
+++ linux-2.4.18.SuSE/include/asm-sh/ioctls.h	Sat May  4 11:37:56 2002
@@ -81,6 +81,7 @@
 #define TIOCGSID	_IOR('T', 41, pid_t) /* 0x5429 */ /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define TIOCSERCONFIG	_IO('T', 83) /* 0x5453 */
 #define TIOCSERGWILD	_IOR('T', 84,  int) /* 0x5454 */
diff -urN linux-2.4.18.tmp/include/asm-sparc/ioctls.h linux-2.4.18.SuSE/include/asm-sparc/ioctls.h
--- linux-2.4.18.tmp/include/asm-sparc/ioctls.h	Sat May  4 11:37:28 2002
+++ linux-2.4.18.SuSE/include/asm-sparc/ioctls.h	Sat May  4 11:37:56 2002
@@ -100,6 +100,7 @@
 #define TIOCSSERIAL	0x541F
 #define TCSBRKP		0x5425
 #define TIOCTTYGSTRUCT	0x5426
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 #define TIOCSERCONFIG	0x5453
 #define TIOCSERGWILD	0x5454
 #define TIOCSERSWILD	0x5455
diff -urN linux-2.4.18.tmp/include/asm-sparc64/ioctls.h linux-2.4.18.SuSE/include/asm-sparc64/ioctls.h
--- linux-2.4.18.tmp/include/asm-sparc64/ioctls.h	Sat May  4 11:37:28 2002
+++ linux-2.4.18.SuSE/include/asm-sparc64/ioctls.h	Sat May  4 11:37:56 2002
@@ -101,6 +101,7 @@
 #define TIOCSSERIAL	0x541F
 #define TCSBRKP		0x5425
 #define TIOCTTYGSTRUCT	0x5426
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 #define TIOCSERCONFIG	0x5453
 #define TIOCSERGWILD	0x5454
 #define TIOCSERSWILD	0x5455
diff -urN linux-2.4.19-pre8.orig/include/asm-ppc64/ioctls.h linux-2.4.19-pre8/include/asm-ppc64/ioctls.h
--- linux-2.4.19-pre8.orig/include/asm-ppc64/ioctls.h	Sat Mar 30 01:48:50 2002
+++ linux-2.4.19-pre8/include/asm-ppc64/ioctls.h	Fri May  3 16:33:18 2002
@@ -96,6 +96,7 @@
 #define TIOCGSID	0x5429  /* Return the session ID of FD */
 #define TIOCGPTN	_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
 #define TIOCSPTLCK	_IOW('T',0x31, int)  /* Lock/unlock Pty */
+#define TIOCGDEV	_IOR('T',0x32, unsigned int) /* Get real dev no below /dev/console */
 
 #define TIOCSERCONFIG	0x5453
 #define TIOCSERGWILD	0x5454
--- linux-2.4.19-pre9/arch/ppc64/kernel/ioctl32.c~	2002-06-03 12:01:56.000000000 +0000
+++ linux-2.4.19-pre9/arch/ppc64/kernel/ioctl32.c	2002-06-03 12:02:52.000000000 +0000
@@ -3728,6 +3728,7 @@
 COMPATIBLE_IOCTL(TCSETSF),
 COMPATIBLE_IOCTL(TIOCLINUX),
 COMPATIBLE_IOCTL(TIOCSTART),
+COMPATIBLE_IOCTL(TIOCGDEV),
 /* Little t */
 COMPATIBLE_IOCTL(TIOCGETD),
 COMPATIBLE_IOCTL(TIOCSETD),

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2002-10-09 17:58 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-04 14:59 Why does x86_64 support a SuSE-specific ioctl? Adrian Bunk
     [not found] <Pine.NEB.4.44.0210041654570.11119-100000@mimas.fachschaften.tu-muenchen.de.suse.lists.linux.kernel>
2002-10-05  4:35 ` Andi Kleen
2002-10-05  5:04   ` Jeff Garzik
2002-10-05  5:10     ` Andi Kleen
2002-10-05 13:21       ` Alan Cox
2002-10-05 17:00         ` Miquel van Smoorenburg
2002-10-09 18:03           ` Miquel van Smoorenburg
2002-10-05  7:56   ` H. Peter Anvin
2002-10-05 15:00     ` Andi Kleen
2002-10-07 17:48       ` Marcelo Tosatti
2002-10-05 13:20   ` Alan Cox
2002-10-05 14:36     ` Andrea Arcangeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).