SVR4.0 has a bug handling programs that access extended I/O registers (above 0x3FF). Boards like S3 and 8514/A use these extended I/O registers. XFree86 supports boards that tickle this bug. In preparation for using these servers, we have produced a kernel patch that works around the problem, and provided scripts for you that will both install and back out the patch. You must install this if you intend to use the S3, 8514, Mach8, Mach32, P9000, AGX or W32 servers.
Dell 2.2 is known to not need the patch, because Thomas Roell found and fixed the bug while he was working for Dell. Microport has fixed this in their 4.0 v4.2 release. Also, SVR4.2 does not need this patch, as the problem has been fixed by USL.
The patch scripts are located in xc/programs/Xserver/hw/xfree86/etc
in the
source tree, and /usr/X11R6/lib/X11/etc
in the binary distribution.
The
files are `svr4_patch' to install the patch, and `svr4_patch_rem' to back
it out. The file that is being patched is
/etc/conf/pack.d/kernel/os.o.
The patch script verifies the presence of the bug before patching, and will
tell you whether or not it succeeded in patching. You need to run the
`svr4_patch' script as root, obviously. The original os.o
file,
as well as
the patching program, and a copy of the removal script are stored in the
directory /etc/conf/pack.d/kernel/.xfree86
Thanks to John M. Sully of Microport for helping us find a simple workaround for this problem, and giving us permission to release the information.