| 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. |