summaryrefslogtreecommitdiffstats
path: root/release/texts/alpha/HARDWARE.TXT
blob: 467b13ae77db608f9bdb51561c6ec2d9ad4c7992 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
		FreeBSD/alpha Hardware Information
		==================================

This file is maintained by Wilko Bulte <wilko@freebsd.org>

Additions, corrections and constructive criticism are invited. In 
particular information on system quirks is more than welcome. 


Overview
--------

This document tries to provide a starting point for those who want to start
running FreeBSD on an Alpha-based machine. It is aimed at providing
background information on the various hardware designs. It is not a
replacement for the systems manuals. 

The information is structured as follows:

- general hardware requirements to run FreeBSD on Alpha.
- system specific information for each of the systems/boards supported
  by FreeBSD/alpha.
- information on expansion boards for FreeBSD/alpha, including things
  that differ from what is in the generic supported hardware list.

Note: you will see references to DEC, Digital Equipment Corporation and 
Compaq used more or less interchangably. Now that Compaq has acquired Digital 
Equipment it would be more correct to refer to Compaq-only.


In general, what do you need to run FreeBSD/alpha? 
--------------------------------------------------

Obviously you will need an Alpha machine that FreeBSD/alpha knows about.
Alpha machines are NOT like PCs. There are considerable differences
between the various chip sets and mainboard designs. This means that a kernel
needs to know the intimate details of a particular machine before it can run
on it. Throwing some odd GENERIC kernel at unknown hardware is almost
guaranteed to fail miserably.

For a machine even to be considered for FreeBSD use please make sure it has
the SRM console firmware installed. Or at least make sure that SRM console 
firmware is available for this particular machine type. If FreeBSD does not
currently support your machine type, there is a good chance that this will
change at some point in time, assuming SRM is available.

Machines with the ARC or AlphaBIOS console firmware were intended for 
WindowsNT. Some of them have SRM firmware available in the system ROMs 
which you only have to select (via an ARC or AlphaBIOS menu). In other cases 
you will have to re-flash the ROMs with SRM code. Check on
http://ftp.digital.com/pub/DEC/Alpha/firmware to see what is available
for your particular system. In any case: no SRM -> no FreeBSD (or NetBSD, 
OpenBSD, Tru64 Unix or OpenVMS for that matter). With the demise of
WindowsNT/alpha a lot of former NT boxes are sold on the second hand
market. They have little or no trade-in value when they are NT-only from the
console perspective. So, be suspicious if the price appears too good.

Known non-SRM machines are:
	Digital XL series
	Digital XLT series
	Samsung PC164UX
	Samsung 164B

To complicate things a bit further: Digital used to have so called
'white-box' Alpha machines destined as NT-only and 'blue-box' Alpha machines
destined for OpenVMS and Digital Unix. These names are based on the color
of the cabinets, 'FrostWhite' and 'TopGunBlue' respectively.
Although you could put the SRM console on the whitebox, OpenVMS and Digital
Unix will refuse to boot on them. FreeBSD in post-4.0R will run on both the
white and the blue-box variants. Before someone asks: the white ones had a
rather different (read: cheaper) pricetag.

