1: #include "../machine/pte.h" 2: #include "../h/param.h" 3: #include "../h/buf.h" 4: #include "../h/map.h" 5: #include "../h/vm.h" 6: 7: #include "../vaxmba/mbavar.h" 8: #include "../vaxuba/ubavar.h" 9: 10: 11: #define C (caddr_t) 12: 13: extern struct mba_driver hpdriver; 14: extern struct mba_driver hpdriver; 15: extern struct mba_driver hpdriver; 16: extern struct mba_driver hpdriver; 17: extern struct mba_driver htdriver; 18: extern struct mba_driver mtdriver; 19: 20: struct mba_device mbdinit[] = { 21: /* Device, Unit, Mba, Drive, Dk */ 22: { &hpdriver, 0, '?', 0, 1 }, 23: { &hpdriver, 1, '?', '?', 1 }, 24: { &hpdriver, 2, '?', '?', 1 }, 25: { &hpdriver, 3, '?', '?', 1 }, 26: { &htdriver, 0, '?', '?', 0 }, 27: { &mtdriver, 0, '?', '?', 0 }, 28: 0 29: }; 30: 31: struct mba_slave mbsinit [] = { 32: /* Driver, Ctlr, Unit, Slave */ 33: { &htdriver, 0, 0, 0 }, 34: { &htdriver, 0, 1, 1 }, 35: { &mtdriver, 0, 0, 0 }, 36: { &mtdriver, 0, 1, 1 }, 37: 0 38: }; 39: 40: extern struct uba_driver hkdriver; 41: extern Xrkintr0(); 42: int (*hkint0[])() = { Xrkintr0, 0 } ; 43: extern struct uba_driver tmdriver; 44: extern Xtmintr0(); 45: int (*tmint0[])() = { Xtmintr0, 0 } ; 46: extern struct uba_driver utdriver; 47: extern Xutintr0(); 48: int (*utint0[])() = { Xutintr0, 0 } ; 49: extern struct uba_driver tmscpdriver; 50: extern Xtmscpintr0(); 51: int (*tmscpint0[])() = { Xtmscpintr0, 0 } ; 52: extern struct uba_driver scdriver; 53: extern Xupintr0(); 54: int (*scint0[])() = { Xupintr0, 0 } ; 55: extern struct uba_driver udadriver; 56: extern Xudintr0(); 57: int (*udaint0[])() = { Xudintr0, 0 } ; 58: extern struct uba_driver idcdriver; 59: extern Xidcintr0(); 60: int (*idcint0[])() = { Xidcintr0, 0 } ; 61: extern struct uba_driver hldriver; 62: extern Xrlintr0(); 63: int (*hlint0[])() = { Xrlintr0, 0 } ; 64: extern struct uba_driver dhdriver; 65: extern Xdhrint0(), Xdhxint0(); 66: int (*dhint0[])() = { Xdhrint0, Xdhxint0, 0 } ; 67: extern struct uba_driver dmdriver; 68: extern Xdmintr0(); 69: int (*dmint0[])() = { Xdmintr0, 0 } ; 70: extern struct uba_driver dhdriver; 71: extern Xdhrint1(), Xdhxint1(); 72: int (*dhint1[])() = { Xdhrint1, Xdhxint1, 0 } ; 73: extern struct uba_driver dzdriver; 74: extern Xdzrint0(), Xdzxint0(); 75: int (*dzint0[])() = { Xdzrint0, Xdzxint0, 0 } ; 76: extern struct uba_driver dzdriver; 77: extern Xdzrint1(), Xdzxint1(); 78: int (*dzint1[])() = { Xdzrint1, Xdzxint1, 0 } ; 79: extern struct uba_driver dzdriver; 80: extern Xdzrint2(), Xdzxint2(); 81: int (*dzint2[])() = { Xdzrint2, Xdzxint2, 0 } ; 82: extern struct uba_driver dzdriver; 83: extern Xdzrint3(), Xdzxint3(); 84: int (*dzint3[])() = { Xdzrint3, Xdzxint3, 0 } ; 85: extern struct uba_driver dzdriver; 86: extern Xdzrint4(), Xdzxint4(); 87: int (*dzint4[])() = { Xdzrint4, Xdzxint4, 0 } ; 88: extern struct uba_driver dzdriver; 89: extern Xdzrint5(), Xdzxint5(); 90: int (*dzint5[])() = { Xdzrint5, Xdzxint5, 0 } ; 91: extern struct uba_driver dzdriver; 92: extern Xdzrint6(), Xdzxint6(); 93: int (*dzint6[])() = { Xdzrint6, Xdzxint6, 0 } ; 94: extern struct uba_driver dzdriver; 95: extern Xdzrint7(), Xdzxint7(); 96: int (*dzint7[])() = { Xdzrint7, Xdzxint7, 0 } ; 97: extern struct uba_driver zsdriver; 98: extern Xtsintr0(); 99: int (*zsint0[])() = { Xtsintr0, 0 } ; 100: extern struct uba_driver dmfdriver; 101: extern Xdmfsrint0(), Xdmfsxint0(), Xdmfdaint0(), Xdmfdbint0(), Xdmfrint0(), Xdmfxint0(), Xdmflint0(); 102: int (*dmfint0[])() = { Xdmfsrint0, Xdmfsxint0, Xdmfdaint0, Xdmfdbint0, Xdmfrint0, Xdmfxint0, Xdmflint0, 0 } ; 103: extern struct uba_driver dmzdriver; 104: extern Xdmzrinta0(), Xdmzxinta0(), Xdmzrintb0(), Xdmzxintb0(), Xdmzrintc0(), Xdmzxintc0(); 105: int (*dmzint0[])() = { Xdmzrinta0, Xdmzxinta0, Xdmzrintb0, Xdmzxintb0, Xdmzrintc0, Xdmzxintc0, 0 } ; 106: extern struct uba_driver dhudriver; 107: extern Xdhurint0(), Xdhuxint0(); 108: int (*dhuint0[])() = { Xdhurint0, Xdhuxint0, 0 } ; 109: extern struct uba_driver lpdriver; 110: extern Xlpintr0(); 111: int (*lpint0[])() = { Xlpintr0, 0 } ; 112: extern struct uba_driver endriver; 113: extern Xenxint0(), Xenrint0(), Xencollide0(); 114: int (*enint0[])() = { Xenxint0, Xenrint0, Xencollide0, 0 } ; 115: extern struct uba_driver ecdriver; 116: extern Xecrint0(), Xeccollide0(), Xecxint0(); 117: int (*ecint0[])() = { Xecrint0, Xeccollide0, Xecxint0, 0 } ; 118: extern struct uba_driver dedriver; 119: extern Xdeintr0(); 120: int (*deint0[])() = { Xdeintr0, 0 } ; 121: extern struct uba_driver ildriver; 122: extern Xilrint0(), Xilcint0(); 123: int (*ilint0[])() = { Xilrint0, Xilcint0, 0 } ; 124: extern struct uba_driver exdriver; 125: extern Xexcdint0(); 126: int (*exint0[])() = { Xexcdint0, 0 } ; 127: 128: struct uba_ctlr ubminit[] = { 129: /* driver, ctlr, ubanum, alive, intr, addr */ 130: { &hkdriver, 0, '?', 0, hkint0, C 0177440 }, 131: { &tmdriver, 0, '?', 0, tmint0, C 0172520 }, 132: { &utdriver, 0, '?', 0, utint0, C 0172440 }, 133: { &tmscpdriver, 0, '?', 0, tmscpint0, C 0174500 }, 134: { &scdriver, 0, '?', 0, scint0, C 0176700 }, 135: { &udadriver, 0, '?', 0, udaint0, C 0172150 }, 136: { &idcdriver, 0, 0, 0, idcint0, C 0175606 }, 137: { &hldriver, 0, '?', 0, hlint0, C 0174400 }, 138: { &zsdriver, 0, '?', 0, zsint0, C 0172520 }, 139: 0 140: }; 141: 142: struct uba_device ubdinit[] = { 143: /* driver, unit, ctlr, ubanum, slave, intr, addr, dk, flags*/ 144: { &hkdriver, 0, 0, '?', 0, 0, C 00 , 1, 0x0 }, 145: { &hkdriver, 1, 0, '?', 1, 0, C 00 , 1, 0x0 }, 146: { &hkdriver, 2, 0, '?', 2, 0, C 00 , 1, 0x0 }, 147: { &hkdriver, 3, 0, '?', 3, 0, C 00 , 1, 0x0 }, 148: { &tmdriver, 0, 0, '?', 0, 0, C 00 , 0, 0x0 }, 149: { &tmdriver, 1, 0, '?', 1, 0, C 00 , 0, 0x0 }, 150: { &utdriver, 0, 0, '?', 0, 0, C 00 , 0, 0x0 }, 151: { &utdriver, 1, 0, '?', 1, 0, C 00 , 0, 0x0 }, 152: { &tmscpdriver, 0, 0, '?', 0, 0, C 00 , 0, 0x0 }, 153: { &tmscpdriver, 1, 0, '?', 1, 0, C 00 , 0, 0x0 }, 154: { &scdriver, 0, 0, '?', 0, 0, C 00 , 1, 0x0 }, 155: { &scdriver, 1, 0, '?', 1, 0, C 00 , 1, 0x0 }, 156: { &scdriver, 2, 0, '?', 2, 0, C 00 , 1, 0x0 }, 157: { &scdriver, 3, 0, '?', 3, 0, C 00 , 1, 0x0 }, 158: { &udadriver, 0, 0, '?', 0, 0, C 00 , 1, 0x0 }, 159: { &udadriver, 1, 0, '?', 1, 0, C 00 , 1, 0x0 }, 160: { &udadriver, 2, 0, '?', 2, 0, C 00 , 1, 0x0 }, 161: { &udadriver, 3, 0, '?', 3, 0, C 00 , 1, 0x0 }, 162: { &idcdriver, 0, 0, 0, 0, 0, C 00 , 1, 0x0 }, 163: { &idcdriver, 1, 0, 0, 1, 0, C 00 , 1, 0x0 }, 164: { &hldriver, 0, 0, '?', 0, 0, C 00 , 1, 0x0 }, 165: { &hldriver, 1, 0, '?', 1, 0, C 00 , 1, 0x0 }, 166: { &dhdriver, 0, -1, '?', -1, dhint0, C 0160020, 0, 0x0 }, 167: { &dmdriver, 0, -1, '?', -1, dmint0, C 0170500, 0, 0x0 }, 168: { &dhdriver, 1, -1, '?', -1, dhint1, C 0160040, 0, 0x0 }, 169: { &dzdriver, 0, -1, '?', -1, dzint0, C 0160100, 0, 0xff }, 170: { &dzdriver, 1, -1, '?', -1, dzint1, C 0160110, 0, 0xff }, 171: { &dzdriver, 2, -1, '?', -1, dzint2, C 0160120, 0, 0xff }, 172: { &dzdriver, 3, -1, '?', -1, dzint3, C 0160130, 0, 0xff }, 173: { &dzdriver, 4, -1, '?', -1, dzint4, C 0160140, 0, 0xff }, 174: { &dzdriver, 5, -1, '?', -1, dzint5, C 0160150, 0, 0xff }, 175: { &dzdriver, 6, -1, '?', -1, dzint6, C 0160160, 0, 0xff }, 176: { &dzdriver, 7, -1, '?', -1, dzint7, C 0160170, 0, 0xff }, 177: { &zsdriver, 0, 0, '?', 0, 0, C 00 , 0, 0x0 }, 178: { &dmfdriver, 0, -1, '?', -1, dmfint0, C 0160340, 0, 0xfc }, 179: { &dmzdriver, 0, -1, '?', -1, dmzint0, C 0160540, 0, 0xffffff }, 180: { &dhudriver, 0, -1, '?', -1, dhuint0, C 0160440, 0, 0x0 }, 181: { &lpdriver, 0, -1, '?', -1, lpint0, C 0177514, 0, 0x0 }, 182: { &endriver, 0, -1, '?', -1, enint0, C 0161000, 0, 0x0 }, 183: { &ecdriver, 0, -1, '?', -1, ecint0, C 0164330, 0, 0x0 }, 184: { &dedriver, 0, -1, '?', -1, deint0, C 0174510, 0, 0x0 }, 185: { &ildriver, 0, -1, '?', -1, ilint0, C 0164000, 0, 0x0 }, 186: { &exdriver, 0, -1, '?', -1, exint0, C 0164344, 0, 0x0 }, 187: 0 188: };