Subject: Re: Why not track our xsrc with X11R6.6 from
To: NetBSD-current Discussion List <current-users@NetBSD.ORG>
From: Nathan J. Williams <nathanw@MIT.EDU>
List: current-users
Date: 07/17/2001 00:48:08 (Greg A. Woods) writes:

> Xsun simply expect a framebuffer device driver that offers various
> common ioctl() calls.  I don't know the exact details, but the sun tcx
> driver for accellerated frame buffers seems no different.  It simply
> offers up the lookup tables and various control registers via mmap().

Even the "simple" problem of providing information about the frame
buffer sizes and control register locations requires kernel knowledge
of the video card.

The problem with the PC-world PCI/AGP video card universe is that
there are 10 bazillion cards and variants, and every single one is
annoyingly different.

Do you really want to have to make the kernel know about all this
goop so that it can translate it into a common interface? 

This is not to say that XFree86 is the model of ideal software
portability; just that the appropriate abstraction layer is
lower. Something like "What kind of bus is this on? What is the
bus-specific information (TC/SBus/PCI device ID, and so on)? For some
buses, "What address ranges can I map?". 

This also doesn't even touch the (hardware-based) issue that the
implementation of accelerated video cards with DMA engines, and the
lack of page-based protection in any computer's bus/memory DMA
interface, implies that any code that can touch the video system in a
useful way has full priveleges to touch the entire system.

        - Nathan