public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Second set of console changes.
@ 2002-07-24 20:08 James Simmons
  2002-07-24 20:38 ` Franz Sirl
  2002-07-24 21:58 ` Russell King
  0 siblings, 2 replies; 6+ messages in thread
From: James Simmons @ 2002-07-24 20:08 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Linux console project


This set has various bug fixes and has nearly removed currcon. I also
moved data from console.h and console_struct.h into vt_kern.h. The move to
have struct vt_struct represent a display and struct vc_data represent the
set of VCs belonging to to a display. Also I'm begining the breakup of
console.c. The biggest change is struct kbd_struct has been moved into
struct vc_data.

This will break the following drivers:

drivers/sbus/char/sunkbd.c
drivers/macintosh/mac_keyb.c
drivers/sgi/char/streamable.c

Please port these drivers over to the input api. Soon I will move
keyboard.c over to the input api in the next few weeks anyways. This move
will break every keyboard driver not ported over to the input api.

diff:

   http://www.transvirtual.com/~jsimmons/console.diff.gz

BK:

   http://linuxconsole.bkbits.net:8080/dev


diffstat

 drivers/char/Makefile          |   12
 drivers/char/console.c         | 3032 -------------------------
 drivers/char/console_macros.h  |  155 -
 drivers/char/consolemap.c      |  121 -
 drivers/char/keyboard.c        |  583 ++--
 drivers/char/misc.c            |    1
 drivers/char/selection.c       |   21
 drivers/char/sysrq.c           |  486 ----
 drivers/char/tty_io.c          |    2
 drivers/char/vc_screen.c       |  105
 drivers/char/vt.c              | 4855 +++++++++++++++++++++++++++++++----------
 drivers/video/dummycon.c       |    1
 drivers/video/fbcon-accel.c    |    5
 drivers/video/fbcon.c          |   10
 drivers/video/mdacon.c         |    3
 drivers/video/newport_con.c    |    1
 drivers/video/promcon.c        |   23
 drivers/video/sticon.c         |    1
 drivers/video/vgacon.c         |    1
 include/linux/console.h        |   17
 include/linux/console_struct.h |  110
 include/linux/consolemap.h     |    6
 include/linux/kbd_kern.h       |   26
 include/linux/selection.h      |   24
 include/linux/tty.h            |    2
 include/linux/vt_kern.h        |  172 +
 include/video/fbcon.h          |    2
 27 files changed, 4550 insertions(+), 5227 deletions(-)


   . ---
   |o_o |
   |:_/ |   Give Micro$oft the Bird!!!!
  //   \ \  Use Linux!!!!
 (|     | )
 /'\_   _/`\
 \___)=(___/





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

* Re: [PATCH] Second set of console changes.
  2002-07-24 20:08 [PATCH] Second set of console changes James Simmons
@ 2002-07-24 20:38 ` Franz Sirl
  2002-07-24 21:58 ` Russell King
  1 sibling, 0 replies; 6+ messages in thread
From: Franz Sirl @ 2002-07-24 20:38 UTC (permalink / raw)
  To: James Simmons, Linux Kernel Mailing List
  Cc: Linux console project, Geert Uytterhoeven

On Mittwoch, 24. Juli 2002 22:08, James Simmons wrote:
> drivers/macintosh/mac_keyb.c

This one is obsolete for PPC (replaced by drivers/macintosh/adbhid.c), 
probably the same is true for m68k. Remove it as soon as Geert gives his OK.

Franz.


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

* Re: [PATCH] Second set of console changes.
  2002-07-24 20:08 [PATCH] Second set of console changes James Simmons
  2002-07-24 20:38 ` Franz Sirl
@ 2002-07-24 21:58 ` Russell King
  2002-07-25  6:32   ` James Simmons
  1 sibling, 1 reply; 6+ messages in thread
From: Russell King @ 2002-07-24 21:58 UTC (permalink / raw)
  To: James Simmons; +Cc: Linux Kernel Mailing List, Linux console project

On Wed, Jul 24, 2002 at 01:08:33PM -0700, James Simmons wrote:
>  drivers/char/sysrq.c           |  486 ----

Do you really mean to remove _all_ sysrq functionality from the kernel,
thereby removing an important debugging feature?

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


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

* Re: [PATCH] Second set of console changes.
  2002-07-24 21:58 ` Russell King
@ 2002-07-25  6:32   ` James Simmons
  2002-07-25 13:42     ` Ewan Mac Mahon
  0 siblings, 1 reply; 6+ messages in thread
From: James Simmons @ 2002-07-25  6:32 UTC (permalink / raw)
  To: Russell King; +Cc: Linux Kernel Mailing List, Linux console project


> On Wed, Jul 24, 2002 at 01:08:33PM -0700, James Simmons wrote:
> >  drivers/char/sysrq.c           |  486 ----
>
> Do you really mean to remove _all_ sysrq functionality from the kernel,
> thereby removing an important debugging feature?

