]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - release/texts/alpha/HARDWARE.TXT
Here is the new Alpha-specific HARDWARE.TXT Again, generic HARDWARE.TXT
[FreeBSD/FreeBSD.git] / release / texts / alpha / HARDWARE.TXT
1                 FreeBSD/alpha Hardware Information
2                 ==================================
3
4 This file is maintained by Wilko Bulte <wilko@freebsd.org>
5
6 Additions, corrections and constructive criticism are invited. In 
7 particular information on system quirks is more than welcome. 
8
9
10 Overview
11 --------
12
13 This document tries to provide a starting point for those who want to start
14 running FreeBSD on an Alpha-based machine. It is aimed at providing
15 background information on the various hardware designs. It is not a
16 replacement for the system's manuals. 
17
18 The information is structured as follows:
19
20 - general hardware requirements to run FreeBSD on Alpha.
21 - system specific information for each of the systems/boards supported
22   by FreeBSD/alpha.
23 - information on expansion boards for FreeBSD/alpha, including things
24   that differ from what is in the generic supported hardware list.
25
26
27 In general, what do you need to run FreeBSD/alpha? 
28 --------------------------------------------------
29
30 Obviously you will need an Alpha machine that FreeBSD/alpha knows about.
31 Alpha machines are NOT PC-architectures. There are considerable differences
32 between the various chip sets and mainboard designs. This means that a kernel
33 needs to know the intimate details of a particular machine before it can run
34 on it. Throwing some odd GENERIC kernel at unknown hardware is almost
35 guaranteed to fail miserably.
36
37 For a machine even to be considered for FreeBSD use please make sure it has
38 the SRM console firmware installed. Or at least make sure that SRM console 
39 firmware is available for this particular model. If FreeBSD does not
40 currently support your machine type, there is a good chance that this will
41 change some time, assuming there is a SRM available.
42
43 Machines with the ARC/AlphaBIOS console firmware are intended for 
44 WindowsNT. Some of them have SRM firmware available in the system ROMs 
45 which you only have to select (via an ARC/AlphaBIOS menu). In other cases 
46 you will have to re-flash the ROMs with SRM code. Check on
47 http://ftp.digital.com/pub/DEC/Alpha/firmware to see what is available
48 for your particular system. In any case: no SRM -> no FreeBSD (or NetBSD, 
49 OpenBSD, Tru64 Unix or OpenVMS for that matter). 
50
51 As part of the SRM you will get the so called OSF/1 PAL code (OSF/1 being the
52 initial name of DEC's Unix offering on Alpha). The PAL code can be thought
53 of as a software abstraction layer between the hardware and the operating
54 system. It uses normal CPU instruction plus a handful of privileged
55 instructions specific for PAL use. PAL is not microcode by the way. 
56 The ARC firmware contains a different PAL code, geared towards WinNT and in
57 no way suitable for use by FreeBSD (or more generic: Unix or OpenVMS).
58 Before someone asks: AlphaLinux brings it's own PAL code, allowing it to
59 boot. There are various reasons why this is not a very good idea in the
60 eyes of the *BSD folks. I don't want to go into details here.
61
62 There is another pitfall ahead: you will need a disk adapter that the SRM
63 console recognizes in order to be able to boot from your disk. What is 
64 acceptable to SRM as a boot adapter is unfortunately system / SRM version
65 dependent. For older PCI based machines this means you will need either 
66 a NCR/Symbios 53C810 based adapter, or a Qlogic 1020/1040 based adapter. 
67 Some machines come with a SCSI chip embedded on the
68 mainboard. Newer machine designs and SRM versions will be able to work with
69 later SCSI chips/adapters. Check out the machine specific info below.
70
71 The problem might bite those who have machines that started their lives as 
72 WinNT boxes. The ARC/AlphaBIOS knows about *other* adapter types that it 
73 can boot from than the SRM. For example you can boot from an Adaptec 2940UW 
74 with ARC but not with SRM. 
75
76 Some adapters that cannot be booted from work fine for data-only disks
77 (e.g. Adaptec 2940x boards). The differences between SRM and ARC could also
78 get you pre-packaged IDE CDROMs and hard drives in some (former NT) systems. 
79 SRM versions versions exist (depends on the mainboard) that can also boot 
80 from IDE disks. 
81
82 FreeBSD/alpha 4.0 and later can be booted from the distribution CDROM.
83 Earlier versions needed booting from a 2 floppy set.
84
85 If you don't have/want a local disk drive you can boot via the Ethernet.
86 This assumes a Ethernet adapter/chip that is recognized by the SRM.
87 Generally speaking this boils down to either a 21040 or 21142 or 21143 
88 based Ethernet interface. Older machines / SRM versions may not recognize
89 the 21142 / 21143 Fast Ethernet chips, you are limited to using 10Mbit
90 Ethernet for net booting those machines. Non-DEC cards based on said chips will
91 generally (but are not guaranteed to) work. Note that Intel took over the
92 21x4x chips when it bought Digital Semiconductor. So you might see an Intel
93 logo on them these days.
94
95 Alpha machines can be run with SRM on a graphics console or on
96 a serial console. ARC does can be run on a serial consoles if need be. VT100
97 with 8 bit controls should at least allow you to switch from ARC to SRM
98 mode.
99
100 If you want to run your Alpha without a monitor/graphics card 
101 just don't connect a keyboard/mouse to the machine. Instead hook 
102 up a serial terminal[emulator] to serial port #1.  The SRM will 
103 talk 9600N81 to you. This can be really practical for debugging purposes.
104
105 Most PCI based Alphas can use ordinary PC-type VGA cards. The SRM contains
106 enough smarts to make that work. It does not, however, mean that each and
107 every PCI VGA card out on the street will work in an Alpha machine. Things
108 like S3 Trio64 generally work. But ask around first before buying.
109
110 Most PCI devices from the PC-world will also work in FreeBSD/alpha PCI-based
111 machines. Check the /sys/alpha/conf/GENERIC file for the latest word on
112 this.
113
114 Currently all parallel ports do not work on FreeBSD/alpha. The driver needs
115 work to make this happen. 
116
117 For Alpha CPUs you will find multiple versions. The original Alpha
118 design is the 21064. It was produced in a chip baking process called MOS4,
119 chips made in this process are nicknamed EV4. Newer CPUs are 21164, 21264
120 etc. You will see designations like EV4S, EV45, EV5, EV56, EV6, EV67.
121 The EVs with double digit numbers are slightly improved versions. For example
122 EV45 has an improved FPU and 16 kByte onchip seperate I & D caches compared
123 to the EV4 on which it is based. Rule of thumb: the higher the digit
124 immediately following 'EV' the more desirable (read: faster / more modern).
125
126 For memory you want at least 32 Mbytes. I have had FreeBSD/alpha run on a
127 16 Mbyte system but you will not like that. Kernel build times halved when
128 going to 32 Mbytes. Note that the SRM steals 2Mbyte from the total system 
129 memory (and keeps it). For more serious use >= 64Mbyte is recommended. 
130
131 While on the subject of memory: pay close attention to the type of memory
132 your machine uses. There are very different memory configurations and
133 requirements for the various machines.
134
135 Final word: I expect the above to sound a bit daunting to the first-time
136 Alpha user. Don't be daunted too much. And do feel free to ask questions.
137
138
139 System specific information
140 ---------------------------
141
142 Below is an overview of the hardware that FreeBSD/alpha runs on.
143 This list is bound to grow, a look in /sys/alpha/conf/GENERIC
144 can be enlightening. Alpha machines are often best known by their project
145 code name, when known these are listed below in ().
146
147 *
148 * AXPpci33 ("NoName")
149 *
150 The NoName is a baby-AT mainboard based on the 21066 LCA (Low Cost Alpha)
151 processor. It was originally designed for OEM-use. The LCA chip includes
152 almost all of the logic to drive a PCI bus and the memory subsystem. 
153 All of this makes for a low-priced design. 
154
155 Due to the limited memory interface the system is not particularly
156 fast in case of cache misses. As long as you stay inside the on-chip cache
157 the CPU is comparable to a 21064 (first generation Alpha). These boards 
158 should be very cheap to obtain these days (even here in the Netherlands 
159 they were sold new for US$ 25).
160
161 Features:
162 - 21066 Alpha CPU at 166 MHz or 21066A CPU at 233MHz
163   (21068 CPUs are also possible, but are even slower. Never seen/used one)
164 - memory bus: 64 bits 
165 - on-board Bcache / L2 cache: 0, 256k or 1Mbyte (uses DIL chips)
166 - PS/2 mouse & keyboard port OR 5pin DIN keyboard (2 mainboard models)
167 - memory: PS/2 style 72 pin 36 bit Fast Page Mode SIMMs, 
168           70ns or better,
169           installed in pairs of 2,
170           4 SIMM sockets
171           uses ECC 
172 - 512kB Flash ROM for the console code.
173 - 2x 16550A serial ports, 1x parallel port, floppy interface
174 - 1x embedded IDE interface
175 - expansion: 3 32 bit PCI slots (1 shared with ISA)
176              5 ISA slots (1 shared with PCI)
177 - embedded Fast SCSI using a NCR/Symbios 53C810 chip
178
179 SRM:
180 NoName's can either have SRM *or* ARC console firmware in their Flash ROM.
181 The Flash ROM is not big enough to hold both ARC and SRM at the same time 
182 and allow software selection of alternate console code. But you need 
183 SRM only anyway.
184
185 Cache:
186 Cache for the NoNames are 15 or 20ns DIL chips. For a 256kByte cache you
187 want to check your junked 486 mainboard. Chips for a 1Mbyte cache are a rarer
188 breed unfortunately. Getting at least a 256kByte cache is recommended
189 performance wise. Cache-less they are really slow.
190
191 Power:
192 The NoName mainboard has a PC/AT-standard power connector. It also has 
193 a power connector for 3.3 Volts. No need to rush out to get
194 a new power supply. The 3.3 Volts is only needed in case you run 3.3 Volts
195 PCI expansion boards.
196
197 IDE:
198 SRM presumably cannot boot from IDE disks (have never tried this myself)
199
200 Memory:
201 Make sure you use true 36 bit SIMMs, and only FPM (Fast Page Mode). EDO RAM
202 or SIMMs with fake parity *will not work* (the board uses the 4 extra bits
203 for ECC!). 33 bit FPM SIMMs will for the same reason not work either. 
204
205 Keyboard/mouse:
206 Given the choice, get the PS/2-variant mainboard. Apart from giving you a
207 mouse port as bonus it is directly supported by Tru64 Unix in case you ever
208 want/need to run it. The "DIN-plug"-variant should work OK for FreeBSD.
209
210 The OEM manual is recommended reading. If you did not get one with your
211 system/board send me email, I have a Postscript copy.
212
213 The kernel configuration file for a NoName kernel must contain:
214         options         DEC_AXPPCI_33           
215         cpu             EV4
216
217
218 *
219 * Universal Desktop Box (UDB or "Multia")
220 *
221
222 Note: Multia can be either Intel or Alpha CPU based. We assume Alpha based
223       ones here for obvious reasons.
224
225 Multia is a very compact 21066 based box, roughly 40cm square and 8 cm thick.
226 It comes with 2 PCMCIA slots, which don't work with FreeBSD (?).
227
228 It has a small 2.5" SCSI disk of 340Mbyte or so. Fortunately there is
229 an external high density 50pin SCSI connector to hookup something bigger.
230 Some Multia models came without disk. 
231
232 It has an embedded 10Mbit Ethernet interface. There is only one PCI slot
233 for expansion, and only for a small PCI card too. The CPU is 
234 either 166 or 233 MHz. The CPU might or might not be socketed, check before
235 considering CPU upgrade hacks. It comes with a TGA based graphics on-board. 
236 The 3.5" floppy drive is a very compact laptop variant.
237
238 Note: most the discussion of the NoName applies to Multia too.
239
240 Hot:
241 Multias are somewhat notorious for dying of heat strokes. The very compact
242 box does not really allow cooling air access very well. Please use the 
243 Multia on it's vertical stand, don't put it horizontally ('pizza style').
244 Replacing the fan with something which pushes around more air is
245 wholeheartedly recommended.
246
247 SCSI:
248 In case you want to change the internal hard drive: the internal flat cable
249 running from the PCI riser board to the 2.5" (!!) hard drive has a finer pitch
250 than the standard SCSI flat cables. Otherwise it would not fit on the 2.5"
251 drives. I recommend against trying to cram another hard disk inside. Use the
252 external SCSI connector and put your disk in an external enclosure. The run
253 hot enough as-is.
254
255 The kernel configuration file for a Multia kernel must contain:
256         options         DEC_AXPPCI_33
257         cpu             EV4
258
259
260 *
261 * Personal Workstation ("Miata")
262 *
263
264 The Miata is a small tower machine intended to be put under a desk. There
265 are multiple Miata variants. The original Miata is the MX5 model. Because 
266 it suffers from a number of hardware design flaws a redesign was performed,
267 yielding the MiataGL. Unfortunately the boxes are quite indistinguishable.
268 An easy check is to see if the back of the machine sports two
269 USB connectors. If yes, it is a MiataGL. 
270
271 System designations look like "Personal Workstation 433a". This means 
272 it has a 433 MHz CPU, and started life as a WinNT workstation 
273 (the trailing 'a'). Systems designated from day 1 to run Tru64 
274 Unix or OpenVMS will sport '433au'. WinNT-Miata's are likely
275 to come pre-configured with an IDE CDROM drive. There was also a Miata model
276 with a special cooling system by Kryotech. This one has a different
277 enclosure.
278
279 Features:
280
281 - 21164A EV56 Alpha CPU, at 433, 500 or 600MHz 
282 - 21174 Core Logic ("Pyxis") chip set
283 - on-board Bcache / L3 cache: 0, 2, 4Mbyte (uses a cache module)
284 - memory bus: 128 bits wide, ECC protected
285 - memory: Miata uses unbuffered SDRAMs, 
286           installed in pairs of 2,
287           6 DIMM sockets
288 - on-board Fast Ethernet based on:
289   - MX5 uses a 21142 or 21143 Ethernet chip dependent on the version of the
290     PCI riser card, 
291   - MiataGL has a 21143 chip)
292   the bulkhead can be 10/100 UTP, or 10 UTP/BNC.
293 - 2x on-board [E]IDE based on:
294   - MX5: CMD 646
295   - MiataGL: Cypress 82C693
296 - 1x Ultra-Wide SCSI Qlogic 1040 [MiataGL only]
297 - expansion: 2 64-bit PCI slots
298              3 32-bit PCI slots (behind a DEC PCI-PCI bridge chip)
299              3 ISA slots (physically shared with the 32 bit PCI slots, via
300                           a Intel 82378IB PCI to ISA bridge chip)
301 - 2x 16550A serial port
302 - 1x parallel port 
303 - PS/2 keyboard & mouse port
304 - USB interface [MiataGL only]
305 - embedded sound based on a ESS1888 chip
306
307 CPU mainboard and PCI 'riser' board: 
308 the Miata is divided into two printed circuit boards. 
309 The lower board in the bottom of the machine has the PCI 
310 and ISA slots and things like the sound chip etc. The top board
311 has the CPU, the Pyxis chip, memory etc. Note that MX5 and the MiataGL use
312 a different PCI riser board. This means that you cannot just upgrade to
313 a MiataGL CPU board (with the newer Pyxis chip) but that you will also need
314 a different riser board. Apparently an MX5 riser with a MiataGL CPU board
315 will work but it is definitely not a supported or tested configuration.
316 Everything else (cabinet, wiring etc etc) is identical for MX5 and MiataGL.
317
318 DMA bug: 
319 MX5 has problems with DMA via the 2 64-bit PCI slots when this DMA
320 crosses a page boundary. The 32bit slots don't have this problem because the
321 PCI-PCI bridge chip does not allow the offending transfers. The SRM code 
322 knows about the problem and refuses to start the system if there is a PCI
323 card in one of the 64bit slots that it does not know about. Cards that are
324 'known good' to the SRM are allowed to be used in the 64bit slots. 
325
326 If you want to fool the SRM you can type "set pci_device_override" at
327 the SRM prompt. Just don't complain if your data mysteriously gets mangled.
328 The complete command is:
329
330         set pci_device_override <vendor_id><device_id>
331         e.g. set pci_device_override 88c15333
332
333 The kernel reports it when it sees a buggy Pyxis chip:
334 Sep 16 18:39:43 miata /kernel: cia0: Pyxis, pass 1
335 Sep 16 18:39:43 miata /kernel: cia0: extended capabilities: 1<BWEN>
336 Sep 16 18:39:43 miata /kernel: cia0: WARNING: Pyxis pass 1 DMA bug; no
337 bets...
338
339 A MiataGL probes as:
340 Jan  3 12:22:32 miata /kernel: cia0: Pyxis, pass 1
341 Jan  3 12:22:32 miata /kernel: cia0: extended capabilities: 1<BWEN>
342 Jan  3 12:22:32 miata /kernel: pcib0: <2117x PCI host bus adapter> on cia0
343
344 MiataGL does not have the DMA problems of the MX5. PCI cards that make
345 the MX5 SRM choke when installed in the 64bit slots are accepted without 
346 problems by the MiataGL SRM.
347
348 The latest mainboard revisions of MX5 contain a hardware workaround for the
349 bug. The SRM does not know about the ECO and will complain about unknown cards
350 just like before. The same applies to the FreeBSD kernel by the way.
351
352 EIDE:
353 The Miata SRM can boot from IDE CDROM drives. It is also known to work for
354 MiataGL with hard disks, so you can root FreeBSD from an IDE disk. DMA is
355 not currently working so speed is not optimal. Boot-ability of EIDE on MX5 is
356 currently unknown.
357
358 PCI-PCI bridge:
359 The MiataGL has a faster PCI-PCI bridge chip on the PCI riser card than 
360 some of the MX5 riser card versions. Some of the MX5 risers have the *same*
361 chip as the MiataGL. All in all there is a lot of variation.
362
363 Sound: 
364 both MX5 and MiataGL have an onboard sound chip, an ESS1888.  
365 I have yet to see/hear it work on my MiataGL. But it is being worked on.
366
367 Cache: 
368 in case your Miata has the optional cache board installed make sure
369 it is firmly seated. A slightly loose cache has been observed to cause
370 weird crashes (not surprising obviously, but maybe not so obvious when
371 troubleshooting). The cache module is identical between MX5 and MiataGL.
372
373 Installing a cache module achieves, apart from a 10-15% speed increase (based 
374 on buildworld elapsed time), a *decrease* for PCI DMA read bandwidth from 
375 64bit PCI cards. A benchmark on a 64-bit Myrinet card resulted in a decrease
376 from 149 Mb/sec to 115 Mb/sec. Something to keep in mind when doing really
377 high speed things with 64 bit PCI adapters.
378
379 USB:
380 Does not currently seem to work on FreeBSD/alpha judging from the kernel
381 probe messages.
382
383 Power:
384 disconnect the powercord before dismantling the machine, the soft-power
385 switch keeps part of the logic powered even when the machine is switched
386 off.
387
388 The kernel configuration file for a Miata kernel must contain:
389         options         DEC_ST550               
390         cpu             EV5
391
392 *
393 * DEC3000 family (the "Bird" machines)
394 *
395
396 The DEC3000 series were among the first Alpha machines ever produced. They
397 are based on an I/O bus called the Turbo Channel (TC) bus. These
398 machines are built like tanks (watch your back). 
399
400 DEC3000 can be subdivided in DEC3000/500-class and DEC3000/300-class. 
401 The DEC3000/500-class is the early high-end workstation/server Alpha family. 
402 Servers use serial consoles, workstations have graphics tubes. 
403 DEC3000/300-class is the lower-cost workstation class.
404
405 DEC3000/500-class are quite fast (considering their age) thanks to the 
406 good memory design. DEC3000/300 is crippled compared to DEC3000/500 because
407 of it's much narrower memory bus.
408
409 They are called 'Birds' because their internal DEC codenames were bird
410 names:
411
412         DEC3000/400     'Sandpiper' 133MHz CPU, desktop
413         DEC3000/500     'Flamingo'  150MHz CPU, floor standing
414         DEC3000/500X    'Hot Pink'  200MHz CPU, floor standing
415         DEC3000/600                 175MHz CPU, desktop
416         DEC3000/700,                225MHz CPU, floor standing
417         DEC3000/800,                200MHz CPU, floor standing
418         DEC3000/900,                275MHz CPU, floor standing
419
420         DEC3000/300     'Pelican'   150MHz CPU, desktop, 2 TC slots
421         DEC3000/300X                175MHz CPU, desktop, 2 TC slots
422         DEC3000/300LX               125MHz CPU, desktop, 2 TC slots
423         DEC3000/300L                100MHz CPU, desktop, no TC slots
424                 
425
426 Features:
427 - 21064 CPU  (100 to 200 MHz)
428   21064A CPU (225 to 275 MHz)
429 - memory bus: 256 bit, with ECC         [DEC3000/500-class]
430                64 bit, with ECC         [DEC3000/300-class]
431 - memory: - proprietary 100pin SIMMs 
432             installed in sets of 8      [DEC3000/500-class]
433           - PS/2 style 72pin 36 bit FPM SIMMs, 70ns or better
434             used in pairs of 2          [DEC3000/300-class]
435 - Bcache / L2 cache: varying sizes, 512 kB to 2 Mbyte
436 - built-in 10Mbit Ethernet based on a Lance 7990 chip, AUI and UTP 
437 - one or two SCSI buses based on a NCR53C94 or a NCR53CF94-2 chip 
438 - 2 serial ports based on Zilog 8530 (one usable as a serial console)
439 - embedded ISDN interface
440 - on-board 8 bit sound 
441 - 8 bit graphics on-board [some models] or via a TC card [some other models]
442
443 SCSI:
444 Currently DEC3000 machines can only be used diskless on FreeBSD/alpha. The
445 reason for this is that the SCSI drivers needed for the TC SCSI adapters
446 were not brought into CAM that the current FreeBSD versions use. TC option
447 cards for single (PMAZ-A) or dual fast SCSI (PMAZC-AA) are also available.
448 And currently have no drivers n FreeBSD either.
449
450 DEC3000/300 has 5Mbytes/sec SCSI on-board. This bus is used for both internal
451 and external devices. DEC3000/500 has 2 SCSI buses. One is for internal 
452 devices only, the other one is for external devices only.
453
454 ISDN interface:
455 does not work on FreeBSD (to be honest I don't think there is any 
456 operating system, including Tru64 Unix, that can use it). 
457
458 Memory:
459 DEC3000/300-class uses standard 36 bit, 72 pin Fast Page Mode SIMMs.
460 EDO SIMMs, 32 or 33 bit SIMMs all will not work in Pelicans.
461 For 32Mbyte SIMMs to work on the DEC3000/300-class the presence detect 
462 bits/pins of the SIMM must correspond to what the machine expects. If they
463 don't, the SIMM is 'seen' as a 8 Mbyte SIMM. 8 Mbyte and 32 Mbyte SIMMs can 
464 be mixed, as long as the pairs themselves are identical.
465
466 DEC3000/500-class can use 2, 4, 8, 16 and 32Mbyte 100pin SIMMs. 
467 Note that the maximum memory size varies from system to system, 
468 desktop machines have sacrificed box size for less memory SIMM sockets. 
469 Given enough sockets and enough SIMMs you can get to 512Mbytes maximum.
470 This is one of the main differences between floor standing and desktop
471 machines, the latter have much less SIMM sockets.
472
473 Sound:
474 is not supported on any of the Birds.
475
476 Graphics:
477 The is no X-Windows version available for the TC machines. 
478 DEC3000/300 needs a serial console. DEC3000/500-class might
479 work with a graphical console. I ran mine with a serial console so I cannot
480 verify this. 
481
482 Birds can be obtained from surplus sales etc. As they are not PCI
483 based they are no longer actively maintained. TC expansion boards can 
484 be difficult to obtain these days and support for them is not too good
485 unless you write/debug the code yourself. Programming information for TC
486 boards is hard to find. Birds are recommended only if a. you can get them
487 cheap and b. if you prepared to work on the code to support them better.
488
489 For the DEC3000/[4-9]00 series machines the kernel config file must 
490 contain:
491         options         DEC_3000_500           
492         cpu             EV4
493
494 For the DEC3000/300 ("Pelican") machines the kernel config file must
495 contain:
496         options         DEC_3000_300            
497         cpu             EV4
498
499 *
500 *Evaluation Board 64plus ("EB64+"), Aspen Alpine
501 *
502
503 In it's attempts to popularize the Alpha CPU DEC produced a number of so
504 called Evaluation Boards. The EB64+ family boards have the following feature
505 set:
506
507 - 21064 or 21064A CPU, 150 to 275MHz 
508 - memory bus: 128 bit
509 - memory:  PS/2 style 72 pin 33 bit Fast Page Mode SIMMs, 
510            70ns or better,
511            installed in sets of 4,
512            8 SIMM sockets
513            uses parity
514 - Bcache / L2 cache: 512 kByte, 1 Mbyte or 2 Mbyte
515 - 21072 ("APECS") chip set 
516 - Intel 82378ZB PCI to ISA bridge chip ('Saturn')
517 - dual 16550A serial ports
518 - NCR/Symbios 53C810 Fast-SCSI
519 - embedded 10Mbit Ethernet
520 - 2 PCI slots
521 - 3 ISA slots
522
523 Aspen Alpine:
524 Aspen Alpine is slightly different, but is close enough to the EB64+ to
525 run an EB64+ SRM EPROM (mine does..). The Aspen Alpine does not have 
526 an embedded Ethernet, has 3 instead of 2 PCI slots. It comes with 2 Mbytes
527 of cache already soldered onto the mainboard. It has jumpers to select
528 the use of 60, 70 or 80ns SIMM speeds.
529
530 Memory:
531 36 bits SIMMs work fine, 3 bits simply remain unused.
532
533 SRM:
534 The SRM console code is housed in an UV-erasable EPROM. No easy flash SRM
535 upgrades for the EB64+ The latest SRM version available for EB64+ is quite
536 ancient anyway.
537
538 SCSI: 
539 The EB64+ SRM can boot both 53C810 and Qlogic1040 SCSI adapters. Pitfall for
540 the Qlogic is that the firmware that is downloaded by the SRM onto the
541 Qlogic chip is very old. There are no updates for the EB64+ SRM available. 
542 So you are stuck with old Qlogic bits too. I have had quite some problems
543 when I wanted to use Ultra-SCSI drives on the Alpine/Qlogic. The
544 FreeBSD/alpha kernel can be compiled to include a much newer Qlogic firmware
545 revision. This is not the default because it adds hundreds of kBytes worth
546 of bloat to the kernel. All of this might mean that you need to use a
547 non-Qlogic adapter to boot from. 
548
549 For the EB64+ class machines the kernel config file must contain:
550         options         DEC_EB64PLUS            
551         cpu             EV4
552
553 *
554 * Evaluation Board 164 ("EB164, PC164, PC164LX, PC164SX") family
555 *
556
557 EB164 is a newer design evaluation board, based on the 21164A CPU. This
558 design has been used to 'spin off' multiple variations, some of which are
559 used by OEM manufacturers/assembly shops. Samsung did it's own PC164LX
560 which has only 32 bit PCI, whereas the DEC variant has 64 bit PCI.
561
562 Features:
563 - 21164A, multiple speed variants [EB164, PC164, PC164LX]
564   21164PC                         [only on PC164SX]
565 - 21174 (Alcor) chip set
566 - Bcache / L3 cache:  EB164 uses special cache-SIMMs
567 - memory bus: 128 bit / 256 bit
568 - memory:  PS/2 style SIMMs in sets of 4 or 8, 
569            36 bit, Fast Page Mode, uses ECC, [EB164 and PC164]
570            SDRAM DIMMs in sets of 2, uses ECC [PC164SX and PC164LX]
571 - dual 16550A serial ports
572 - PS/2 style keyboard & mouse
573 - floppy controller
574 - parallel port
575 - 32 bits PCI
576 - 64 bits PCI [some models]
577 - ISA slots via an Intel 82378ZB PCI to ISA bridge chip
578
579 Memory:
580 Using 8 SIMMs for a 256bit wide memory can yield interesting speedups over
581 a 4 SIMM/128bit wide memory. Obviously all 8 SIMMs must be of the same type
582 to make this work. The system must be explicitly setup to use the 
583 8 SIMM memory arrangement. You must have 8 SIMMs, 4 SIMMs distributed 
584 over 2 banks does not work.
585
586 SCSI:
587 The SRM can boot from Qlogic 10xx boards or the NCR/Symbios 53C810. 
588 53C825[a] will also work as boot adapter. Diamond FirePort, although 
589 based on Symbios chips, are not bootable by the PC164SX SRM. 
590 PC164SX is reported to boot fine with an NCR875 based card.
591
592 SRM quirks:
593 PC164 the SRM sometimes seems to loose it's variable settings. 
594 "For PC164's, current superstition says that, to avoid losing settings,
595 you want to first downgrade to SRM 4.x and then upgrade to a 5.x"
596
597 On PC164SX the AlphaBIOS allows you a selection to select 'SRM' to
598 be used as console on the next power up. This selection does not appear to
599 have any effect. In other words, you will get to the AlphaBIOS regardless
600 of what you select. The fix is to reflash the console ROM with the SRM 
601 code for PC164SX. This will overwrite the AlphaBIOS and will get you the
602 SRM console you desire. The SRM code can be found on the Compaq Web site.
603
604 IDE:
605 PC164 can boot from IDE disks assuming your SRM version is recent enough.
606
607 Samsung PC164UX:
608 Whether FreeBSD/alpha runs on this board is unknown. Please let me know if
609 it does.
610
611 Power:
612 EB164 needs a power supply that supplies 3.3 Volts.
613
614 For the EB164 class machines the kernel config file must contain:
615         options         DEC_EB164
616         cpu             EV5
617
618
619 *
620 * AlphaStation 200 ("Mustang") and 400 ("Avanti") series
621 *
622
623 The Digital AlphaStation 200 and 400 series systems are early PCI based
624 workstations for the lower end. The 200 series is a desktop box, the 400
625 series is a deskside mini-tower.
626
627 Features:
628 - 21064 or 21064A CPU
629 - DECchip 21071-AA (core logic chipset) consisting of:
630     Cache/memory controller (one 21071-CA chip)
631     PCI interface (one 21071-DA chip)
632     Data path (two 21071-BA chips)
633 - Bcache / L2 cache: 512 Kbytes
634 - memory bus: 64 bit
635 - memory: 8 to 384 MBytes of RAM,
636           70 ns or better Fast Page DRAM,
637           in three pairs
638           uses parity 
639 - PS/2 keyboard and mouse port
640 - two 16550 serial ports
641 - parallel port
642 - floppy disk interface
643 - 32 bit PCI expansion slots (3 for 400 series, 2 for 200 series)
644 - ISA expansion slots (4 for 400 series, 2 for 200 series) 
645   (some ISA/PCI slots are physically shared)
646 - embedded 21040-based Ethernet (200 series only)
647 - embedded NCR/Symbios 53c810 Fast SCSI-2 chip
648 - Intel 82378IB ("Saturn") PCI-ISA bridge chip
649 - graphics is embedded TGA or PCI VGA (model dependent)
650 - 16 bit sound (on 200 series)
651
652 Memory:
653 the system uses parity memory SIMMs, but it does not need 36 bit wide SIMMs.
654 33 bit wide SIMMs are sufficient, 36 bit SIMMs are acceptable too. EDO or 32
655 bit SIMMs will not work. 4, 8, 16, 32 and 64 Mbyte SIMMs are supported.
656
657 Sound:
658 the sound interface is not supported by FreeBSD. 
659
660 SCSI:
661 AlphaStation 200 series has an automatic SCSI terminator. This means that as
662 soon as you plug a cable onto the external SCSI connector the internal
663 terminator of the system is disabled. It also means that you should not
664 leave unterminated cables plugged into the machine.
665
666 AlphaStation 400 series have an SRM variable that controls termination. In
667 case you have external SCSI devices connected you must set this SRM
668 variable using: "set control_scsi_term external". If only internal SCSI devices
669 are present use: "set control_scsi_term internal"
670
671 For the AlphaStation-[24]00 machines the kernel config file must contain:
672         options         DEC_2100_A50
673         cpu             EV4
674
675
676 *
677 * AlphaStation 500 and 600
678 *
679 AS500 and 600 were the high-end EV5 / PCI based workstations. EV6 based
680 machines have in the meantime taken their place as front runners. AS500 is
681 a desktop in a dark blue case (TopGun blue), AS600 is a sturdy deskside box.
682 AS600 has a nice LCD panel to observe the early stages of SRM startup.
683
684 Features:
685 - 21164 EV5 CPU at 333, 400 or 500 MHz (AS500)
686                 at 266 or 300 MHz (AS600)
687 - 21171 or 21172 (Alcor) core logic chipset
688 - cache: 2 or 4 Mb L3 / Bcache (AS600 at 266 MHz)
689          4 Mb L3 / Bcache (AS600 at 300 MHz)
690          2 or 8 Mb L3 / Bcache (8 Mb on 500 MHz version only)
691          2 to 16 Mb L3 / Bcache (AS600; 3 cache-SIMM slots)
692 - memory bus: 256 bits, uses ECC
693 - memory: AS500: industry standard 8 byte wide DIMMs
694                  8 DIMM slots
695                  installed in sets of 4,
696                  maximum memory is 1 Gb (512Mb max on 333 MHz CPUs)
697                  uses ECC 
698           AS600: industry standard 36 bit Fast Page Mode SIMMs
699                  32 SIMM slots,
700                  installed in sets of 8,
701                  maximum memory is 1 Gb
702                  uses ECC
703 - Qlogic 1020 based wide SCSI bus (1 bus/chip for AS500, 2 for AS600)
704 - 21040 based 10 Mbit Ethernet adapter with both Thinwire and UTP connectors
705 - expansion: AS500: 3 32-bit PCI slots
706                     1 64-bit PCI slot
707              AS600: 2 32-bit PCI slot 
708                     3 64-bit PCI slots
709                     1 PCI/EISA physically shared slot
710                     3 EISA slots
711                     1 PCI and 1 EISA slot are occupied by default
712 - 21050 PCI-to-PCI bridge chip
713 - Intel 82375EB PCI-EISA bridge (AS600 only)
714 - 2 16550A serial ports
715 - 1 parallel port
716 - 16 bit audio Windows Sound System,
717   in dedicated slot (AS500)
718   in EISA slot (AS600, this is an ISA card)
719 - PS/2 keyboard and mouse port
720
721 SCSI:
722 Early machines had Fast SCSI interfaces, later ones are Ultra SCSI capable.
723 AS500 shares it's single SCSI bus with internal and external devices. For a
724 Fast SCSI bus you are limited to 1.8 meters bus length external to the box.
725 +++ This is what some DEC docs suggest. Did they ever go Ultra?
726
727 AS600 has one Qlogic chip dedicated to the internal devices whereas the
728 other one is dedicated to external SCSI devices.
729
730 Memory:
731 In AS500 DIMMs are installed in sets of 4, in 'physically interleaved'
732 layout. So, a bank of 4 DIMMs is *not* 4 adjacent DIMMs!
733
734 In AS600 the memory SIMMs are placed onto two memory daughter cards. SIMMs
735 are installed in sets of 8. Both memory daughter cards must be populated
736 identical. 
737
738 PCI:
739 AS600 has a peculiarity for it's PCI slots. AS600 (or rather the PCI
740 expansion card containing the SCSI adapters) does not allow I/O port 
741 mapping, therefore all devices behind it must use memory mapping.  
742 If you have problems getting the SCSI adapters to work, add the following 
743 option to /boot/loader.rc: 
744
745         set isp_mem_map=0xff                                        
746         
747 This may need to be typed at the boot loader prompt before booting the
748 installation kernel.                                                 
749
750 For the AlphaStation-[56]00 machines the kernel config file must contain:
751         options         DEC_KN20AA 
752         cpu             EV5
753
754 *
755 * AlphaServer 1000 ("Mikasa"), 1000A ("Noritake") and 800 
756 *
757 The AlphaServer range of machines are aimed as departmental servers. They
758 come in quite some variations in packaging and mainboard/cpu. Generally
759 speaking there are 21064 (EV4) CPU based machines and 21164 (EV5) based
760 ones. The CPU is on a daughter card, and the type of CPU (EV4 or EV5) must
761 match the mainboard in use. AlphaServer 800 is a much smaller mini tower
762 case, it lacks the StorageWorks SCSI hot-plug chassis. The main difference
763 between AS1000 and AS1000A is that AS1000A has 7 PCI slots whereas AS1000
764 only has 3 PCI slots and has EISA slots instead.
765
766 Features:
767 - 21064 EV4 CPU at 200, 233 or 266 MHz
768   21164 EV5 CPU at 300, 333 or 400 MHz (or 500 MHz for AS800 only)
769 - cache:
770 - memory bus: 128 bit with ECC
771 - memory:
772         AS1000[A]-systems:
773           Use 72pin 36 bit Fast Page Mode SIMMs, 70ns or better
774           16 or 20 SIMM slots
775           max memory is 1 Gb
776           uses ECC
777         AS800:
778           Uses SDRAM DIMMs.
779 - embedded VGA (on some mainboard models)
780 - expansion: 
781         3 PCI, 2 EISA, 1 64-bit PCI/EISA combo (AS800)
782         7 PCI, 2 EISA (AS1000A)
783         2 PCI, 1 EISA/PCI, 7 EISA (AS1000)
784 - embedded SCSI based on NCR/Symbios 810 [AS1000] or Qlogic 1020 [AS1000A]
785         
786 Box:
787 AS1000 based machines come in multiple boxes. Floor standing, rackmount,
788 with or without StorageWorks SCSI chassis etc. The electronics are the
789 same.
790
791 Memory:
792   AS1000-systems:
793   All EV4 based machines use standard PS/2 style 36 bit 72pin SIMMs in sets of
794   5. The fifth SIMM is used for ECC.
795   All EV5 based machines use standard PS/2 style 36 bit 72pin SIMMs in sets of
796   4. The ECC is done based on the 4 extra bits per SIMM (4 bits out of 36).
797   The EV5 mainboards have 16 SIMM slots, the EV4 mainboards have 20 slots.
798
799   AS800:
800   Uses DIMMs in sets of 4. DIMM installation must start in slots marked 
801   bank 0. A bank is four physically adjacent slots. The biggest size DIMMs
802   must be installed in bank 0 in case 2 banks of different DIMM sizes are
803   used. Max memory size is 2Gb.
804
805 SCSI:
806 For AS800 you want to check if your Ultra-Wide SCSI is indeed in Ultra mode.
807 This can be done using the EEROMCFG.EXE utility that is on the Firmware 
808 Upgrade CDROM. 
809   
810 For the AlphaServer1000/1000A/800 machines the kernel config file must contain:
811         options         DEC_1000A
812         cpu             EV4             # depends on model CPU installed
813         cpu             EV5             # depends on model CPU installed
814
815 *
816 * DS10/VS10/XP900 ("Webbrick") / XP1000 ("Monet")
817 *
818 Webbrick and Monet are high performance workstations/servers based on the
819 EV6 CPU and the Tsunami chipset. Tsunami is also used in much higher-end 
820 systems and as such has plenty of performance to offer. DS10, VS10 and XP900
821 are different names for essentially the same system. The difference are the 
822 software and options that are supported.
823
824 Monet has, by 1999 standards, *stunning* (the words of a satisfied
825 user) memory and I/O system bandwidth.
826
827 ** Webbrick 
828
829 Features:
830 - 21264 EV6 CPU at 466 MHz
831 - L2 / Bcache: 4MB 
832 - memory bus: 128 bit via crossbar
833 - memory: industry standard 200 pin 83 MHz buffered ECC SDRAM DIMMs
834           4 DIMM slots
835           installed in pairs of 2
836           max memory is 2Gb
837 - 21271 Core Logic chipset ("Tsunami")
838 - 2 on-board 21143 Fast Ethernet controllers
839 - AcerLabs M5237 (Aladdin-V) USB controller
840 - AcerLabs M1533 PCI-ISA bridge   
841 - AcerLabs Aladdin ATA-33 controller 
842 - embedded dual EIDE 
843 - expansion: 3 64-bit PCI slots
844              1 32-bit PCI slots
845 - 2x 16550A serial ports
846 - 1x parallel port
847 - 2x USB
848 - PS/2 keyboard & mouse port        
849
850 Power:
851 The system has a smart power controller. This means that parts of the system
852 remain powered when it is switched off (like an ATX-style PC power supply).
853 Before servicing the machine remove the power cord.
854
855 Case:
856 Webbrick is shipped in a desktop-style case similar to the older 21164
857 "Maverick" workstations but which offers much better access to        
858 components. If you intend to build a farm you can rackmount them in a 19"
859 rack.
860
861 Memory:
862 DS10 has 4 DIMM slots. DIMMs are installed as pairs. Please note that 
863 DIMM pairs are not installed in adjacent DIMM sockets but rather physically
864 interleaved. 
865
866 EIDE:
867 The base model comes with a FUJITSU 9.5GB ATA disk as its boot device.
868 FreeBSD/alpha works just fine using EIDE disks on Webbrick.
869
870 USB:
871 whether this works on FreeBSD on DS10 is as yet unknown.
872
873 The kernel config file must contain:
874         options         DEC_ST6600    
875 Contrary to expectation there is no 'cpu EV6' defined for inclusion in the
876 kernel config file. A 'cpu EV5' is mandatory to keep config(8) happy.
877
878 ** Monet 
879
880 Features:
881 - 21264 EV6 at 500 MHz
882   21264 EV67 at 500 or 667 MHz
883 - L2 / Bcache: 4MB 
884 - memory bus: 256 bit 
885 - memory: 128 or 256Mb 100 MHz (PC100) registered ECC SDRAM DIMMs
886 - 21271 Core Logic chip-set ("Tsunami")
887 - 1 on-board 21143 Ethernet controller
888 - Cypress 82C693 USB controller       
889 - Cypress 82C693 PCI-ISA bridge       
890 - Cypress 82C693 controller 
891 - expansion: 2 independent PCI buses (called hoses)
892         hose 0: (the upper 3 slots)
893              2 64-bit PCI slots    
894              1 32-bit PCI slot     
895         hose 1: (the bottom 2 slots)
896              2 32-bit PCI slots (behind a PCI-PCI bridge)
897         2 of the 64-bit PCI slots are for full-length cards
898         all of the 32-bit PCI slots are for short cards
899         1 of the 32-bit PCI slots is physically shared with an ISA slot
900 - 1x Ultra-Wide SCSI port based on a Qlogic 1040 chip
901 - 2x 16550A serial port        
902 - 1x parallel port        
903 - PS/2 keyboard & mouse port        
904 - embedded 16-bit ESS ES1888 sound chip
905 - 2x USB
906 - graphics options: ELSA Gloria Synergy or DEC/Compaq PowerStorm 3D
907                     accelerator cards
908
909 Case:
910 Monet is housed in a mini-tower like enclosure quite similar to the Miata
911 box.
912
913 Memory:
914 For 500 MHz CPUs 83 MHz DIMMs will do. DIMMs are installed in sets of 4,
915 starting with the DIMM slots marked '0'. Memory capacity is max 4Gb. 
916 DIMMs are installed 'physically interleaved', note the markings of the
917 slots.
918
919 EIDE:
920 Is usable / bootable for system disk so FreeBSD can be rooted on an EIDE
921 disk.
922
923 Expansion:
924 Don't try to use NCR/Symbios-chip based SCSI adapters in the PCI slots
925 connected to hose 1. There is a not-yet-found FreeBSD bug that prevents this
926 from working correctly.
927
928 Sound:
929 The sound chip is not currently supported with FreeBSD. There is work in
930 progress in this area.
931
932 The kernel config file must contain:
933         options         DEC_ST6600    
934 Contrary to expectation there is no 'cpu EV6' defined for inclusion in the
935 kernel config file. A 'cpu EV5' is mandatory to keep config(8) happy.
936
937 ** DS20/DS20E ("Goldrush" ?):
938
939 Features:
940 - 21264 EV6 CPU at 500 or 600 MHz
941 - dual CPU capable machine
942 - L2 / Bcache: 4 Mbytes per CPU
943 - memory bus: 256 bit 
944 - memory: SDRAM DIMMs
945           installed in sets of 4
946           uses ECC 
947           16 DIMM slots
948           max. 4Gb
949 - 21271 Core Logic chip-set ("Tsunami") 
950 - embedded Adaptec ? Wide Ultra SCSI 
951 - expansion: 2 independent PCI buses (called hoses)
952              6 64-bit PCI slots (3 per hose)
953              1 ISA slot
954
955 Case:
956 DS20 is housed in a fat minitower-like enclosure. The enclosure also
957 contains a StorageWorks SCSI hotswap shelf for a maximum of 7 3.5" SCSI
958 devices. DS20E is a sleeker case, without the StorageWorks shelf.
959
960 Embedded SCSI:
961 The embedded Adaptec SCSI chip on DS20 is disabled and therefore 
962 not usable under FreeBSD.
963
964 CPU:
965 DS20 can have 2 CPUs installed. FreeBSD/alpha is not currently SMP-capable 
966 and will only use the primary CPU.
967
968 Memory:
969 If you are using banks of DIMMs of different sizes the biggest DIMMs should
970 be installed in the DIMM slots marked '0' on the mainboard. The DIMM slots
971 should be filled 'in order' so after bank 0 install in bank 1 and so on.
972
973 Expansion:
974 Don't try to use NCR/Symbios-chip based SCSI adapters in the PCI slots
975 connected to hose 1. There is a not-yet-found FreeBSD bug that prevents this
976 from working correctly. DS20 ships by default with an NCR on hose 1 so you
977 have to move this card before you can install/boot FreeBSD on it.
978
979 The kernel config file must contain:
980         options         DEC_ST6600    
981 Contrary to expectation there is no 'cpu EV6' defined for inclusion in the
982 kernel config file. A 'cpu EV5' is mandatory to keep config(8) happy.
983
984 ** DP264
985
986 < need info on this one >
987
988 - onboard Adaptec is not bootable but works with FreeBSD 4.0 and later
989   as a datadisk-only SCSI bus.
990
991
992 Supported hardware overview
993 ---------------------------
994
995 Word of caution: the installed base for FreeBSD/alpha is not nearly as large
996 as for FreeBSD/intel. This means that the enormous variation of PCI/ISA
997 expansion cards out there has much less chance of having been tested on
998 alpha than on intel. This is not to imply they are doomed to fail, just that
999 the chance of running into something never tested before is much greater.
1000 GENERIC contains things that are known to work on Alpha only.
1001
1002 - Expansion buses: PCI and ISA are fully supported. Turbo Channel is not
1003 in GENERIC and has limited support (see the relevant machine model info).
1004 The MCA bus is not supported.
1005
1006 - Floppy drives: 1.44Mbyte and 1.2Mbyte floppy drives are supported.
1007 2.88Mbyte drives sometimes found in Alpha machines are supported up to
1008 1.44Mbyte.
1009
1010 - ATA / ATAPI (IDE): are supported via the ata driver framework. As most
1011 people run their Alphas with SCSI disks it is not as well tested as SCSI. Be
1012 aware of bootability restrictions for IDE disks. See the machine specific
1013 information.
1014
1015 - SCSI: full support via the CAM layer for Adaptec 2940x (AIC7xxx
1016 chip-based), Qlogic family and NCR/Symbios. Be aware of the machine-specific
1017 bootability issues for the various adapter types.
1018
1019 - graphics console/keyboard/mouse: in general the SRM console emulates 
1020 a VGA-compatibility mode on PCI VGA cards. This is, however, not guaranteed 
1021 to work by Compaq/DEC for each and every card type out there. When the SRM 
1022 thinks the VGA is acceptable FreeBSD will be able to use it. The console driver
1023 works just like on a FreeBSD/intel machine. The TGA video graphics which 
1024 is builtin on for example Multia is reported to be not usable with FreeBSD.
1025
1026 - serial ports: the 'PC standard' serial ports found on most Alphas are 
1027 supported. For TurboChannel machines the serial ports are also supported.
1028
1029 - parallel ports: are not currently supported on FreeBSD/alpha
1030
1031 - ISDN (i4b): is not supported on FreeBSD/alpha
1032
1033 - multimedia: is not really supported on FreeBSD/alpha but work is underway
1034
1035
1036 Acknowledgments
1037 ----------------
1038
1039 In compiling this file I used multiple information sources, but
1040 http://www.netbsd.org proved to be an invaluable source of information.
1041 If it wasn't for NetBSD/alpha there probably would not be a FreeBSD/alpha
1042 in the first place.
1043
1044 People who kindly helped me with creating this document:
1045
1046 - Nick Maniscalco <nmanisca@vt.edu>
1047 - Andrew Gallatin <gallatin@cs.duke.edu>
1048 - Christian Weisgerber <naddy@mips.rhein-neckar.de>
1049 - David O'Brien <obrien@NUXI.com>
1050 - Wim Lemmers <wim.lemmers@compaq.com>
1051 - Matthew Jacob <mjacob@feral.com>
1052 - Eric Schnoebelen <eric@cirr.com>
1053 - Chuck Robey <chuckr@picnic.mat.net>
1054 - Mike Smith <msmith@FreeBSD.ORG>
1055 - Peter Jeremy <peter.jeremy@alcatel.com.au>