As part of the SRM you will get the so called OSF/1 PAL code (OSF/1 being the
initial name of Digital's Unix offering on Alpha). The PAL code can be thought
of as a software abstraction layer between the hardware and the operating
system. It uses normal CPU instruction plus a handful of privileged
instructions specific for PAL use. PAL is not microcode by the way. 
The ARC firmware contains a different PAL code, geared towards WinNT and in
no way suitable for use by FreeBSD (or more generic: Unix or OpenVMS).
Before someone asks: Linux/alpha brings its own PAL code, allowing it to
boot on ARC & AlphaBIOS. There are various reasons why this is not a 
very good idea in the eyes of the *BSD folks. I don't want to go into 
details here.

There is another pitfall ahead: you will need a disk adapter that the SRM
console recognizes in order to be able to boot from your disk. What is 
acceptable to SRM as a boot adapter is unfortunately system and SRM version
dependent. For older PCI based machines this means you will need either 
a NCR/Symbios 53C810 based adapter, or a Qlogic 1020/1040 based adapter. 
Some machines come with a SCSI chip embedded on the mainboard. Newer machine 
designs and SRM versions will be able to work with later SCSI chips/adapters. 
Check out the machine specific info below.

The problem might bite those who have machines that started their lives as 
WinNT boxes. The ARC or AlphaBIOS knows about *other* adapter types that it 
can boot from than the SRM. For example you can boot from an Adaptec 2940UW 
with ARC but not with SRM. 

Some adapters that cannot be booted from work fine for data-only disks
(e.g. Adaptec 2940x boards). The differences between SRM and ARC could also
get you pre-packaged IDE CDROMs and hard drives in some (former NT) systems. 
SRM versions exist (depends on the mainboard) that can also boot 
from IDE disks. 

FreeBSD/alpha 4.0 and later can be booted from the distribution CDROM.
Earlier versions needed booting from a 2-floppy set.

If you don't have/want a local disk drive you can boot via the Ethernet.
This assumes a Ethernet adapter/chip that is recognized by the SRM.
Generally speaking this boils down to either a 21040 or 21142 or 21143 
based Ethernet interface. Older machines / SRM versions may not recognize
the 21142 / 21143 Fast Ethernet chips, you are limited to using 10Mbit
Ethernet for net booting those machines. Non-DEC cards based on said chips will
generally (but are not guaranteed to) work. Note that Intel took over the
21x4x chips when it bought Digital Semiconductor. So you might see an Intel
logo on them these days. Recent machine designs have SRM support for
Intel 8255x ethernet chips.

Alpha machines can be run with SRM on a graphics console or on
a serial console. ARC can be run on a serial consoles if need be. VT100
emulation with 8 bit controls should at least allow you to switch from 
ARC to SRM mode without having to install a graphics card first.

If you want to run your Alpha without a monitor/graphics card 
just don't connect a keyboard/mouse to the machine. Instead hook 
up a serial terminal[emulator] to serial port #1.  The SRM will 
talk 9600N81 to you. This can be really practical for debugging purposes.
Beware: some/most (?) SRMs will also present you with a console prompt at
serial port #2. The booting kernel, however, will display the boot messages
on serial port #1 and will also put the console there. This can be extremely
confusing.

Most PCI based Alphas can use ordinary PC-type VGA cards. The SRM contains
enough smarts to make that work. It does not, however, mean that each and
every PCI VGA card out on the street will work in an Alpha machine. Things
like S3 Trio64, Mach64, and Matrox Millenium generally work. Old ET4000
based ISA cards have also worked for me. But ask around first before buying.
Please note that TGA cards are not supported as FreeBSD console display cards.

Most PCI devices from the PC-world will also work in FreeBSD/alpha PCI-based
machines. Check the /sys/alpha/conf/GENERIC file for the latest word on
this. Be careful to check the appropriate machine type's discussion
in case you want to use PCI cards that have PCI bridge chips on them.
In some cases you might encounter problems with PCI cards not handling
PCI parity correctly. This can lead to panics. PCI parity checking can be
disabled using the following SRM command: SET PCI_PARITY OFF. This is not
a FreeBSD problem, all operating systems running on Alpha hardware will
need this workaround.

If your system (also) contains EISA expansion slots you will need to run
the EISA Configuration Utility (ECU) after you have installed EISA cards
or have upgraded your console firmware. 

Parallel ports that can be found on most Alpha machines are supported.

For Alpha CPUs you will find multiple generations. The original Alpha
design is the 21064. It was produced in a chip process called MOS4,
chips made in this process are nicknamed EV4. Newer CPUs are 21164, 21264
etc. You will see designations like EV4S, EV45, EV5, EV56, EV6, EV67.
The EVs with double digit numbers are slightly improved versions. For example
EV45 has an improved FPU and 16 kByte onchip separate I & D caches compared
to the EV4 on which it is based. Rule of thumb: the higher the digit
immediately following 'EV' the more desirable (read: faster / more modern).

For memory you want at least 32 Mbytes. I have had FreeBSD/alpha run on a
16 Mbyte system but you will not like that. Kernel build times halved when
going to 32 Mbytes. Note that the SRM steals 2Mbyte from the total system 
memory (and keeps it). For more serious use >= 64Mbyte is recommended. 

While on the subject of memory: pay close attention to the type of memory
your machine uses. There are very different memory configurations and
requirements for the various machines.

Final word: I expect the above to sound a bit daunting to the first-time
Alpha user. Don't be daunted too much. And do feel free to ask questions.


System specific information
---------------------------

Below is an overview of the hardware that FreeBSD/alpha runs on.
This list will definitely grow, a look in /sys/alpha/conf/GENERIC
can be enlightening. Alpha machines are often best known by their project
code name. When known these are listed below in ().

*
* AXPpci33 ("NoName")
*
The NoName is a baby-AT mainboard based on the 21066 LCA (Low Cost Alpha)
processor. It was originally designed for OEM-use. The LCA chip includes
almost all of the logic to drive a PCI bus and the memory subsystem. 
All of this makes for a low-priced design. 

Due to the limited memory interface the system is not particularly
fast in case of cache misses. As long as you stay inside the on-chip cache
the CPU is comparable to a 21064 (first generation Alpha). These boards 
should be very cheap to obtain these days (even here in the Netherlands 
they were sold new for US$ 25).

Features:
- 21066 Alpha CPU at 166 MHz or 21066A CPU at 233MHz
  (21068 CPUs are also possible, but are even slower. Never seen/used one)
- memory bus: 64 bits 
- on-board Bcache / L2 cache: 0, 256k or 1 Mbyte (uses DIL chips)
- PS/2 mouse & keyboard port OR 5pin DIN keyboard (2 mainboard models)
- memory: PS/2 style 72 pin 36 bit Fast Page Mode SIMMs, 
	  70ns or better,
          installed in pairs of 2,
	  4 SIMM sockets
	  uses ECC 
- 512kB Flash ROM for the console code.
- 2x 16550A serial ports, 1x parallel port, floppy interface
- 1x embedded IDE interface
- expansion: 3 32 bit PCI slots (1 shared with ISA)
	     5 ISA slots (1 shared with PCI)
- embedded Fast SCSI using a NCR/Symbios 53C810 chip

SRM:
NoNames can either have SRM *or* ARC console firmware in their Flash ROM.
The Flash ROM is not big enough to hold both ARC and SRM at the same time 
and allow software selection of alternate console code. But you need 
SRM-only anyway.

Cache:
Cache for the NoNames are 15 or 20 ns DIL chips. For a 256 kByte cache you
want to check your junked 486 mainboard. Chips for a 1 Mbyte cache are a rarer
breed unfortunately. Getting at least a 256kByte cache is recommended
performance wise. Cache-less they are really slow.

Power:
The NoName mainboard has a PC/AT-standard power connector. It also has 
a power connector for 3.3 Volts. No need to rush out to get
a new power supply. The 3.3 Volts is only needed in case you run 3.3 Volts
PCI expansion boards.

IDE:
SRM cannot boot from IDE disks.

Memory:
Make sure you use true 36 bit SIMMs, and only FPM (Fast Page Mode). EDO RAM
or SIMMs with fake parity *will not work* (the board uses the 4 extra bits
for ECC!). 33 bit FPM SIMMs will for the same reason not work either. 

Keyboard/mouse:
Given the choice, get the PS/2-variant mainboard. Apart from giving you a
mouse port as bonus it is directly supported by Tru64 Unix in case you ever
want/need to run it. The "DIN-plug"-variant should work OK for FreeBSD.

The OEM manual is recommended reading.
See ftp://ftp.digital.com/pub/DEC/axppci/design_guide.ps

The kernel configuration file for a NoName kernel must contain:
	options         DEC_AXPPCI_33           
	cpu		EV4


*
* Universal Desktop Box (UDB or "Multia")
*

Note: Multia can be either Intel or Alpha CPU based. We assume Alpha based
      ones here for obvious reasons.

Multia is a small desktop box intended as a sort of personal workstation.
They come in a considerable number of variations, check closely what you
get.

Features:
- 21066 Alpha CPU at 166 MHz or 21066A CPU at 233MHz
- memory bus: 64 bits 
- on-board Bcache / L2 cache: COAST-like 256 kByte cache module
			      233MHz models have 512kByte of cache
                              166MHz models have soldered-on 256kB caches
- PS/2 mouse & keyboard port
- memory: PS/2 style 72 pin 36 bit Fast Page Mode SIMMs, 
	  70ns or better,
          installed in pairs of 2,
	  4 SIMM sockets
	  uses ECC 
- 2x 16550A serial ports, 1x parallel port, floppy interface
- Intel 82378ZB PCI to ISA bridge
- 1x embedded 21040 based 10Mbit Ethernet, AUI or 10base2 connector
- expansion: 1 32 bit PCI slot, 2 PCMCIA slots
- onboard Crystal CS4231 or AD1848 sound chip
- embedded Fast SCSI using a NCR/Symbios 53C810 chip on the PCI riser card

SRM/ARC:
Multia has enough Flash ROM to store both SRM and ARC code at the same time
and allow software selection of one of them.

Expansion:
Multia has only one 32 bit PCI slot for expansion, and it is only 
suitable for a small form factor PCI card too. In sacrificing the PCI slot
space you can mount a 3.5" hard disk drive. Mounting stuff may have come
with your Multia. Adding a 3.5" disk is not a recommended upgrade due to 
the limited power rating of the power supply and the extremely marginal
cooling of the system box. Don't!

Multia also has 2 PCMCIA expansion slots. These are currently unsupported.

CPU:
The CPU might or might not be socketed, check before considering CPU upgrade 
hacks. The low-end Multias have a soldered-in CPU.

Graphics: 
It comes with a TGA based graphics on-board. Which is not suitable for
console use with FreeBSD. Which means you will have to run it using a 
serial console. Note that the boot of the installation disk will appear
to work fine using the TGA console, but then switches to using the 
serial port. This is even mentioned during by installer (but never read
by the human doing the install..). Your keyboard appears dead from that point
on.

Serial:
Multia has 2 serial ports but routes both of them to the outside world
on a single 25 pin sub-D connector. The Multia FAQ explains how to
build your own Y-cable to allow both ports to be used.

Floppy:
Although the Multia SRM supports booting from floppy this is problematic. 
Typical errors look like "*** Soft Error - Error #10 - FDC: Data overrun or
underrun". This is not a FreeBSD problem, it is a SRM problem. The best 
available workaround to install FreeBSD is to boot from a SCSI CDROM.

Sound:
Works fine using pcm driver and a line in the kernel configuration file as
follows for the Crystal CS4231 chip:

	device pcm0 at isa? port 0x530  irq 9 drq 3 flags 0x15

I have not yet been succesful in getting my Multia with the AD1848 to 
play any sound.

While verifying playback I was reminded of the lack of CPU power of the 166MHz
CPU: MP3 only plays acceptable using 22kHz downsampling.

Hot:
Multias are somewhat notorious for dying of heat strokes. The very compact
box does not really allow cooling air access very well. Please use the 
Multia on its vertical stand, don't put it horizontally ('pizza style').
Replacing the fan with something which pushes around more air is
recommended. Beware of PCI cards with high power consumption.
If your system has died you might want to check on the Multia-Heat-Death
pages at the NetBSD website http://www.netbsd.org

IDE:
The Intel 82378ZB PCI to ISA bridge enables the use of an IDE disk. This
requires a line in the kernel configuration file as follows:

	device ata0 at isa? port IO_WD1 irq 14

The IDE connector pin spacing is thought for 2.5" laptop disks. A 3.5"
IDE disk would not fit in the case anyway. At least not without sacrificing
your only PCI slot. 

The SRM console does not know how to boot from IDE disks unfortunately.

SCSI:
In case you want to change the internal hard drive: the internal flat cable
running from the PCI riser board to the 2.5" (!!) hard drive has a finer pitch
than the standard SCSI flat cables. Otherwise it would not fit on the 2.5"
drives. There are also riser cards that have a standard-pitch SCSI cable
attached to it, which will fit an ordinary SCSI disk.

Again, I recommend against trying to cram a replacement hard disk inside. Use 
the external SCSI connector and put your disk in an external enclosure. 
Multias run hot enough as-is. In most cases you will have the external high 
density 50pin SCSI connector but some Multia models came without disk and 
may lack the connector. Something to check before buying one.

The kernel configuration file for a Multia kernel must contain:
        options         DEC_AXPPCI_33
	cpu		EV4

More info:
Recommended reading on Multia can be found at
	http://www.netbsd.org/Ports/alpha/multiafaq.html
	http://www.brouhaha.com/~eric/computers/udb.html

*
* Personal Workstation ("Miata")
*

The Miata is a small tower machine intended to be put under a desk. There
are multiple Miata variants. The original Miata is the MX5 model. Because 
it suffers from a number of hardware design flaws a redesign was performed,
yielding the MiataGL. Unfortunately the boxes are quite indistinguishable.
An easy check is to see if the back of the machine sports two
USB connectors. If yes, it is a MiataGL. 

System designations look like "Personal Workstation 433a". Personal
Workstation, being a bit of a mouthful, is often abbreviated to PWS.
This means it has a 433 MHz CPU, and started life as a WinNT workstation 
(the trailing 'a'). Systems designated from day 1 to run Tru64 
Unix or OpenVMS will sport '433au'. WinNT-Miatas are likely
to come pre-configured with an IDE CDROM drive. So, in general systems
are named like PWS[433,500,600]a[u]. 

There was also a Miata model with a special CPU cooling system by Kryotech. 
That one has a different enclosure.

Features:

- 21164A EV56 Alpha CPU, at 433, 500 or 600MHz 
- 21174 Core Logic ("Pyxis") chip set
- on-board Bcache / L3 cache: 0, 2 or 4 Mbytes (uses a cache module)
- memory bus: 128 bits wide, ECC protected
- memory: Miata uses unbuffered SDRAMs, 
	  installed in pairs of 2,
	  6 DIMM sockets
	  1.5 Gbytes max
- on-board Fast Ethernet based on:
  - MX5 uses a 21142 or 21143 Ethernet chip dependent on the version of the
    PCI riser card 
  - MiataGL has a 21143 chip
  - the bulkhead can be 10/100 UTP, or 10 UTP/BNC
- 2x on-board [E]IDE based on:
  - MX5: CMD646
  - MiataGL: Cypress 82C693
- 1x Ultra-Wide SCSI Qlogic 1040 [MiataGL only]
- expansion: 2 64-bit PCI slots
	     3 32-bit PCI slots (behind a DEC PCI-PCI bridge chip)
	     3 ISA slots (physically shared with the 32 bit PCI slots, via
		          an Intel 82378IB PCI to ISA bridge chip)
- 2x 16550A serial port
- 1x parallel port 
- PS/2 keyboard & mouse port
- USB interface [MiataGL only]
- embedded sound based on an ESS1888 chip

CPU mainboard and PCI 'riser' board: 
The Miata logic is divided into two printed circuit boards. 
The lower board in the bottom of the machine has the PCI 
and ISA slots and things like the sound chip etc. The top board
has the CPU, the Pyxis chip, memory etc. Note that MX5 and the MiataGL use
a different PCI riser board. This means that you cannot just upgrade to
a MiataGL CPU board (with the newer Pyxis chip) but that you will also need
a different riser board. Apparently an MX5 riser with a MiataGL CPU board
will work but it is definitely not a supported or tested configuration.
Everything else (cabinet, wiring etc etc) is identical for MX5 and MiataGL.

DMA bug: 
MX5 has problems with DMA via the 2 64-bit PCI slots when this DMA
crosses a page boundary. The 32 bit slots don't have this problem because the
PCI-PCI bridge chip does not allow the offending transfers. The SRM code 
knows about the problem and refuses to start the system if there is a PCI
card in one of the 64bit slots that it does not know about. Cards that are
'known good' to the SRM are allowed to be used in the 64bit slots. 

If you want to fool the SRM you can type "set pci_device_override" at
the SRM prompt. Just don't complain if your data mysteriously gets mangled.

The complete command is:

	set pci_device_override <vendor_id><device_id>
	e.g. set pci_device_override 88c15333

A more radical approach is to use: 
	
	set pci_device_override -1

This disables PCI ID checking altogether, so that you can stick in any
random PCI card without its ID getting checked. Again: do this on your own
risk.

The kernel reports it when it sees a buggy Pyxis chip:
Sep 16 18:39:43 miata /kernel: cia0: Pyxis, pass 1
Sep 16 18:39:43 miata /kernel: cia0: extended capabilities: 1<BWEN>
Sep 16 18:39:43 miata /kernel: cia0: WARNING: Pyxis pass 1 DMA bug; no
bets...

A MiataGL probes as:
Jan  3 12:22:32 miata /kernel: cia0: Pyxis, pass 1
Jan  3 12:22:32 miata /kernel: cia0: extended capabilities: 1<BWEN>
Jan  3 12:22:32 miata /kernel: pcib0: <2117x PCI host bus adapter> on cia0

MiataGL does not have the DMA problems of the MX5. PCI cards that make
the MX5 SRM choke when installed in the 64bit slots are accepted without 
problems by the MiataGL SRM.

The latest mainboard revisions of MX5 contain a hardware workaround for the
bug. The SRM does not know about the ECO and will complain about unknown cards
as before. So does the FreeBSD kernel by the way.

EIDE:
The Miata SRM can boot from IDE CDROM drives. Hard disk boot is known to work 
for both MiataGL and MX5 disks, so you can root FreeBSD from an IDE disk. Speeds
on MX5 are around 14 Mbytes/sec assuming a suitable drive. The CMD646 chip will
support up to WDMA2 mode as the silicon is too buggy for use with UDMA.

PCI-PCI bridge:
The MiataGL has a faster PCI-PCI bridge chip on the PCI riser card than 
some of the MX5 riser card versions. Some of the MX5 risers have the *same*
chip as the MiataGL. All in all there is a lot of variation.

Not all VGA cards will work behind the PCI-PCI bridge. This manifests itself
as no video at all. Workaround is to put the VGA card 'before' the bridge,
in one of the 64 bit PCI slots.

Sound: 
Both MX5 and MiataGL have an on-board sound chip, an ESS1888. It emulates
a SoundBlaster and can be enabled by putting 

	device pcm0                                                           
	device sbc0    

in your kernel configuration file.

Cache: 
in case your Miata has the optional cache board installed make sure
it is firmly seated. A slightly loose cache has been observed to cause
weird crashes (not surprising obviously, but maybe not so obvious when
troubleshooting). The cache module is identical between MX5 and MiataGL.

Installing a 2Mb cache module achieves, apart from a 10-15% speed increase 
(based on buildworld elapsed time), a *decrease* for PCI DMA read bandwidth 
from 64bit PCI cards. A benchmark on a 64-bit Myrinet card resulted in 
a decrease from 149 Mbytes/sec to 115 Mbytes/sec. Something to keep in 
mind when doing really high speed things with 64 bit PCI adapters.

Keyboard:
If you experience SRM errors like "ERROR: scancode 0xa3 not supported
on PCXAL" after halting FreeBSD you should update your SRM firmware 
to V7.2-1 or later. This SRM version is first available on the Firmware
Update CD V5.7, or on http://www.compaq.com The problem is fixed on both 
Miata MX5 and Miata GL.

USB:
Supported by FreeBSD 4.1 and later.

Power:
Disconnect the power cord before dismantling the machine, the soft-power
switch keeps part of the logic powered even when the machine is switched
off.

The kernel configuration file for a Miata kernel must contain:
	options         DEC_ST550               
	cpu		EV5

*
* DEC3000 family (the "Bird" machines)
*

The DEC3000 series were among the first Alpha machines ever produced. They
are based on an I/O bus called the Turbo Channel (TC) bus. These
machines are built like tanks (watch your back). 

DEC3000 can be subdivided in DEC3000/500-class and DEC3000/300-class. 
The DEC3000/500-class is the early high-end workstation/server Alpha family. 
Servers use serial consoles, workstations have graphics tubes. 
DEC3000/300-class is the lower-cost workstation class.

DEC3000/500-class are quite fast (considering their age) thanks to the 
good memory design. DEC3000/300 is crippled compared to DEC3000/500 because
of its much narrower memory bus.

They are called 'Birds' because their internal DEC code names were bird
names:

	DEC3000/400     Sandpiper 	133MHz CPU, desktop
	DEC3000/500     Flamingo  	150MHz CPU, floor standing
	DEC3000/500X    Hot Pink  	200MHz CPU, floor standing
	DEC3000/600     Sandpiper+  	175MHz CPU, desktop
	DEC3000/700,    Sandpiper45 	225MHz CPU, floor standing
	DEC3000/800,	Flamingo Ultra  200MHz CPU, floor standing
	DEC3000/900,	Flamingo45  	275MHz CPU, floor standing

	DEC3000/300 	Pelican 	150MHz CPU, desktop, 2 TC slots
        DEC3000/300X    Pelican+ 	175MHz CPU, desktop, 2 TC slots
	DEC3000/300LX	Pelica+   	125MHz CPU, desktop, 2 TC slots
	DEC3000/300L	            	100MHz CPU, desktop, no TC slots
		

Features:
- 21064 CPU  (100 to 200 MHz)
  21064A CPU (225 to 275 MHz)
- memory bus: 256 bit, with ECC 	[DEC3000/500-class]
	       64 bit, with ECC		[DEC3000/300-class]
- memory: - proprietary 100pin SIMMs 
            installed in sets of 8 	[DEC3000/500-class]
 	  - PS/2 style 72pin 36 bit FPM SIMMs, 70ns or better
	    used in pairs of 2		[DEC3000/300-class]
- Bcache / L2 cache: varying sizes, 512 kB to 2 Mbyte
- built-in 10Mbit Ethernet based on a Lance 7990 chip, AUI and UTP 
- one or two SCSI buses based on a NCR53C94 or a NCR53CF94-2 chip 
- 2 serial ports based on Zilog 8530 (one usable as a serial console)
- embedded ISDN interface
- on-board 8 bit sound 
- 8 bit graphics on-board [some models] or via a TC card [some other models]

SCSI:
Currently DEC3000 machines can only be used diskless on FreeBSD/alpha. The
reason for this is that the SCSI drivers needed for the TC SCSI adapters
were not brought into CAM that the recent FreeBSD versions use. TC option
cards for single (PMAZ-A) or dual fast SCSI (PMAZC-AA) are also available.
And currently have no drivers on FreeBSD either.

DEC3000/300 has 5Mbytes/sec SCSI on-board. This bus is used for both internal
and external devices. DEC3000/500 has 2 SCSI buses. One is for internal 
devices only, the other one is for external devices only.

Floppy devices found in the DEC3000s are attached to the SCSI bus (via a
bridge card). This makes it possible to boot from them using the same device
names as ordinary SCSI harddisks (>>> BOOT DKA300 for example).

Expansion:
The 3000/300 series has a half-speed TurboChannel compared to the other
3000 machines. Some TC expansion cards have troubles with the half-speed
bus. Caveat empor.

ISDN interface:
ISDN does not work on FreeBSD (to be honest I don't think there is any 
operating system, including Tru64 Unix, that can use it). 

Memory:
DEC3000/300-class uses standard 36 bit, 72 pin Fast Page Mode SIMMs.
EDO SIMMs, 32 or 33 bit SIMMs all will not work in Pelicans.
For 32Mbyte SIMMs to work on the DEC3000/300-class the presence detect 
bits/pins of the SIMM must correspond to what the machine expects. If they
don't, the SIMM is 'seen' as a 8 Mbyte SIMM. 8 Mbyte and 32 Mbyte SIMMs can 
be mixed, as long as the pairs themselves are identical.

When you find yourself in need of fixing 32Mbyte SIMMs that lack correct
presence bits the following info might be of use:

There are four presence detection bits on PS/2 SIMMs.  Two of       
the bits indicate the access time.  The other two indicate the memory size.

At one end of the simm there are two rows of four solder pads.  One
row is connected to Vss (GND) and the other is connected to pins
67 (PRD1), 68 (PRD2), 69 (PRD3), 70 (PRD4).                         

If you bridge a pair of pads with a small resistor or a drop of  
solder you ground that particular bit.

	PRD1    PRD2    mem. size
	-----------------------------
	GND     GND     4 or 64 Mbyte
	Open    GND     2 or 32 Mbyte
	GND     Open    1 or 16 Mbyte
	Open    Open    8 Mbyte

	PRD3    PRD4    access time
	------------------------------
	GND     GND     50 or 100 nsec
	Open    GND     80 nsec
	GND     Open    70 nsec
	Open    Open    60 nsec

DEC3000/500-class can use 2, 4, 8, 16 and 32 Mbyte 100pin SIMMs. 
Note that the maximum memory size varies from system to system, 
desktop machines have sacrificed box size for less memory SIMM sockets. 
Given enough sockets and enough SIMMs you can get to 512 Mbytes maximum.
This is one of the main differences between floor standing and desktop
machines, the latter have far less SIMM sockets.

Sound:
The sound hardware is not supported on any of the Birds.

Graphics:
The is no X-Windows version available for the TC machines. 
DEC3000/300 needs a serial console. DEC3000/500-class might
work with a graphical console. I ran mine with a serial console so I cannot
verify this. 

Birds can be obtained from surplus sales etc. As they are not PCI
based they are no longer actively maintained. TC expansion boards can 
be difficult to obtain these days and support for them is not too good
unless you write/debug the code yourself. Programming information for TC
boards is hard to find. Birds are recommended only if a. you can get them
cheap and b. if you prepared to work on the code to support them better.

For the DEC3000/[4-9]00 series machines the kernel config file must 
contain:
	options         DEC_3000_500           
	cpu		EV4

For the DEC3000/300 ("Pelican") machines the kernel config file must
contain:
	options         DEC_3000_300            
	cpu		EV4

*
*Evaluation Board 64plus ("EB64+"), Aspen Alpine
*

In its attempts to popularise the Alpha CPU DEC produced a number of so
called Evaluation Boards. The EB64+ family boards have the following feature
set:

- 21064 or 21064A CPU, 150 to 275MHz 
- memory bus: 128 bit
- memory:  PS/2 style 72 pin 33 bit Fast Page Mode SIMMs, 
	   70ns or better,
           installed in sets of 4
           8 SIMM sockets
           uses parity
- Bcache / L2 cache: 512 kByte, 1 Mbyte or 2 Mbytes
- 21072 ("APECS") chip set 
- Intel 82378ZB PCI to ISA bridge chip ('Saturn')
- dual 16550A serial ports
- NCR/Symbios 53C810 Fast-SCSI
- embedded 10 Mbit Ethernet
- 2 PCI slots
- 3 ISA slots

Aspen Alpine:
Aspen Alpine is slightly different, but is close enough to the EB64+ to
run an EB64+ SRM EPROM (mine did..). The Aspen Alpine does not have 
an embedded Ethernet, has 3 instead of 2 PCI slots. It comes with 2 Mbytes
of cache already soldered onto the mainboard. It has jumpers to select
the use of 60, 70 or 80ns SIMM speeds.

Memory:
36 bits SIMMs work fine, 3 bits simply remain unused.

SRM:
The SRM console code is housed in an UV-erasable EPROM. No easy flash SRM
upgrades for the EB64+ The latest SRM version available for EB64+ is quite
ancient anyway.

SCSI: 
The EB64+ SRM can boot both 53C810 and Qlogic1040 SCSI adapters. Pitfall for
the Qlogic is that the firmware that is down-loaded by the SRM onto the
Qlogic chip is very old. There are no updates for the EB64+ SRM available. 
So you are stuck with old Qlogic bits too. I have had quite some problems
when I wanted to use Ultra-SCSI drives on the Alpine with Qlogic. The
FreeBSD/alpha kernel can be compiled to include a much newer Qlogic firmware
revision. This is not the default because it adds hundreds of kBytes worth
of bloat to the kernel. In FreeBSD 4.1 and later the isp firmware is contained 
in a kernel loadable module. All of this might mean that you need to use a
non-Qlogic adapter to boot from. 

For the EB64+ class machines the kernel config file must contain:
	options         DEC_EB64PLUS            
	cpu		EV4

*
* Evaluation Board 164 ("EB164, PC164, PC164LX, PC164SX") family
*

EB164 is a newer design evaluation board, based on the 21164A CPU. This
design has been used to 'spin off' multiple variations, some of which are
used by OEM manufacturers/assembly shops. Samsung did its own PC164LX
which has only 32 bit PCI, whereas the Digital variant has 64 bit PCI.

Features:
- 21164A, multiple speed variants [EB164, PC164, PC164LX]
  21164PC 			  [only on PC164SX]
- 21174 (Alcor) chip set
- Bcache / L3 cache:  EB164 uses special cache-SIMMs
- memory bus: 128 bit / 256 bit
- memory:  PS/2 style SIMMs in sets of 4 or 8, 
	   36 bit, Fast Page Mode, uses ECC, [EB164 and PC164]
	   SDRAM DIMMs in sets of 2, uses ECC [PC164SX and PC164LX]
- dual 16550A serial ports
- PS/2 style keyboard & mouse
- floppy controller
- parallel port
- 32 bits PCI
- 64 bits PCI [some models]
- ISA slots via an Intel 82378ZB PCI to ISA bridge chip

Memory:
Using 8 SIMMs for a 256bit wide memory can yield interesting speedups over
a 4 SIMM/128bit wide memory. Obviously all 8 SIMMs must be of the same type
to make this work. The system must be explicitly setup to use the 
8 SIMM memory arrangement. You must have 8 SIMMs, 4 SIMMs distributed 
over 2 banks does not work.

SCSI:
The SRM can boot from Qlogic 10xx boards or the NCR/Symbios 53C810. 
53C825[a] will also work as boot adapter. Diamond FirePort, although 
based on Symbios chips, is not bootable by the PC164SX SRM. 
PC164SX is reported to boot fine with Symbios825, Symbios875 and Symbios876 
based cards.  Cards like the Tekram DC-390F (Symbios875 based) have been
confirmed to work fine on the PC164. PC164 SRM does not appear to recognise
a Symbios 53C895 based host adapter (tested with a Tekram DC-390U2W).

SRM quirks:
PC164 the SRM sometimes seems to loose its variable settings. 
"For PC164, current superstition says that, to avoid losing settings,
you want to first downgrade to SRM 4.x and then upgrade to a 5.x"
Other PC164 owners report they have never seen the problem. 

On PC164SX the AlphaBIOS allows you a selection to select 'SRM' to
be used as console on the next power up. This selection does not appear to
have any effect. In other words, you will get to the AlphaBIOS regardless
of what you select. The fix is to reflash the console ROM with the SRM 
code for PC164SX. This will overwrite the AlphaBIOS and will get you the
SRM console you desire. The SRM code can be found on the Compaq Web site.

IDE:
PC164 can boot from IDE disks assuming your SRM version is recent enough.

Power:
EB164 needs a power supply that supplies 3.3 Volts. PC164 does not implement
the PS_ON signal that ATX power supplies need to switch on. A simple switch
pulling this signal to ground fixes this problem.

For the EB164 class machines the kernel config file must contain:
        options         DEC_EB164
        cpu             EV5


*
* AlphaStation 200 ("Mustang") and 400 ("Avanti") series
*

The Digital AlphaStation 200 and 400 series systems are early PCI based
workstations for the lower end. The 200 and 250 series is a desktop box, the 
400 series is a desk-side mini-tower.

Features:
- 21064 or 21064A CPU at speeds of 166 to 333 MHz
- DECchip 21071-AA (core logic chip-set) consisting of:
    Cache/memory controller (one 21071-CA chip)
    PCI interface (one 21071-DA chip)
    Data path (two 21071-BA chips)
- Bcache / L2 cache: 512 Kbytes (200 and 400 series)
		     2048KBytes (250 series)
- memory bus: 64 bit
- memory: 8 to 384 MBytes of RAM,
	  70 ns or better Fast Page DRAM,
          in three pairs (200 and 400 series)
	  in two quads, so banks of four. (250 series)
	  uses parity 
- PS/2 keyboard and mouse port
- two 16550 serial ports
- parallel port
- floppy disk interface
- 32 bit PCI expansion slots (3 for 400 series, 2 for 200 & 250 series)
- ISA expansion slots (4 for 400 series, 2 for 200 & 250 series) 
  (some ISA/PCI slots are physically shared)
- embedded 21040-based Ethernet (200 & 250 series)
- embedded NCR/Symbios 53c810 Fast SCSI-2 chip
- Intel 82378IB ("Saturn") PCI-ISA bridge chip
- graphics is embedded TGA or PCI VGA (model dependent)
- 16 bit sound (on 200 & 250 series)

Memory:
the system uses parity memory SIMMs, but it does not need 36 bit wide SIMMs.
33 bit wide SIMMs are sufficient, 36 bit SIMMs are acceptable too. EDO or 32
bit SIMMs will not work. 4, 8, 16, 32 and 64 Mbyte SIMMs are supported.

Sound:
The AS200 & AS250 sound hardware is reported to work OK assuming you have 
the following line in your kernel config file:

	device pcm0 at isa? port 0x530 irq 9 drq 0 flags 0x10011

SCSI:
AlphaStation 200 & 250 series has an automatic SCSI terminator. This means that 
as soon as you plug a cable onto the external SCSI connector the internal
terminator of the system is disabled. It also means that you should not
leave unterminated cables plugged into the machine.

AlphaStation 400 series have an SRM variable that controls termination. In
case you have external SCSI devices connected you must set this SRM
variable using: "set control_scsi_term external". If only internal SCSI devices
are present use: "set control_scsi_term internal"

For the AlphaStation-[24][05]00 machines the kernel config file must contain:
        options         DEC_2100_A50
	cpu		EV4


*
* AlphaStation 500 and 600 ("Alcor" & "Maverick" for EV5, "Bret" for EV56)
*
AS500 and 600 were the high-end EV5 / PCI based workstations. EV6 based
machines have in the meantime taken their place as front runners. AS500 is
a desktop in a dark blue case (TopGun blue), AS600 is a sturdy desk-side box.
AS600 has a nice LCD panel to observe the early stages of SRM startup.

Features:
- 21164 EV5 CPU at 266, 300, 333, 366, 400, 433, 466, or 500 MHz (AS500)
		at 266, 300 or 333 MHz (AS600)
- 21171 or 21172 (Alcor) core logic chip-set
- cache: 2 or 4 Mb L3 / Bcache (AS600 at 266 MHz)
	 4 Mb L3 / Bcache (AS600 at 300 MHz)
	 2 or 8 Mb L3 / Bcache (8 Mb on 500 MHz version only)
         2 to 16 Mb L3 / Bcache (AS600; 3 cache-SIMM slots)
- memory bus: 256 bits, uses ECC
- memory: AS500: industry standard 8 byte wide DIMMs
          	 8 DIMM slots
	  	 installed in sets of 4,
	  	 maximum memory is 1 Gb (512 Mb max on 333 MHz CPUs)
		 uses ECC 
  	  AS600: industry standard 36 bit Fast Page Mode SIMMs
		 32 SIMM slots,
	         installed in sets of 8,
	         maximum memory is 1 Gb
	         uses ECC
- Qlogic 1020 based wide SCSI bus (1 bus/chip for AS500, 2 for AS600)
- 21040 based 10 Mbit Ethernet adapter with both Thinwire and UTP connectors
- expansion: AS500: 3 32-bit PCI slots
	     	    1 64-bit PCI slot
	     AS600: 2 32-bit PCI slot 
                    3 64-bit PCI slots
		    1 PCI/EISA physically shared slot
		    3 EISA slots
		    1 PCI and 1 EISA slot are occupied by default
- 21050 PCI-to-PCI bridge chip
- Intel 82375EB PCI-EISA bridge (AS600 only)
- 2 16550A serial ports
- 1 parallel port
- 16 bit audio Windows Sound System,
  in dedicated slot (AS500)
  in EISA slot (AS600, this is an ISA card)
- PS/2 keyboard and mouse port

SCSI:
Early machines had Fast SCSI interfaces, later ones are Ultra SCSI capable.
AS500 shares its single SCSI bus with internal and external devices. For a
Fast SCSI bus you are limited to 1.8 meters bus length external to the box.
+++ This is what some DEC docs suggest. Did they ever go Ultra?

AS600 has one Qlogic chip dedicated to the internal devices whereas the
other one is dedicated to external SCSI devices.

Memory:
In AS500 DIMMs are installed in sets of 4, in 'physically interleaved'
layout. So, a bank of 4 DIMMs is *not* 4 adjacent DIMMs!

In AS600 the memory SIMMs are placed onto two memory daughter cards. SIMMs
are installed in sets of 8. Both memory daughter cards must be populated
identical. 

PCI:
AS600 has a peculiarity for its PCI slots. AS600 (or rather the PCI
expansion card containing the SCSI adapters) does not allow I/O port 
mapping, therefore all devices behind it must use memory mapping.  
If you have problems getting the SCSI adapters to work, add the following 
option to /boot/loader.rc: 

        set isp_mem_map=0xff                                        
        
This may need to be typed at the boot loader prompt before booting the
installation kernel.                                                 

For the AlphaStation-[56]00 machines the kernel config file must contain:
	options         DEC_KN20AA 
	cpu		EV5

*
* AlphaServer 1000 ("Mikasa"), 1000A ("Noritake") and 800 
*
The AlphaServer 1000 and 800 range of machines is aimed as departmental servers.
They come in quite some variations in packaging and mainboard/cpu. Generally
speaking there are 21064 (EV4) CPU based machines and 21164 (EV5) based
ones. The CPU is on a daughter card, and the type of CPU (EV4 or EV5) must
match the mainboard in use. AlphaServer 800 is a much smaller mini tower
case, it lacks the StorageWorks SCSI hot-plug chassis. The main difference
between AS1000 and AS1000A is that AS1000A has 7 PCI slots whereas AS1000
only has 3 PCI slots and has EISA slots instead. AS800 with an EV5/400 MHz
CPU was later rebranded as a DIGITAL Server 3300[R], AS800 with an EV5/500 MHz
CPU was later rebranded as a DIGITAL Server 3305[R].

Features:
- 21064 EV4[5] CPU at 200, 233 or 266 MHz
  21164 EV5[6] CPU at 300, 333 or 400 MHz (or 500 MHz for AS800 only)
- cache:
- memory bus: 128 bit with ECC
- memory:
	AS1000[A]-systems:
          Use 72pin 36 bit Fast Page Mode SIMMs, 70ns or better
	  16 or 20 SIMM slots
	  max memory is 1 Gb
	  uses ECC
	AS800:
	  Uses SDRAM DIMMs.
- embedded VGA (on some mainboard models)
- expansion: 
	3 PCI, 2 EISA, 1 64-bit PCI/EISA combo (AS800)
  	7 PCI, 2 EISA (AS1000A)
 	2 PCI, 1 EISA/PCI, 7 EISA (AS1000)
- embedded SCSI based on NCR/Symbios 810 [AS1000] or Qlogic 1020 [AS1000A]
	
Box:
AS1000 based machines come in multiple boxes. Floor standing, rack-mount,
with or without StorageWorks SCSI chassis etc. The electronics are the
same.

Memory:
  AS1000-systems:
  All EV4 based machines use standard PS/2 style 36 bit 72pin SIMMs in sets 
  of 5. The fifth SIMM is used for ECC.
  All EV5 based machines use standard PS/2 style 36 bit 72pin SIMMs in sets 
  of 4. The ECC is done based on the 4 extra bits per SIMM (4 bits out of 36).
  The EV5 mainboards have 16 SIMM slots, the EV4 mainboards have 20 slots.

  AS800:
  Uses DIMMs in sets of 4. DIMM installation must start in slots marked 
  bank 0. A bank is four physically adjacent slots. The biggest size DIMMs
  must be installed in bank 0 in case 2 banks of different DIMM sizes are
  used. Max memory size is 2Gb.

Console:
The AS1000/800 are somewhat stubborn when it comes to serial
consoles. They need >>> SET CONSOLE SERIAL before they go for
a serial console. Pulling the keyboard from the machine is not sufficient,
like it is on most other Alpha models. Going back to a graphical console
needs >>> SET CONSOLE GRAPHICS at the serial console.

SCSI:
For AS800 you want to check if your Ultra-Wide SCSI is indeed in Ultra mode.
This can be done using the EEROMCFG.EXE utility that is on the Firmware 
Upgrade CDROM. 
  
For the AlphaServer1000/1000A/800 machines the kernel config file must contain:
	options         DEC_1000A
	cpu		EV4		# depends on the CPU model installed
	cpu		EV5		# depends on the CPU model installed

*
* DS10/VS10/XP900 ("Webbrick") / XP1000 ("Monet") / DS10L ("Slate")
*
Webbrick and Monet are high performance workstations/servers based on the
EV6 CPU and the Tsunami chipset. Tsunami is also used in much higher-end 
systems and as such has plenty of performance to offer. DS10, VS10 and XP900
are different names for essentially the same system. The difference are the 
software and options that are supported. DS10L is a DS10 based machine in a 1U 
high rackmount enclosure. DS10L is intended for ISPs and for HPTC clusters
(e.g. Beowulf).

Monet has, by 1999 standards, *stunning* (the words of a satisfied
user) memory and I/O system bandwidth.

** Webbrick / Slate

Features:
- 21264 EV6 CPU at 466 MHz
- L2 / Bcache: 2MB, ECC protected
- memory bus: 128 bit via crossbar, 1.3GB/sec to memory
- memory: industry standard 200 pin 83 MHz buffered ECC SDRAM DIMMs
	  4 DIMM slots (2 for DS10L)
	  installed in pairs of 2
	  max memory is 2 Gb (1Gb for DS10L)
- 21271 Core Logic chipset ("Tsunami")
- 2 on-board 21143 Fast Ethernet controllers
- AcerLabs M5237 (Aladdin-V) USB controller
- AcerLabs M1533 PCI-ISA bridge   
- AcerLabs Aladdin ATA-33 controller 
- embedded dual EIDE 
- expansion: 3 64-bit PCI slots
             1 32-bit PCI slots
	     DS10L has a single 64bit PCI slot
- 2x 16550A serial ports
- 1x parallel port
- 2x USB
- PS/2 keyboard & mouse port        

Power:
The system has a smart power controller. This means that parts of the system
remain powered when it is switched off (like an ATX-style PC power supply).
Before servicing the machine remove the power cord.

Case:
Webbrick is shipped in a desktop-style case similar to the older 21164
"Maverick" workstations but which offers much better access to        
components. If you intend to build a farm you can rackmount them in a 19"
rack, they are 3U high. Slate is 1U high but has only one PCI slot.

Memory:
DS10 has 4 DIMM slots. DIMMs are installed as pairs. Please note that 
DIMM pairs are not installed in adjacent DIMM sockets but rather physically
interleaved. DIMM sizes of 32, 64, 128, 256 and 512 Mbytes are supported.

When 2 pairs of identical-sized DIMMs are installed DS10 will use memory 
interleaving for higher performance. DS10L, which has only 2 DIMM slots cannot 
do interleaving.

EIDE:
The base model comes with a FUJITSU 9.5GB ATA disk as its boot device.
FreeBSD/alpha works just fine using EIDE disks on Webbrick. DS10 has 2 IDE 
interfaces on the mainboard.

Expansion:
On the PCI bus 32 and 64 bit cards are supported, in 3.3V and 5V variants.

USB:
Is supported in FreeBSD 4.1 and later.

The kernel config file must contain:
	options         DEC_ST6600    
	cpu		EV5

Contrary to expectation there is no 'cpu EV6' defined for inclusion in the
kernel config file. The 'cpu EV5' is mandatory to keep config(8) happy.

** Monet 

Features:
- 21264 EV6 at 500 MHz
  21264 EV67 at 500 or 667 MHz (XP1000G, codenamed Brisbane)
  CPU is mounted on a daughtercard which is field-upgradable
- L2 / Bcache: 4MB, ECC protected
- memory bus: 256 bit 
- memory: 128 or 256 Mbytes 100 MHz (PC100) 168 pin JEDEC standard,
	  registered ECC SDRAM DIMMs
- 21271 Core Logic chip-set ("Tsunami")
- 1 on-board 21143 Ethernet controller
- Cypress 82C693 USB controller       
- Cypress 82C693 PCI-ISA bridge       
- Cypress 82C693 controller 
- expansion: 2 independent PCI buses, driven by high-speed I/O
	     channels called 'hoses':
        hose 0: (the upper 3 slots)
             2 64-bit PCI slots    
             1 32-bit PCI slot     
        hose 1: (the bottom 2 slots)
             2 32-bit PCI slots (behind a 21154 PCI-PCI bridge)
	2 of the 64-bit PCI slots are for full-length cards
	all of the 32-bit PCI slots are for short cards
	1 of the 32-bit PCI slots is physically shared with an ISA slot
   	all PCI slots run at 33MHz
- 1x Ultra-Wide SCSI port based on a Qlogic 1040 chip
- 2x 16550A serial port        
- 1x parallel port        
- PS/2 keyboard & mouse port        
- embedded 16-bit ESS ES1888 sound chip
- 2x USB
- graphics options: ELSA Gloria Synergy or DEC/Compaq PowerStorm 3D
	            accelerator cards

Case:
Monet is housed in a mini-tower like enclosure quite similar to the Miata
box.

SCSI:
The onboard Qlogic UW-SCSI chip supports up to 4 internal devices. There is
no external connector for the onboard SCSI.

Memory:
For 500 MHz CPUs 83 MHz DIMMs will do. Compaq specifies PC100 DIMMs for
all CPU speeds. DIMMs are installed in sets of 4, starting with the 
DIMM slots marked '0'. Memory capacity is max 4 Gb. 
DIMMs are installed 'physically interleaved', note the markings of the
slots. Memory bandwidth of Monet is twice that of Webbrick. The DIMMs live
on the CPU daughtercard. Note that the system uses ECC RAM so you need DIMMs
with 72 bits (not the PC-class 64 bit DIMMs)

EIDE:
Is usable / bootable for system disk so FreeBSD can be rooted on an EIDE
disk. Although the Cypress chip has potential for 2 EIDE channels Monet uses
only one of them.

USB:
If you experience problems trying to use the USB interface please check if
the SRM variable "usb_enable" is set to "on". You can change this by
performing: "set usb_enable on" at the SRM >>> prompt.

Expansion caveats:
- Don't try to use NCR/Symbios-chip based SCSI adapters in the PCI slots
connected to hose 1. There is a not-yet-found FreeBSD bug that prevents this
from working correctly. 
- Not all VGA cards will work behind the PCI-PCI bridge (so in slots 4 & 5). 
Only cards that implement VGA-legacy adressing correctly will work. Workaround 
is to put the VGA card 'before' the bridge.

Sound:
The sound chip is not currently supported with FreeBSD. There is work in
progress in this area.

The kernel config file must contain:
	options         DEC_ST6600    
	cpu		EV5

Contrary to expectation there is no 'cpu EV6' defined for inclusion in the
kernel config file. The 'cpu EV5' is mandatory to keep config(8) happy.

** DS20/DS20E ("Goldrush"):

Features:
- 21264 EV6 CPU at 500 or 670 MHz
- dual CPU capable machine
- L2 / Bcache: 4 Mbytes per CPU
- memory bus: dual 256 bit wide with crossbar switch
- memory: SDRAM DIMMs
	  installed in sets of 4
	  uses ECC 
	  16 DIMM slots
	  max. 4Gb
- 21271 Core Logic chip-set ("Tsunami") 
- embedded Adaptec ? Wide Ultra SCSI 
- expansion: 2 independent PCI buses, driven by high-speed I/O
             channels called 'hoses'
	     6 64-bit PCI slots (3 per hose)
	     1 ISA slot

Case:
DS20 is housed in a fat cube-like enclosure. The enclosure also
contains a StorageWorks SCSI hot-swap shelf for a maximum of 7 3.5" SCSI
devices. DS20E is a sleeker case, without the StorageWorks shelf.

Embedded SCSI:
The embedded Adaptec SCSI chip on DS20 is disabled and therefore 
not usable under FreeBSD.

CPU:
DS20 can have 2 CPUs installed. FreeBSD/alpha is not currently SMP-capable 
and will only use the primary CPU.

Memory:
If you are using banks of DIMMs of different sizes the biggest DIMMs should
be installed in the DIMM slots marked '0' on the mainboard. The DIMM slots
should be filled 'in order' so after bank 0 install in bank 1 and so on.

Expansion:
Don't try to use NCR/Symbios-chip based SCSI adapters in the PCI slots
connected to hose 1. There is a not-yet-found FreeBSD bug that prevents this
from working correctly. DS20 ships by default with an NCR on hose 1 so you
have to move this card before you can install/boot FreeBSD on it.

The kernel config file must contain:
	options         DEC_ST6600    
	cpu		EV5

Contrary to expectation there is no 'cpu EV6' defined for inclusion in the
kernel config file. The 'cpu EV5' is mandatory to keep config(8) happy.

** AlphaPC 264DP / UP2000

Features:
- 21264 EV6 CPU at 670 MHz
- dual CPU capable 
- L2 / Bcache: 4 Mbytes per CPU
- memory bus: 256 bit 
- memory: SDRAM DIMMs
	  installed in sets of 4
	  uses ECC 
	  16 DIMM slots
	  max. 4Gb
- 21272 Core Logic chip-set ("Tsunami")
- embedded Adaptec AIC7890/91 Wide Ultra SCSI 
- 2x embedded IDE based on Cypress 82C693 chips
- embedded USB via Cypress 82C693
- expansion: 2 independent PCI buses driven by high-speed I/O
             channels called 'hoses'
	     6 64-bit PCI slots (3 per hose)
	     1 ISA slot

Memory:
A maximum of 2Gb memory is supported by FreeBSD.

CPU:
DP264 can have 2 CPUs installed. FreeBSD/alpha is not currently SMP-capable 
and will only use the primary CPU.

Embedded SCSI:
The on-board Adaptec is not bootable but works with FreeBSD 4.0 and later
as a datadisk-only SCSI bus.

Embedded IDE:
Busmaster DMA is supported on the first IDE interface only.

The kernel config file must contain:
	options         DEC_ST6600    
	cpu		EV5

Contrary to expectation there is no 'cpu EV6' defined for inclusion in the
kernel config file. The 'cpu EV5' is mandatory to keep config(8) happy.

*
* AlphaServer 2000 ("DemiSable"), 2100 ("Sable"), 2100A ("Lynx")
*

The AlphaServer 2[01]00 machines are aimed as departmental servers.
This is medium iron, not a hobbyist system. These are multi-CPU machines, 
up to 2 CPUs (AS2000) or 4 CPUs (2100[A]) can be installed. 
Both floorstanding and 19" rackmount boxes exist. Rackmount variations have
different numbers of I/O expansion slots, different max number of CPUs and
different maximum memory size. Some of the boxes come with an integral
StorageWorks shelf to house hotswap SCSI disks. There was an upgrade program
available to convert your Sable machine into a Lynx by swapping the
I/O backplane (the C-bus backplane remains). CPU upgrades were available 
as well.

Features:
- 21064 EV4[5] CPU[s] at 200, 233, 275 MHz
- 21164 EV5[6] CPU[s]s at 250, 300, 375, 400 MHz
- cache: varies in size with the CPU model; 1, 4 or 8Mbyte per CPU
- embedded floppy controller driving a 2.88 Mbytes drive
- embedded 10Mbit 21040 ethernet [AS2100 only]
- 2 serial ports
- 1 parallel port
- PS/2 style keyboard & mouse port

NOTE: Lynx support is currently flagged as experimental due to lack of
      testing / test hardware.

CPU:
The CPUs spec-ed as 200 Mhz are in reality running at 190 MHz. Maximum
number of CPUs is 4. All CPUs must be of the same type/speed. 

Currently FreeBSD only uses one CPU in a multiprocessor machine. 

Memory:
The machines use dedicated memory boards. These boards live on a 128 bit 
C-bus shared with the CPU boards. DemiSable supports up to 1Gb, Sable up 
to 2Gb. One of the memory bus slots can either hold a CPU or a memory card.
A 4 CPU machine can have a maximum of 2 memory boards.

Some memory board modules house SIMMs. These are called SIMM carriers.
There are also memory modules that have soldered-on memory chips 
instead of SIMMs. These are called 'flat memory modules'.

SIMM boards are used in sets of eight 72-pin 36 bit FPM memory of 70ns 
or faster. SIMM types supported are 1Mb x36 bit (4 Mbyte) and 4Mb x36 
bit (16 Mbyte). Each memory board can house 4 banks of SIMMs. SIMM 
sizes can not be mixed on a single memory board. The first memory 
module must be filled with SIMMs before starting to fill the next 
memory module. Note that the spacing between the slots is not that 
big, so make sure your SIMMs fit physically (before buying them..)

Console:
Both Lynx and Sable are somewhat stubborn when it comes to serial
consoles. They need >>> SET CONSOLE SERIAL before they go for
a serial console. Pulling the keyboard from the machine is not sufficient,
like it is on most other Alpha models. Going back to a graphical console
needs >>> SET CONSOLE GRAPHICS at the serial console. On Lynx keep the
VGA card in one of the primary PCI slots.

The machines are equipped with a small OCP (Operator Control Panel) LCD
screen. On this screen the selftest messages are displayed during system
initialisation. You can put your own little text there by using the SRM:
>>> SET OCP_TEXT "FreeBSD"

The SRM >>> SHOW FRU command produces an overview of your configuration
with module serial numbers, hardware revisions and error log counts.

Embedded SCSI:
Both Sable, DemiSable and Lynx have NCR810 based Fast SCSI onboard.
Check if it is set to Fast SCSI speed by >>> SHOW PKA0_FAST. If set to
1 it is negotiating for Fast speeds. >>> SET PKA0_FAST 1 enables Fast
speeds.

Internal disk storage:
AS2100[A] come equipped with a StorageWorks 7 slot SCSI cage. A second cage
can be added inside the cabinet. AS2000 has a single 7 slot SCSI cage,
which cannot be expanded with an additional one. Note that the slot
locations in these cages map differently to SCSI IDs compared to the 
standard StorageWorks shelves. Slot IDs from top to bottom 
are 0, 4, 1, 5, 2, 6, 3 when using a single bus configuration. The cage
can also be set to provide two independent SCSI buses. This is used for
embedded RAID controllers like the KZPSC (Mylex DAC960). Slot ID assignments
for split bus are, from top to bottom: 0A, 0B, 1A, 1B, 2A, 2B, 3A, 3B. 
Where A and B signify a SCSI bus. In a single bus configuration the 
terminator module on the back of the SCSI cage is on the TOP. The jumper
module is on the BOTTOM. For split bus operation these two modules are
reversed. The terminator can be distinguished from the jumper by noting the 
chips on the terminator. The jumper does not have any active components on
it.

Expansion:
DemiSable has 7 EISA slots and 3 PCI slots. Sable has 8 EISA and 3 PCI
slots. Lynx, being newer, has 8 PCI and 3 EISA slots. The Lynx PCI slots 
are grouped in sets of 4. The 4 PCI slots closest to the CPU/memory
slots are the primary slots, so logically before the PCI bridge chip.
Note that contrary to expectation the primary PCI slots are the highest
numbered ones (PCI4 - PCI7). 

Make sure you run the EISA Configuration Utility (from floppy) when 
adding/change expansion cards in EISA slots or after upgrading your 
console firmware. This is done by inserting the ECU floppy and typing
RUNECU at the SRM >>> prompt.

	NOTE: EISA slots are currently unsupported, but the Compaq Qvision
	      EISA VGA adapter is treated as an ISA device. It therefore
	      works OK as a console.

Power:
The machines can be equipped with redundant power supplies. Note that
the enclosure is equipped with interlock switches that switch off power
when the enclosure is opened. The system's cooling fans are speed
controlled. When the machine has more than 2 CPUs and more than 1 memory
board dual power supplies are mandatory.

The kernel config file must contain:
       options         DEC_2100_A500
       cpu             EV4
       cpu	       EV5

*
* AlphaServer 4100 ("Rawhide")
*

The AlphaServer 4100 machine is aimed as an enterprise server.
Expect a 30" high pedestal cabinet or alternatively the same system box in a
19" rack. This is medium iron, not a hobbyist system. 
These are multi-CPU machines, up to 4 CPUs can be in a single
machine.  Basic disk storage is housed in one or two StorageWorks shelves
at the bottom of the pedestal. The Rawhides intended for the NT market are
designated DIGITAL Server 7300 (5/400 CPU), DIGITAL Server 7305 (5/533 CPU).
A trailing R on the partnumber means a rackmount variant.

Features:
- 21164 EV5 CPUs at 266, 300 MHz
  21164A EV56 CPUs at 400, 466, 533, 600 and 666 Mhz
- cache: 4 Mbytes per CPU (EV5 300 MHz was also available cache-less)
	 8 Mbytes (EV5 600Mhz only)
- memory bus: 128 bit with ECC
- embedded floppy controller
- 2 serial ports
- 1 parallel port
- PS/2 style keyboard & mouse port

CPU:
Rawhide is a multiprocessor machine. Currently FreeBSD only uses one CPU.

Memory:
Rawhide uses a maximum of 8 RAM modules. These modules are used in pairs
and supply 72 bits to the bus (this includes ECC bits). Memory can be EDO
RAM or synchronous DRAM. A fully populated Rawhide has 4 pairs of memory
modules. Given the choice use SDRAM for best performance. The highest 
capacity memory board must be in memory slot 0. A mix of memory board sizes
is allowed. A mix of EDO and SDRAM is also reported as working (assuming you
don't try to mix EDO and SDRAM in one module pair).

Embedded SCSI:
Rawhide has an embedded NCR810 Fast SCSI bus.

Expansion:
Rawhides are available with a 8 64-bit PCI / 3 EISA slot expansion backplanes
(called 'Saddle' modules). There are 2 seperate PCI buses, PCI0 and PCI1.
PCI0 has 1 dedicated PCI slot and (shared) 3 PCI/EISA slots. PCI0 also has a
PCI/EISA bridge that drives things like the serial and parallel ports,
keyboard/mouse etc. PCI1 has 4 PCI slots and an NCR810 SCSI chip. VGA
console cards must be installed in a slot connected to PCI0.

The current implementation has problems in handling PCI bridges. There is
currently a limited fix in place which allows for single level, single device
PCI bridges. The fix allows for the Digital supplied Qlogic SCSI card which
sits behind a 21054 PCI bridge chip.

	NOTE: EISA slots are currently unsupported, but the Compaq Qvision
	      EISA VGA adapter is treated as an ISA device. It therefore
	      works OK as a console.

Power:
The system employs an I2C based power controller system. If you want to be
sure all power is removed from the system pull the mains cables from the
system.

The kernel config file must contain:
       options         DEC_KN300
       cpu             EV5

*
* AlphaServer 1200 ("Tincup") and AlphaStation 1200 ("DaVinci")
*

The AlphaServer 1200 machine is the successor to the AlphaServer 1000A.
It uses the same enclosure the 1000A uses, but the logic is based on the
AlphaServer 4000 design. These are multi-CPU machines, up to 2 CPUs can 
be in a single machine.  Basic disk storage is housed in a StorageWorks shelves
The AS1200 intended for the NT market are designated DIGITAL Server 5300 
(5/400 CPU) and DIGITAL Server 5305 (5/533 CPU).

Features:
- 21164A EV56 CPUs at 400 or 533 Mhz
- cache: 4 Mbytes per CPU 
- memory bus: 128 bit with ECC
	      DIMM memory on two memory daughter boards
- embedded floppy controller
- 2 serial ports
- 1 parallel port
- PS/2 style keyboard & mouse port 

CPU:
AS1200 is a multiprocessor-capable machine. Currently FreeBSD only uses one CPU.

Memory:
AS1200 uses 2 memory daughter cards. On each of these cards are 8 DIMM slots. 
DIMMs must be installed in pairs. The maximum memory size is 4 Gbytes. 
Slots must be filled in order and slot 0 must contain the largest size 
DIMM if different sized DIMMs are used. AS1200 employs fixed starting 
addresses for DIMMs, each DIMM pair starts at a 512 Mbyte boundary.
This means that if DIMMs smaller than 256 Mbyte are used the system's
physical memory map will contain 'holes'. Supported DIMM sizes are 64 Mbytes 
and 256 Mbytes. The DIMMs are 72 bit SDRAM based, as the system employs ECC.

Embedded SCSI:
AS1200 has an embedded NCR810 Fast SCSI bus.

Expansion:
AS1200 has 5 64-bit PCI slots, one 1 32-bit PCI slot and one EISA slot
(which is physically shared with one of the 64-bit PCI slots).
There are 2 seperate PCI buses, PCI0 and PCI1. PCI0 has the 32-bit PCI 
slot and the 2 top-most 64-bit PCI slots. PCI0 also has an Intel 82375EB
PCI/EISA bridge that drives things like the serial and parallel ports, 
keyboard/mouse etc. PCI1 has 4 64-bit PCI slots and an NCR810 SCSI chip. 
VGA console cards must be installed in a slot connected to PCI0.

Power:
The system employs an I2C based power controller system. If you want to be
sure all power is removed from the system pull the mains cables from the
system. Tincup uses dual power supplies in load-sharing mode and not 
as a redundancy pair.

The kernel config file must contain:
       options         DEC_KN300
       cpu             EV5

*
* AlphaServer 8200 and 8400 ("TurboLaser")
*
The AlphaServer 8200 and 8400 machines are aimed as enterprise servers.
Expect a tall 19" cabinet (8200) or fat (8400) 19" rack. This is big iron,
not a hobbyist system. These are multi-CPU machines, up to 12 CPUs can be in
a single machine. The TurboLaser System Bus (TLSB) allows 9 nodes on the
AS8400 and 5 nodes on the AS8200. TLSB is 256 bit data, 40 bit address
allowing 2.1 Gbytes/sec. Nodes on the TLSB can be CPUs, memory or I/O. A 
maximum of 3 I/O ports are supported on a TLSB. Basic disk storage is housed
in a StorageWorks shelf.

Features: 
- 21164 EV5 CPUs at up to 467 MHz
  21264 EV67 CPUs at up to 625 MHz
  one or two CPUs per CPU module
- cache: 4Mbytes per CPU
- memory bus: 256 bit with ECC
- memory:
	uses big memory modules that plug into the TLSB, which in turn
	hold special SIMM modules.
	memory modules come in varying sizes, up to 2 Gbytes a piece.
	uses ECC (8 bites per 64 bits of data)
	7 modules max for AS8400, 3 modules max for AS8200
	maximum memory is 14 Gbytes
- expansion:
	3 system 'I/O ports' that allow up to 12 I/O channels
	each I/O channel can connect to XMI, Futurebus+ or PCI boxes
       
Memory:
FreeBSD supports (and has been tested with) up to 2 Gbytes of memory on 
TurboLaser.

CPU:
TurboLaser is very much a multiprocessor machine. Currently FreeBSD only
uses one CPU.

Expansion:
Only PCI expansion is supported on FreeBSD. XMI or Futurebus+ (which 
are AS8400 only) are both unsupported.

The I/O port modules are designated KFTIA or KFTHA. The I/O port modules
supply so called 'hoses' that connect to up to 4 (KFTHA) PCI buses or 1
PCI bus (KFTIA). KFTIA has embedded dual 10baseT Ethernet, single FDDI,
3 SCSI Fast Wide Differential SCSI buses and a single Fast Wide Single Ended
SCSI bus. The FWSE SCSI is intended for the systems CDROM.

KFTHA can drive via each of its 4 hoses a DWLPA or DWLPB box. The DWLPx
house a 12 slots 32 bit PCI backplane. Physically the 12 slots are 3 4-slot
buses but to the software it appears as a single 12 slots PCI bus. A fully
expanded AS8x00 can have 3 (I/O ports) times 4 (hoses) times 12 (PCI
slots/DWLPx) = 144 PCI slots. The maximum bandwidth per KFTHA is 500
Mbytes/second. DWLPA can also house 8 EISA cards, 2 slots are PCI-only, 2
slots are EISA only. Of the 12 slots 2 are always occupied by an I/O and
connector module.

For best performance distribute high bandwidth (FibreChannel, Gigabit Ethernet)
over multiple hoses and/or multiple KFTHA/KFTIA.

Currently PCI expansion cards containing PCI bridges are not usable. Don't
use them at this time.

Embedded SCSI:
The single ended SCSI bus on the KFTIA will turn up as the fourth (!) 
SCSI bus. The 3 differential SCSI buses of the KFTIA precede it. 

Console:
AS8x00 are generally run with serial consoles. Some newer machines might
have a graphical console of some sorts but FreeBSD has only been tested on
a serial console.

For serial console usage either change /etc/ttys to have:

        console "/usr/libexec/getty std.9600"   unknown   on secure

as the console entry, or add

        zs0     "/usr/libexec/getty std.9600"   unknown   on secure

and make the zs node:

        mknod  /dev/zs0  c 135 0

For the AlphaServer 8x00 machines the kernel config file must
contain:
	options         DEC_KN8AE	# Alpha 8200/8400 (Turbolaser)
        cpu             EV5 

*
* Alpha Processor Inc. UP1000
*

The UP1000 is an ATX mainboard based on the 21264a CPU which itself lives in
a Slot B module. It is normally housed in a ATX [mini]tower enclosure.

Features:
- 21264a Alpha CPU at 600 or 700 MHz in a Slot B module (includes cooling fans)
- memory bus: 128 bits to the L2 cache, 64 bits from Slot B to the AMD-751
- on-board Bcache / L2 cache: 2Mb (600Mhz) or 4Mb (700Mhz) cache
- AMD AMD-751 ('Irongate') system controller chip
- Acer Labs M1543C PCI-ISA bridge controller / super-IO chip
- PS/2 mouse & keyboard port 
- memory: 168-pin PC100 unbuffered SDRAM DIMMS
	  3 DIMM slots
	  DIMM sizes supported are 64, 128 or 256 Mb in size
- 2x 16550A serial port
- 1x ECP/EPP parallel port
- floppy interface
- 2x embedded Ultra DMA33 IDE interface
- 2x USB port
- expansion: 4 32 bit PCI slots 
             2 ISA slots 
	     1 AGP slot

Slot B:
Slot B is a box-like enclosure that houses a daughterboard for the CPU and
cache. It has 2 small fans for cooling. Loud ones too..

Memory:
The machine needs ECC capable DIMMs, so 72 bit ones. This does not appear to
be documented in the UP1000 docs. The system accesses the serial EEPROM on
the DIMMs via the SM bus. Note that if only a single DIMM is used it must be
installed in slot *2*. This is a bit counter-intuitive.

Power
The UP1000 needs a 400Watt ATX power supply according to the manufacturer. 
This might be a bit overly conservative/pessimistic judging from the power
consumption of the board & cpu. But as always you will have to take your
expansion cards and peripherals into account. The M1543C chip contains power 
management functionality & temperature monitoring (via I2C / SM bus).

Console
Chances are that your UP1000 comes by default with AlphaBios only. The SRM
console firmware is available from the Alpha Processor Inc. website. It is
currently available in a beta version which was successfully used during the 
port of FreeBSD to the UP1000.

EIDE:
The embedded Ultra DMA EIDE ports are bootable by the SRM console.

SCSI:
UP1000 SRM can boot off an Adaptec 294x adapter. Under high I/O load conditions
machine lockups have been observed using the Adaptec 294x. A Symbios 875 
based card works just fine, using either the ncr or sym driver. The sym driver 
is the newest and most actively maintained one. Most likely other cards 
based on the Symbios chips that the sym driver supports will work as well.

USB:
Is disabled by the SRM console and has not (yet) been tested with FreeBSD.

Supported hardware overview
---------------------------

Word of caution: the installed base for FreeBSD/alpha is not nearly as large
as for FreeBSD/Intel. This means that the enormous variation of PCI/ISA
expansion cards out there has much less chance of having been tested on
alpha than on Intel. This is not to imply they are doomed to fail, just that
the chance of running into something never tested before is much greater.
GENERIC contains things that are known to work on Alpha only.

- Expansion buses: PCI and ISA are fully supported. Turbo Channel is not
in GENERIC and has limited support (see the relevant machine model info).
The MCA bus is not supported. The EISA bus is not supported for use with
EISA expansion cards as the EISA support code is lacking. ISA cards in EISA 
slots are reported to work. The Compaq Qvision EISA VGA card is driven in
ISA mode and works OK as a console.

- Floppy drives: 1.44 Mbyte and 1.2 Mbyte floppy drives are supported.
2.88Mbyte drives sometimes found in Alpha machines are supported up to
1.44Mbyte.

- ATA / ATAPI (IDE): are supported via the ata driver framework. As most
people run their Alphas with SCSI disks it is not as well tested as SCSI. Be
aware of bootability restrictions for IDE disks. See the machine specific
information.

- SCSI: full support via the CAM layer for Adaptec 2940x (AIC7xxx
chip-based), Qlogic family and NCR/Symbios. Be aware of the machine-specific
bootability issues for the various adapter types.

- FibreChannel: the Qlogic QL2x00 FibreChannel host adapters are fully
supported.

- Ethernet: if you want to boot your Alpha over the Ethernet you will 
obviously need an Ethernet card that the SRM console recognises. This
generally means you need a board with an 21x4x Ethernet chip as that is
what Digital used. These chips are driven by the FreeBSD 'de' (older driver)
or 'dc' (newer driver). Some new SRM versions are known to recognise the
Intel 8255x ethernet chips as driven by the FreeBSD 'fxp' driver. But beware:
the 'fxp' driver is reported not to work correctly with FreeBSD/alpha (although
it works excellently on FreeBSD/x86).

- graphics console/keyboard/mouse: in general the SRM console emulates 
a VGA-compatibility mode on PCI VGA cards. This is, however, not guaranteed 
to work by Compaq/DEC for each and every card type out there. When the SRM 
thinks the VGA is acceptable FreeBSD will be able to use it. The console driver
works just like on a FreeBSD/intel machine. The TGA video graphics which 
is embedded on for example Multia does *not* work with FreeBSD. TGA based
PCI cards are also *not* supported. Please note that VESA modes are not
supported on Alpha, so that leaves you with 80x25 consoles

- serial ports: the 'PC standard' serial ports found on most Alphas are 
supported. For TurboChannel machines the serial ports are also supported.

- ISDN (i4b): is not supported on FreeBSD/alpha

Acknowledgments
----------------

In compiling this file I used multiple information sources, but
http://www.netbsd.org proved to be an invaluable source of information.
If it wasn't for NetBSD/alpha there probably would not be a FreeBSD/alpha
in the first place. 

People who kindly helped me create this document:

- Nick Maniscalco <nmanisca@vt.edu>
- Andrew Gallatin <gallatin@cs.duke.edu>
- Christian Weisgerber <naddy@mips.rhein-neckar.de>
- David O'Brien <obrien@NUXI.com>
- Wim Lemmers, ex-Compaq
- Matthew Jacob <mjacob@feral.com>
- Eric Schnoebelen <eric@cirr.com>
- Chuck Robey <chuckr@picnic.mat.net>
- Mike Smith <msmith@FreeBSD.ORG>
- Peter Jeremy <peter.jeremy@alcatel.com.au>
- Dolf de Waal <l.j.de.waal@kader.hobby.nl>
- Wouter Brackman, Compaq
- Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
- Peter van Dijk <petervd@vuurwerk.nl>
- Lodewijk van den Berg, Compaq
OpenPOWER on IntegriCloud