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