Running Linux on the Voyager Architecture ========================================= For full details and current project status, see http://www.hansenpartnership.com/voyager The voyager architecture was designed by NCR in the mid 80s to be a fully SMP capable RAS computing architecture built around intel's 486 chip set. The voyager came in three levels of architectural sophistication: 3,4 and 5 --- 1 and 2 never made it out of prototype. The linux patches support only the Level 5 voyager architecture (any machine class 3435 and above). The Voyager Architecture ------------------------ Voyager machines consist of a Baseboard with a 386 diagnostic processor, a Power Supply Interface (PSI) a Primary and possibly Secondary Microchannel bus and between 2 and 20 voyager slots. The voyager slots can be populated with memory and cpu cards (up to 4GB memory and from 1 486 to 32 Pentium Pro processors). Internally, the voyager has a dual arbitrated system bus and a configuration and test bus (CAT). The voyager bus speed is 40MHz. Therefore (since all voyager cards are dual ported for each system bus) the maximum transfer rate is 320Mb/s but only if you have your slot configuration tuned (only memory cards can communicate with both busses at once, CPU cards utilise them one at a time). Voyager SMP ----------- Since voyager was the first intel based SMP system, it is slightly more primitive than the Intel IO-APIC approach to SMP. Voyager allows arbitrary interrupt routing (including processor affinity routing) of all 16 PC type interrupts. However it does this by using a modified 5259 master/slave chip set instead of an APIC bus. Additionally, voyager supports Cross Processor Interrupts (CPI) equivalent to the APIC IPIs. There are two routed voyager interrupt lines provided to each slot. Processor Cards --------------- These come in single, dyadic and quad configurations (the quads are problematic--see later). The maximum configuration is 8 quad cards for 32 way SMP. Quad Processors --------------- Because voyager only supplies two interrupt lines to each Processor card, the Quad processors have to be configured (and Bootstrapped) in as a pair of Master/Slave processors. In fact, most Quad cards only accept one VIC interrupt line, so they have one interrupt handling processor (called the VIC extended processor) and three non-interrupt handling processors. Current Status -------------- The System will boot on Mono, Dyad and Quad cards. There was originally a Quad boot problem which has been fixed by proper gdt alignment in the initial boot loader. If you still cannot get your voyager system to boot, email me at: <J.E.J.Bottomley@HansenPartnership.com> The Quad cards now support using the separate Quad CPI vectors instead of going through the VIC mailbox system. The Level 4 architecture (3430 and 3360 Machines) should also work fine. Dump Switch ----------- The voyager dump switch sends out a broadcast NMI which the voyager code intercepts and does a task dump. Power Switch ------------ The front panel power switch is intercepted by the kernel and should cause a system shutdown and power off. A Note About Mixed CPU Systems ------------------------------ Linux isn't designed to handle mixed CPU systems very well. In order to get everything going you *must* make sure that your lowest capability CPU is used for booting. Also, mixing CPU classes (e.g. 486 and 586) is really not going to work very well at all.