Oops. I forgot to do a bk -r co -q after the push. Will send out a newer
patch. Also I discovered a few missed files with the handle_sysrq change.
New patch in the works.

P.S

   To the people with the devfs issues. Please send me a log of what
exactly happened and a detail ksymoop if you can. I just tried it on my
system with devfs enabled and it works for me.


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

* Re: [PATCH] Second set of console changes.
  2002-07-25  6:32   ` James Simmons
@ 2002-07-25 13:42     ` Ewan Mac Mahon
  2002-07-27 20:01       ` James Simmons
  0 siblings, 1 reply; 6+ messages in thread
From: Ewan Mac Mahon @ 2002-07-25 13:42 UTC (permalink / raw)
  To: James Simmons; +Cc: Linux Kernel Mailing List, Linux console project

On Wed, 24 Jul 2002, James Simmons wrote:
>  
>    To the people with the devfs issues. Please send me a log of what
> exactly happened and a detail ksymoop if you can. I just tried it on my
> system with devfs enabled and it works for me. 

It doesn't oops, it just doesn't register the devices so you can't open 
gettys on them. Other than that the kernel boots fine and you can log in 
over the network. Doing that you can see a couple of big difference in 
/dev:

2.5.28 without fix:

$ ls -l /dev/vc
total 0
crw-------    1 root     root       4,   0 Jan  1  1970 0

$ ls -l /dev/tty*
crw-rw-rw-    1 root     root       5,   0 Jan  1  1970 /dev/tty
lr-xr-xr-x    1 root     root            4 Jul 25 14:17 /dev/tty0 -> vc/0


Whereas with the fix to add a call to con_init_devfs() near the end of 
vty_init() it all works and you can see the following:

ls -l /dev/vc
total 0
crw-------    1 root     root       4,   0 Jan  1  1970 0
crw-------    1 root     root       4,   1 Jul 25 14:09 1
crw-------    1 root     root       4,  10 Jan  1  1970 10
crw-------    1 root     root       4,  11 Jan  1  1970 11
etc...
crw-------    1 root     root       4,  63 Jan  1  1970 63

$ ls -l /dev/tty*
crw-rw-rw-    1 root     root       5,   0 Jan  1  1970 /dev/tty
lr-xr-xr-x    1 root     root            4 Jul 25 14:25 /dev/tty0 -> vc/0
lr-xr-xr-x    1 root     root            4 Jul 25 14:25 /dev/tty1 -> vc/1
lr-xr-xr-x    1 root     root            5 Jul 25 14:25 /dev/tty10 -> vc/10
lr-xr-xr-x    1 root     root            5 Jul 25 14:25 /dev/tty11 -> vc/11
etc...
lr-xr-xr-x    1 root     root            5 Jul 25 14:25 /dev/tty63 -> vc/63


If the system can still see static device nodes for the devices it can, of 
course, still ue them even with devfs built into the kernel.

Ewan


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

* Re: [PATCH] Second set of console changes.
  2002-07-25 13:42     ` Ewan Mac Mahon
@ 2002-07-27 20:01       ` James Simmons
  0 siblings, 0 replies; 6+ messages in thread
From: James Simmons @ 2002-07-27 20:01 UTC (permalink / raw)
  To: Ewan Mac Mahon; +Cc: Linux Kernel Mailing List, Linux console project


On Thu, 25 Jul 2002, Ewan Mac Mahon wrote:

> On Wed, 24 Jul 2002, James Simmons wrote:
> >
> >    To the people with the devfs issues. Please send me a log of what
> > exactly happened and a detail ksymoop if you can. I just tried it on my
> > system with devfs enabled and it works for me.
>
> It doesn't oops, it just doesn't register the devices so you can't open
> gettys on them. Other than that the kernel boots fine and you can log in
> over the network. Doing that you can see a couple of big difference in
> /dev:

I tracked down the problem. Originally the code initialized the VT tty
early before kmalloc. So we had this:

console_driver.flags |= TTY_DRIVER_NO_DEVFS;

Now in tty_register_driver, which was called right afterwards, we have
this bit of code.

if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) {
                for(i = 0; i < driver->num; i++)
                    tty_register_devfs(driver, 0, driver->minor_start + i);
}

In the old code code the above was never called. Instead the code in
con_init_devfs was called.

Now in the new code we don't have TTY_DRIVER_NO_DEVFS set so the above is
called. The problem is the default flag that is passed into
tty_register_devfs. It is automatically 0 whereas before it was
DEVFS_FL_AOPEN_NOTIFY. The problem is the flag being passed.

I tried out devfs and found the problem is only root is now only allowed
to access vc/X. This is the problem. I haven't figured out a solution yet.
Any ideas anyone?



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

end of thread, other threads:[~2002-07-27 19:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-24 20:08 [PATCH] Second set of console changes James Simmons
2002-07-24 20:38 ` Franz Sirl
2002-07-24 21:58 ` Russell King
2002-07-25  6:32   ` James Simmons
2002-07-25 13:42     ` Ewan Mac Mahon
2002-07-27 20:01       ` James Simmons

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox