|
|
1.1 ! root 1: /* conf.c 4.4 11/12/80 */ ! 2: ! 3: #include "../h/param.h" ! 4: #include "../h/systm.h" ! 5: #include "../h/buf.h" ! 6: #include "../h/tty.h" ! 7: #include "../h/conf.h" ! 8: #include "../h/text.h" ! 9: #include "../h/dir.h" ! 10: #include "../h/user.h" ! 11: #include "../h/proc.h" ! 12: #include "../h/file.h" ! 13: #include "../h/inode.h" ! 14: #include "../h/acct.h" ! 15: #include "../h/pte.h" ! 16: #include "../h/mba.h" ! 17: ! 18: int nulldev(); ! 19: int nodev(); ! 20: ! 21: #include "../conf/hp.h" ! 22: #if NHP > 0 ! 23: int hpstrategy(),hpread(),hpwrite(),hpintr(); ! 24: struct buf hptab; ! 25: #define HPTAB &hptab ! 26: #else ! 27: #define hpstrategy nodev ! 28: #define hpread nodev ! 29: #define hpwrite nodev ! 30: #define hpintr nodev ! 31: #define HPTAB 0 ! 32: #endif ! 33: ! 34: #include "../conf/ht.h" ! 35: #if NHT > 0 ! 36: int htopen(),htclose(),htstrategy(),htread(),htwrite(); ! 37: struct buf httab; ! 38: #define HTTAB &httab ! 39: #else ! 40: #define htopen nodev ! 41: #define htclose nodev ! 42: #define htstrategy nodev ! 43: #define htread nodev ! 44: #define htwrite nodev ! 45: #define HTTAB 0 ! 46: #endif ! 47: ! 48: #include "../conf/up.h" ! 49: #if NUP > 0 ! 50: int upstrategy(),upread(),upwrite(),upreset(); ! 51: struct buf uptab; ! 52: #define UPTAB &uptab ! 53: #else ! 54: #define upstrategy nodev ! 55: #define upread nodev ! 56: #define upwrite nodev ! 57: #define upreset nulldev ! 58: #define UPTAB 0 ! 59: #endif ! 60: ! 61: int swstrategy(),swread(),swwrite(); ! 62: ! 63: struct bdevsw bdevsw[] = ! 64: { ! 65: nulldev, nulldev, hpstrategy, HPTAB, /*0*/ ! 66: htopen, htclose, htstrategy, HTTAB, /*1*/ ! 67: nulldev, nulldev, upstrategy, UPTAB, /*2*/ ! 68: /* 3 reserved for rk07 */ ! 69: nodev, nodev, nodev, 0, /*3*/ ! 70: nodev, nodev, swstrategy, 0, /*4*/ ! 71: /* 5 reserved for tm03 */ ! 72: 0, ! 73: }; ! 74: ! 75: int cnopen(),cnclose(),cnread(),cnwrite(),cnioctl(); ! 76: ! 77: #include "../conf/dh.h" ! 78: #if NDH11 == 0 ! 79: #define dhopen nodev ! 80: #define dhclose nodev ! 81: #define dhread nodev ! 82: #define dhwrite nodev ! 83: #define dhioctl nodev ! 84: #define dhstop nodev ! 85: #define dhreset nulldev ! 86: #define dh11 0 ! 87: #else ! 88: int dhopen(),dhclose(),dhread(),dhwrite(),dhioctl(),dhstop(),dhreset(); ! 89: struct tty dh11[]; ! 90: #endif ! 91: ! 92: int flopen(),flclose(),flread(),flwrite(); ! 93: ! 94: #include "../conf/dz.h" ! 95: #if NDZ11 == 0 ! 96: #define dzopen nodev ! 97: #define dzclose nodev ! 98: #define dzread nodev ! 99: #define dzwrite nodev ! 100: #define dzioctl nodev ! 101: #define dzstop nodev ! 102: #define dzreset nulldev ! 103: #define dz_tty 0 ! 104: #else ! 105: int dzopen(),dzclose(),dzread(),dzwrite(),dzioctl(),dzstop(),dzreset(); ! 106: struct tty dz_tty[]; ! 107: #endif ! 108: ! 109: int syopen(),syread(),sywrite(),syioctl(); ! 110: ! 111: int mmread(),mmwrite(); ! 112: ! 113: #include "../conf/va.h" ! 114: #if NVA > 0 ! 115: int vaopen(),vaclose(),vawrite(),vaioctl(),vareset(); ! 116: #else ! 117: #define vaopen nodev ! 118: #define vaclose nodev ! 119: #define vawrite nodev ! 120: #define vaopen nodev ! 121: #define vaioctl nodev ! 122: #define vareset nulldev ! 123: #endif ! 124: ! 125: #include "../conf/vp.h" ! 126: #if NVP > 0 ! 127: int vpopen(),vpclose(),vpwrite(),vpioctl(),vpreset(); ! 128: #else ! 129: #define vpopen nodev ! 130: #define vpclose nodev ! 131: #define vpwrite nodev ! 132: #define vpioctl nodev ! 133: #define vpreset nulldev ! 134: #endif ! 135: ! 136: int mxopen(),mxclose(),mxread(),mxwrite(),mxioctl(); ! 137: int mcread(); ! 138: char *mcwrite(); ! 139: ! 140: struct cdevsw cdevsw[] = ! 141: { ! 142: cnopen, cnclose, cnread, cnwrite, /*0*/ ! 143: cnioctl, nulldev, nulldev, 0, ! 144: dzopen, dzclose, dzread, dzwrite, /*1*/ ! 145: dzioctl, dzstop, dzreset, dz_tty, ! 146: syopen, nulldev, syread, sywrite, /*2*/ ! 147: syioctl, nulldev, nulldev, 0, ! 148: nulldev, nulldev, mmread, mmwrite, /*3*/ ! 149: nodev, nulldev, nulldev, 0, ! 150: nulldev, nulldev, hpread, hpwrite, /*4*/ ! 151: nodev, nodev, nulldev, 0, ! 152: htopen, htclose, htread, htwrite, /*5*/ ! 153: nodev, nodev, nulldev, 0, ! 154: vpopen, vpclose, nodev, vpwrite, /*6*/ ! 155: vpioctl, nulldev, vpreset, 0, ! 156: nulldev, nulldev, swread, swwrite, /*7*/ ! 157: nodev, nodev, nulldev, 0, ! 158: flopen, flclose, flread, flwrite, /*8*/ ! 159: nodev, nodev, nulldev, 0, ! 160: mxopen, mxclose, mxread, mxwrite, /*9*/ ! 161: mxioctl, nulldev, nulldev, 0, ! 162: vaopen, vaclose, nodev, vawrite, /*10*/ ! 163: vaioctl, nulldev, vareset, 0, ! 164: /* 11 reserved for rk07 */ ! 165: nodev, nodev, nodev, nodev, /*11*/ ! 166: nodev, nodev, nulldev, 0, ! 167: dhopen, dhclose, dhread, dhwrite, /*12*/ ! 168: dhioctl, dhstop, dhreset, dh11, ! 169: nulldev, nulldev, upread, upwrite, /*13*/ ! 170: nodev, nodev, upreset, 0, ! 171: /* 14 reserved for tm03 */ ! 172: /* 15 reserved for lp11 */ ! 173: 0, ! 174: }; ! 175: ! 176: int ttyopen(),ttread(),nullioctl(),ttstart(); ! 177: char *ttwrite(); ! 178: int ttyinput(),ttyrend(); ! 179: int bkopen(),bkclose(),bkread(),bkinput(),bkioctl(); ! 180: int ntyopen(),ntyclose(),ntread(); ! 181: char *ntwrite(); ! 182: int ntyinput(),ntyrend(); ! 183: ! 184: struct linesw linesw[] = ! 185: { ! 186: ttyopen, nulldev, ttread, ttwrite, nullioctl, ! 187: ttyinput, ttyrend, nulldev, nulldev, nulldev, /* 0 */ ! 188: bkopen, bkclose, bkread, ttwrite, bkioctl, ! 189: bkinput, nodev, nulldev, ttstart, nulldev, /* 1 */ ! 190: ntyopen, ntyclose, ntread, ntwrite, nullioctl, ! 191: ntyinput, ntyrend, nulldev, ttstart, nulldev, /* 2 */ ! 192: mxopen, mxclose, mcread, mcwrite, mxioctl, ! 193: nulldev, nulldev, nulldev, nulldev, nulldev, /* 3 */ ! 194: 0 ! 195: }; ! 196: ! 197: int nldisp = 3; ! 198: ! 199: struct buf buf[NBUF]; ! 200: struct file file[NFILE]; ! 201: struct inode inode[NINODE]; ! 202: struct text text[NTEXT]; ! 203: struct proc proc[NPROC]; ! 204: struct buf bfreelist; ! 205: struct buf bswlist; /* free list of swap headers */ ! 206: struct buf *bclnlist; /* header for list of cleaned pages */ ! 207: struct acct acctbuf; ! 208: struct inode *acctp; ! 209: ! 210: int mem_no = 3; /* major device number of memory special file */ ! 211: ! 212: /* ! 213: * Swapdev is a fake device implemented ! 214: * in sw.c used only internally to get to swstrategy. ! 215: * It cannot be provided to the users, because the ! 216: * swstrategy routine munches the b_dev and b_blkno entries ! 217: * before calling the appropriate driver. This would horribly ! 218: * confuse, e.g. the hashing routines as well as the placement ! 219: * of the block on the d_tab chains. Instead, /dev/drum is ! 220: * provided as a character (raw) device. ! 221: */ ! 222: dev_t swapdev = makedev(4, 0); ! 223: ! 224: extern struct user u; ! 225: ! 226: /* ! 227: * This is stupid, and will go away soon. ! 228: */ ! 229: int mbanum[] = { /* mba number of major device */ ! 230: 0, /* disk */ ! 231: 1, /* tape */ ! 232: 9999999, /* unused */ ! 233: 9999999, /* unused */ ! 234: 0, /* disk, raw */ ! 235: 1, /* tape, raw */ ! 236: }; ! 237: ! 238: extern struct pte MBA0map[], MBA1map[]; ! 239: ! 240: struct mba_info mbainfo[] = { ! 241: MBA0, PHYSMBA0, MBA0map, ! 242: MBA1, PHYSMBA1, MBA1map ! 243: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.