First off, the libc that comes with Redhat-2.1 appears to be
APECS chip set specific, in that `in/out' don't go for the right
place in the ALCOR's memory map. I ftp'd libc-linux-0.40.3, and
patched sysdeps/linux/alpha/io.c so that it understands the
EB164. This is simply done by inserting:
#elif defined(CONFIG_ALPHA_EB164)
# define CONFIG_IOSYS IOSYS_ALPHA_PCI
# define IO_SHIFT 5
# define IO_BASE ALCOR_IO
# define IO_TYPE_BYTE 0x00
# define IO_TYPE_WORD 0x08
# define IO_TYPE_LONG 0x18
The xfree86 needs a couple of patches over and above
axpdiffs-XFree86-3.1.2-0.2 to make it work on an
EB164. Specifically, lnx_video.c and bios_devmem.c in
programs/Xserver/hw/xfree86/os-support/linux need patching to use
ALCOR_DENSE_MEM instead of an APECS_DENSE_MEM. i.e. change
#include <asm/io.h>
#define BUS_BASE ALCOR_DENSE_MEM
We used these patches to build an S3 server, which seems to work
fine. Using the Xserver rather than virtual consoles seems to
make our EB164 considerably more stable. Changing virtual console
often led to the system freezing. Has anyone else experienced
this? We're running 1.3.82 with DISCONNECTS disabled in the
53c810 driver.
Ian