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...
Agreed. I do think it is worthwhile to do though. And after I get
it working on my sparc port (too lazy to hack X11R6 thank you very
much ;-) I may be coerced to do the Alpha code for the kernel ;-)
Later,
David S. Miller
davem@caip.rutgers.edu