xref: /original-bsd/sys/vax/vax/cpudata.c (revision 6c57d260)
1 /*	cpudata.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 };
66