xref: /original-bsd/sys/vax/vax/cpudata.c (revision c374ae69)
1 /*	cpudata.c	6.2	84/08/28	*/
2 
3 #include "pte.h"
4 
5 #include "param.h"
6 
7 #include "cpu.h"
8 #include "nexus.h"
9 #include "../vaxuba/ubareg.h"
10 
11 /*
12  * Initialization of per-cpu data structures.
13  */
14 
15 /*
16  * These are the (fixed) addresses of the (last 8k bytes of)
17  * unibus memory for each of the possible unibus adapters.  Note that the
18  * unibus memory addresses are actually indexed by the unibus adapter type code.
19  */
20 #if VAX780
21 caddr_t	umaddr780[4] = {
22 	(caddr_t) UMEM780(0), (caddr_t) UMEM780(1),
23 	(caddr_t) UMEM780(2), (caddr_t) UMEM780(3)
24 };
25 #endif
26 #if VAX750
27 caddr_t	umaddr750[2] = {
28 	(caddr_t) UMEM750(0), (caddr_t) UMEM750(1),
29 };
30 #endif
31 #if VAX730
32 caddr_t	umaddr730[1] = {
33 	(caddr_t) UMEM730
34 };
35 #endif
36 
37 /*
38  * Information to patch around the stupidity of configuration
39  * registers not returning types on some of the processors.
40  */
41 #if VAX750
42 short	nexty750[NNEX750] = {
43 	NEX_MEM16,	NEX_MEM16,	NEX_MEM16,	NEX_MEM16,
44 	NEX_MBA,	NEX_MBA,	NEX_MBA,	NEX_MBA,
45 	NEX_UBA0,	NEX_UBA1,	NEX_ANY,	NEX_ANY,
46 	NEX_ANY,	NEX_ANY,	NEX_ANY,	NEX_ANY
47 };
48 #endif
49 #if VAX730
50 short	nexty730[NNEX730] = {
51 	NEX_MEM16,	NEX_ANY,	NEX_ANY,	NEX_ANY,
52 	NEX_ANY,	NEX_ANY,	NEX_ANY,	NEX_ANY,
53 };
54 #endif
55 
56 struct percpu percpu[] = {
57 #if VAX780
58 	VAX_780, NNEX780, NEX780, umaddr780, NBDP780, 1, 0,
59 #endif
60 #if VAX750
61 	VAX_750, NNEX750, NEX750, umaddr750, NBDP750, 0, nexty750,
62 #endif
63 #if VAX730
64 	VAX_730, NNEX730, NEX730, umaddr730, NBDP730, 0, nexty730,
65 #endif
66 	0,
67 };
68