RE: more on Xdec X server, my insights...

Jay A Estabrook (jestabro@amt.tay1.dec.com)
Tue, 14 Nov 1995 22:52:56 -0500


David,

>The worst of it is the GET_AND_MAP_EVENT_QUEUE ioctl(), the Sparcs
>need something very similar under the name "vuid-event". Basically I
>think it is a queue of raw mouse/keyboard input that the server can
>drain from when it gets the chance.

Yup, the kernel and server share some memory for an event queue, so that
system calls like "select(2)" don't have to be done, with their overhead,
except infrequently.

But the worst is really one called MAP_UNMAP_SCREEN, which essentially
performs both the necessary "mmap" of the video frame buffer memory as
well as mapping of I/O registers for controllers whose registers are
separate from the memory, like VGA's. Passed back are process virtual
addresses where the memory and registers can be accessed.

There are a number of other special "ioctls" used by the server
to communicate with the kernel drivers, but these are the most
important. And under Digital UNIX, *all* the graphics devices are
accessed only through the "workstation device" (/dev/mouse! :-),
even when there are multiple heads!

>I'm sure there are other lunacies I am missing at this point.

No, you got most of the high points... :-)

Bottom line: without *extensive* additions to the kernel, Xdec-based
servers will never run under LINUX...

--Jay++