* X386 for Mach i386

** Installation.

1) Get your hands on X11R5 source from mit.  Apply mit patches as desired.

2) If you have a microsoft compatible mouse you must install the
   com.c.diff patch to the kernel.  The microsoft mouse feeds the
   UART chip 7 bit characters; com.c must be hacked to accept this.

3) cp x386.cf to mit/config (you may want to save the old version).

4)
	cd mit/server/ddx/x386
	patch -p1 < x386.diff

4.1) cp servermd.h server/include
4.2) cp x386KbdMach.c server/ddx/x386
4.3) cp vgaBankMach.s server/ddx/x386/vga

[please forgive the lack of these files in the last post!]

5) Make world.

6) Pray.

7) Please send any improvements you make to me.

** Notes of X386 port to mach.

I have a microsoft compatible mouse at home which needs 7bit
characters + 1 stop bit.  I hacked com.c to have a bogus sg_flags mode
(-1) which indicates RAW and 7bit characters.  This could probably be
circumvented by configuring the mouse to generate 8bit characters.

For debugging non VGA related stuff I invented a compiler #define
called FAKE_IT, which when set converts inb/outb asm instructions into
no-ops.

GAS does not grok "'in,out}b (dx)' syntax used in compiler.h; thus
compiler.h was patched.

GCC must *not* use the -fpcc-struct-return since mach's dbm libraries
are compiler with GCC.  This only effects the file ddx/os/oscolor.c
(as far as I know).

Once X starts up I'm not sure how to return the VGA hardware to its
original state.  Some should fix this bug.  Its probably worth it to
add ioctl calls to i386/kd.c called KDSAVESTATE and KDSETSTATE which
save/set the entire keyboard/console/vga state so that it can be
automatically restored to a "sane" state.  I dont understand kd.c well
enough to do this in a short amount of time.  Also, since I run X all
of the time on my box I don't care enough to fix this bug.

I have successfully compiled the server using GCC version 2 -O2.  Its
quite noticably faster than with 1.36.

