Index: [thread] [date] [subject] [author]
  From: Tristan Wibberley <bloater@ps.cus.umist.ac.uk>
  To  : ggi-develop@eskimo.com
  Date: Thu, 25 Mar 1999 15:16:51 +0000

Re: Linus on linuxworld

On Thu, Mar 25, 1999 at 07:11:56AM +0100, Johan Karlberg wrote:
> 
> 
> On Wed, 24 Mar 1999, Josh wrote:
> 
> > 
> > I've just started getting into the ggi project, so I'm not in any position
> > to dictate where ggi should go, but it seems like the logical thing to do
> > is to make kgi the absolute minimal driver. Maybe setSaneMode() (in the
> > case that something gets hosed), saveState(), restoreState(), setMode(),
> > and a few setVideoRegister()/getVideoRegister() functions that disallow
> > invalid/destructive register settings.  This way the kernel API is
> > minimal, and all the real work is done in user space.
> > 

> Yes, the minimal KGI driver you are talking about is pretty much our ideal
> driver, for the ideal hardware in an ideal world. Unfortunatley however,
> many a hardware out there has no way for you to safely export acceleration
> registers to userspace while also guaranteeeing that a user cannot lock
> upo the graphics card or acceleration engine, thus leaving the system
> unusable. On some hardware, Matrox cmes to mind, it is supposedly possible
> to export acceleration registers safely, and in such a case, it is the way
> it is supposed to be done. a minimal kernel driver and acceleration in the
> ggi stubs. On most hardware that is buggy or poorly designed (S3 comes to
> mind here, alsthough not exclusivly in anyway) we will have to have
> acceleration in the kernel, or not at all, in order to maintain system
> integrity.

Or you can export registers on an individual basis (also sanity checking),
and provide means for register programming like this in batch (ping-pong
buffers). This is not really acceleration in the kernel - it is just the
kernel making hardware access safe - which it is for. The kernel does not
even need to abstract the hardware - just make access safe.

--
Tristan Wibberley

Index: [thread] [date] [subject] [author]