Re: Minimal kernel support for user-space graphics drivers

Roger Espel Llima (espel@llaic.u-clermont1.fr)
Sun, 29 Mar 1998 04:58:01 +0200


> On Sat, 28 Mar 1998, Erik Corry wrote:
>
> > Here's an idea to clean up the ragged edges in the way that
> > current X servers handle graphics hardware without throwing
> > the baby out with the bathwater.
> >
> > The idea is to include a minimal Forth interpreter in
> > the kernel. Before anyone screams bloat, remember that a
> > forth byte-code interpreter can be very very small indeed,
> > and this one can be very primitive. Essentially, all we
> > need is inb/outb/inw/outw/inl/outl and the normal + - *
> > dup roll if.
> >
> > Now instead of poking at the card registers itself,
> > the X server can register tiny forth programs that
> > do the work. You register one to set the console into
> > the right mode, and another to set it back to the base
> > state. Obviously, both routines should be registered in one
> > atomic system call. If the server crashes, the 'base state'
> > proglet is executed, and when the user switches virtual
> > consoles the same happens. The proglets must execute
> > with interrupts off and all the data they need must in
> > non-swappable kernel RAM.

Hey, this looks _good_! It looks pretty easy to do, actually, compared
to the GGI way. A Forth-like interpreter with just a very few 'words'
(in a fixed table, to simplify) shouldn't take more than 1k or so. And
the snippets of code themselves could be pretty small.

This doesn't solve the acceleration issues, though, nor the fact that
cli/sti is often needed to program the cards.

-- 
Roger Espel Llima, espel@llaic.u-clermont1.fr
http://www.eleves.ens.fr:8080/home/espel/index.html

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu