|
|
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.