Subject: Re: Put big hunks of the Xserver in the kernel?
To: None <matthieu@laas.fr>
From: Michael L. VanLoon -- HeadCandy.com <michaelv@HeadCandy.com>
List: current-users
Date: 01/24/1996 21:15:39
>Gordon W. Ross wrote (in his message from Wed 24)
> > [ Is the i386 Xserver SUID root, and why... ]

> > > > 1. Write a device driver for each different graphic board on the
> > > >    market (it should probably implement the mi level of the Xserver to
> > > >    be safe)
> > > > 2. Have XFree86 (and the other available servers) use them.

> > Remember this old guidline:
> > If something does not need to be in the kernel for either functional
> > or performance reasons, then it should not be in the kernel.
> > This guidline helps preserve system robustness, and makes debugging
> > much easier, among several other advantages...

>I agree totally. But all SVGA boards are programmed through I/O
>registers that cannot be left writable to the normal users since they
>can be used to burn your monitor. 
>
>Correct me if I'm wrong, it seems that, in this situation, the
>graphics primitves needed by the normal ASCII console and any graphics
>program have to be done either by a setuid/setgid program or by the kernel
>(perhaps in a LKM).
>
>The current approach used by XFree86 is considered as ``broken''
>by many, so I try to evaluate the alternatives. 

What about a user-mode setuid root "server" process that stands in
behalf of X and does the low-level device-dependent stuff.  Would this
cause excessive system calls or context switching?

-----------------------------------------------------------------------------
  Michael L. VanLoon                                 michaelv@HeadCandy.com
       --<  Free your mind and your machine -- NetBSD free un*x  >--
     NetBSD working ports: 386+PC, Mac 68k, Amiga, HP300, Sun3, Sun4,
                           DEC PMAX (MIPS), DEC Alpha, PC532
     NetBSD ports in progress: VAX, Atari 68k, others...
-----------------------------------------------------------------------------