Commit | Line | Data |
---|---|---|
ba9bfaab C |
1 | /* vaxcpu.c 4.5 81/04/13 */ |
2 | ||
3 | #include "../h/param.h" | |
4 | #include "../h/pte.h" | |
5 | #include "../h/ubareg.h" | |
6 | #include "../h/nexus.h" | |
7 | #include "../h/cpu.h" | |
8 | ||
9 | /* | |
10 | * Initialization of per-cpu data structures. | |
11 | */ | |
12 | ||
13 | /* | |
14 | * These are the (fixed) addresses of the (last 8k bytes of) | |
15 | * unibus memory for each of the possible unibus adapters. Note that the | |
16 | * unibus memory addresses are actually indexed by the unibus adapter type code. | |
17 | */ | |
18 | #if VAX780 | |
19 | caddr_t umaddr780[4] = { | |
20 | (caddr_t) UMEM780(0), (caddr_t) UMEM780(1), | |
21 | (caddr_t) UMEM780(2), (caddr_t) UMEM780(3) | |
22 | }; | |
23 | #endif | |
24 | #if VAX750 | |
25 | caddr_t umaddr750[2] = { | |
26 | (caddr_t) UMEM750(0), (caddr_t) UMEM750(1), | |
27 | }; | |
28 | #endif | |
29 | #if VAX7ZZ | |
30 | caddr_t umaddr7ZZ[1] = { | |
31 | (caddr_t) UMEM7ZZ | |
32 | }; | |
33 | #endif | |
34 | ||
35 | /* | |
36 | * Information to patch around the stupidity of configuration | |
37 | * registers not returning types on some of the processors. | |
38 | */ | |
39 | #if VAX750 | |
40 | short nexty750[NNEX750] = { | |
41 | NEX_MEM16, NEX_MEM16, NEX_MEM16, NEX_MEM16, | |
42 | NEX_MBA, NEX_MBA, NEX_MBA, NEX_MBA, | |
43 | NEX_UBA0, NEX_UBA1, NEX_ANY, NEX_ANY, | |
44 | NEX_ANY, NEX_ANY, NEX_ANY, NEX_ANY | |
45 | }; | |
46 | #endif | |
47 | #if VAX7ZZ | |
48 | short nexty7ZZ[NNEX7ZZ] = { | |
49 | NEX_MEM16, NEX_ANY, NEX_ANY, NEX_ANY, | |
50 | NEX_ANY, NEX_ANY, NEX_ANY, NEX_ANY, | |
51 | }; | |
52 | #endif | |
53 | ||
54 | struct percpu percpu[] = { | |
55 | #if VAX780 | |
56 | VAX_780, NNEX780, NEX780, umaddr780, NBDP780, 1, 0, | |
57 | #endif | |
58 | #if VAX750 | |
59 | VAX_750, NNEX750, NEX750, umaddr750, NBDP750, 0, nexty750, | |
60 | #endif | |
61 | #if VAX7ZZ | |
62 | VAX_7ZZ, NNEX7ZZ, NEX7ZZ, umaddr7ZZ, NBDP7ZZ, 0, nexty7ZZ, | |
63 | #endif | |
64 | 0, | |
65 | }; |