|
|
1.1 root 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: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.