Subject: Re: Alpha X server limitations
To: Jason Duerstock <jason@linux.aatech.com>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: port-alpha
Date: 02/04/1997 15:16:58
On Tue, 4 Feb 1997 17:39:00 -0500 (EST) 
 Jason Duerstock <jason@linux.aatech.com> wrote:

 > >From the basis of providing an familiar text-based user interface, I think
 > the console interface is the simplest to program and subsequently use en
 > route to providing better interfaces.

...what chris means by "console interface" is the software interface
used by programs which need to directly manipulate the console hardware,
i.e. getting mouse and keyboard events, and manipulating the framebuffer.

 > 'inb()' and 'outb()' map to a memory mapped input/output section on the
 > alpha which interfaces to the ISA bus.  If you have multiple busses, it's
 > up to the architecture specification to let you know how to talk to
 > anything connected to the bus.

So, instead, we maintain two completely different packages?  That seems...
wrong to me.

 > I may be speaking totally offbase here, but as far as I can tell, XFree86
 > was mostly developed for use on x86 machines, and those that are
 > relatively architecturally similar.  ISA + PCI based Alpha systems fall
 > close if not directly in with these.

Yah, but _only_ the ISA + PCI alphas.  That doesn't do me a lot of
good on my DEC 3000/400.

 > PCI configuration services are provided by the kernel and provide a
 > standard interface for determining what is attached to the system, what it
 > does, and where it's located relative to the memory and I/O bus.
 > 
 > 'cat /proc/pci' will gleam information such as the following on a PCI x86
 > or alpha system:

[ snip ]

...so, you have to parse this.  Ick.  I like opening a framebuffer
device, doing an ioctl to find out what type it is, and then using
some reasonable bus space abstraction to access the device once
mapped, regardless of what type it is.

 > I am totally unfamiliar with the turbo-channel set up, but from what you
 > describe, this sounds similar.  Providing a standard OS interface for
 > programs that bridge the gap between user and kernel functions is probably
 > the cleanest way to implement providing the necessary information to an
 > XFree86 port.

Well, eventually, we'd like _all_ NetBSD platforms to use the same,
sane console interface... Think about how much easier maintaining
one X server will be :-)

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939