Subject: Re: Status of i810 agp X support?
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: port-i386
Date: 08/12/2000 19:33:41
On Sat, Aug 12, 2000 at 12:21:42PM -0700, Jonathan Stone wrote:
> 
> In message <200008110304.MAA21837@juran.asahi-net.or.jp>IWAMOTO Toshihiro writes
> >At Thu, 10 Aug 2000 18:15:42 -0700,
> 
> >The PCI bus probing code is ugly (the definition of pci_softc was
> >copied from the kernel source) and should be fixed, but I think that
> >there should be no real problem with importing.
> 
> I was wondering if someone wanted to redo it completely (Jason?)
> and integrate it as a non-modular device.

It's noteworthy that this device could be somewhat problematic.  The i810,
like most AGP video chipsets, has a DMA engine that can be programmed to
go to and from arbitrary bus addresses.  Having a device driver that
made the i810 "work" without regard to securelevel would essentially
bypass the entire securelevel mechanism.

Similarly, we don't have general-purpose AGP GART manipulation code in
our kernel, like Linux does.  This is a lose because it keeps us from
using DMA to get commands and data (e.g. textures) on and off the 3D
accellerators supported by MesaGLX -- this is why our MesaGLX modules
are much, much slower than the Linux ones.  But it's pretty hard to see
how this *could* be made to work without either moving all of the GL
support into the kernel or discarding the securelevel guarantees
entirely...

Upshot: to do this kind of thing without ditching XFree, it needs to
"work" *only* when securelevel < 1.  If you're going to implement a
device to support the i810 or AGP GART in general, please keep this
in mind.