I've been working on porting Milo and Linux to the EB164. Briefly,
this is a 21164 based design rather like the AlphaPC64 (but somewhat faster).
Its characteristics are:
What is it?
-----------
(a) Alpha 21164 (quad issue (2 * float) + (2 * integer))
(b) Alcor PCI/Memory support chipset (faster and different
to the Apecs chipset used on the AlphaPC64),
(c) Same interrupt handling (and PCI interrupt routing) as
the AlphaPC64.
My (test) system contains the good old NCR 810 SCSI plus a 21040 (DE435)
ethernet and a Number 9 PCI video card.
Status
------
I'm not finished yet, but right now Milo works and the kernel partially
works. Here's the full status:
(1) PCI initialisation. There is something around setting up the PCI Memory
for each device that seems to clash with either an earlier setting (by the
evaluation board) or with the PCI Memory window into system space. I've
"fixed" it by *not* configuring PCI Memory, only I/O which works for now.
I'll look into this further but for now bios32.c has some horrible hacks in
it that I wouldn't contaminate any other build tree with. It seems to me that
this isn't an eb164 specific problem.
(2) Floppy. Cable was disconnected and the key'd cable fits the less
intuitive way up. Floppy now works fine.
(3) Turning on virtual memory works. I'm not using any of the ASN stuff (yet).
(4) I can boot linux happily but it hangs with "Illegal Instruction" trying to
do stuff in init. Booting BLADE's floppy root disk, I can make it do the
same thing with the any "ls" command but things like "pwd", "cd" and "mount"
work just fine. This is the main problem to work on.
(5) Given that bogo-mips are by definition bogus I'll not worry about this, but
Linux gives my eb164 only 264.77 bogo-mips (which is it's speed in MHz). A
really bogus fixup would be to double the 21064 rating.
(6) Milo doesn't get the memory size right. I'll fix that at some point but
it's not real important right now.
Images/Source Code
------------------
So, there are a whole bunch of milo images for eb164 on gatekeeper (in
~ftp/pub/Linux-Alpha/Miniloader/):
~./test-images/eb164. I've tested the debug monitor loadable versions (tga
and vga) and they work fine; the others *should* work. Milo's sources are in
./src/milo-1.3.45-eb164.tgz but there aren't any particular differences with
the latest sources.
My kernel stuff is in ./misc. There's a patch for the 1.3.45 kernel tree as
well as a copy of my eb164 1.3.45 kernel tree and a test vmlinux image for
vga for the eb164. Everything but bios32.c is fit (subject to Linus) for
the kernel tree. New files are alcor.c and alcor.h which handle the Alcor
support chipset specific stuff. The rest is just EB164 specific fixups in
the expected places.
--------------------------------------------------
I'll carry on working on this and I'll post news as it happens...
Dave