Subject: Re: Put big hunks of the Xserver in the kernel?
To: None <matthieu@laas.fr>
From: Gordon W. Ross <gwr@mc.com>
List: current-users
Date: 01/25/1996 10:10:38
[ If it doesn't need to be in the kernel, don't put it there...]

> Date: Wed, 24 Jan 1996 18:38:41 +0100
> From: matthieu@laas.fr (Matthieu Herrb)
> 
> 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. 

In this case, you have performance reasons for kernel code (the
Xserver needs to have a fast way to change VGA registers) and
there are also security reasons (dangerous register settings).
You need something in the kernel, so the challenge is to find
an appropriate "level" in the software to put the user/kernel
boundary.  The current I/O permission thing is actually a pretty
good solution, at least for performance.  It would be slower,
but perhaps a set of ioctl calls to do things to the registers
on your VGA would be OK if they don't happen too often...

Gordon