Merge branch 'for-linus' of git://neil.brown.name/md
[linux-2.6] / Documentation / voyager.txt
1 Running Linux on the Voyager Architecture
2 =========================================
3
4 For full details and current project status, see
5
6 http://www.hansenpartnership.com/voyager
7
8 The voyager architecture was designed by NCR in the mid 80s to be a
9 fully SMP capable RAS computing architecture built around intel's 486
10 chip set.  The voyager came in three levels of architectural
11 sophistication: 3,4 and 5 --- 1 and 2 never made it out of prototype.
12 The linux patches support only the Level 5 voyager architecture (any
13 machine class 3435 and above).
14
15 The Voyager Architecture
16 ------------------------
17
18 Voyager machines consist of a Baseboard with a 386 diagnostic
19 processor, a Power Supply Interface (PSI) a Primary and possibly
20 Secondary Microchannel bus and between 2 and 20 voyager slots.  The
21 voyager slots can be populated with memory and cpu cards (up to 4GB
22 memory and from 1 486 to 32 Pentium Pro processors).  Internally, the
23 voyager has a dual arbitrated system bus and a configuration and test
24 bus (CAT).  The voyager bus speed is 40MHz.  Therefore (since all
25 voyager cards are dual ported for each system bus) the maximum
26 transfer rate is 320Mb/s but only if you have your slot configuration
27 tuned (only memory cards can communicate with both busses at once, CPU
28 cards utilise them one at a time).
29
30 Voyager SMP
31 -----------
32
33 Since voyager was the first intel based SMP system, it is slightly
34 more primitive than the Intel IO-APIC approach to SMP.  Voyager allows
35 arbitrary interrupt routing (including processor affinity routing) of
36 all 16 PC type interrupts.  However it does this by using a modified
37 5259 master/slave chip set instead of an APIC bus.  Additionally,
38 voyager supports Cross Processor Interrupts (CPI) equivalent to the
39 APIC IPIs.  There are two routed voyager interrupt lines provided to
40 each slot.
41
42 Processor Cards
43 ---------------
44
45 These come in single, dyadic and quad configurations (the quads are
46 problematic--see later).  The maximum configuration is 8 quad cards
47 for 32 way SMP.
48
49 Quad Processors
50 ---------------
51
52 Because voyager only supplies two interrupt lines to each Processor
53 card, the Quad processors have to be configured (and Bootstrapped) in
54 as a pair of Master/Slave processors.
55
56 In fact, most Quad cards only accept one VIC interrupt line, so they
57 have one interrupt handling processor (called the VIC extended
58 processor) and three non-interrupt handling processors.
59
60 Current Status
61 --------------
62
63 The System will boot on Mono, Dyad and Quad cards.  There was
64 originally a Quad boot problem which has been fixed by proper gdt
65 alignment in the initial boot loader.  If you still cannot get your
66 voyager system to boot, email me at:
67
68 <J.E.J.Bottomley@HansenPartnership.com>
69
70
71 The Quad cards now support using the separate Quad CPI vectors instead
72 of going through the VIC mailbox system.
73
74 The Level 4 architecture (3430 and 3360 Machines) should also work
75 fine.
76
77 Dump Switch
78 -----------
79
80 The voyager dump switch sends out a broadcast NMI which the voyager
81 code intercepts and does a task dump.
82
83 Power Switch
84 ------------
85
86 The front panel power switch is intercepted by the kernel and should
87 cause a system shutdown and power off.
88
89 A Note About Mixed CPU Systems
90 ------------------------------
91
92 Linux isn't designed to handle mixed CPU systems very well.  In order
93 to get everything going you *must* make sure that your lowest
94 capability CPU is used for booting.  Also, mixing CPU classes
95 (e.g. 486 and 586) is really not going to work very well at all.