Annotation of coherent/b/kernel/coh.386/var.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * var.c
                      3:  *
                      4:  * Coherent global variables.
                      5:  */
                      6: #include <sys/coherent.h>
                      7: #include <sys/buf.h>
                      8: #include <sys/con.h>
                      9: #include <sys/inode.h>
                     10: #include <sys/mount.h>
                     11: #include <sys/proc.h>
                     12: #include <sys/ptrace.h>
                     13: #include <sys/seg.h>
                     14: #include <sys/timeout.h>
                     15: #include <sys/systab.h>        
                     16: #include <sys/mmu.h>
                     17: #include <sys/clist.h>
                     18: 
                     19: 
                     20: int    debflag = 0;                    /* coherent.h */
                     21: 
                     22: int    batflag;                        /* coherent.h */
                     23: int    dev_loaded;                     /* coherent.h */
                     24: int    outflag;                        /* coherent.h */
                     25: int    ttyflag;                        /* coherent.h */
                     26: unsigned utimer;                       /* coherent.h */
                     27: long    lbolt;                         /* coherent.h */
                     28: TIM    stimer;                         /* coherent.h */
                     29: unsigned asize;                                /* coherent.h */
                     30: paddr_t         clistp;                        /* coherent.h */
                     31: MAKESR(blockp, _blockp);               /* coherent.h */
                     32: MAKESR(allocp, _allocp);               /* coherent.h */
                     33: struct  all *allkp;                    /* coherent.h */
                     34: #if USE_SLOT
                     35: int    NSLOT   = 64;                   /* coherent.h */
                     36: int    slotsz  = 64;                   /* coherent.h */
                     37: int    *       slotp;                  /* coherent.h */
                     38: #endif
                     39: unsigned total_mem;                    /* coherent.h */
                     40: 
                     41: unsigned bufseqn;                      /* buf.h */
                     42: int    bufneed;                        /* buf.h */
                     43: BUF     swapbuf;                       /* buf.h */
                     44: BUF    *bufl;                          /* buf.h */
                     45: 
                     46: int    cltwant;                        /* clist.h */
                     47: cmap_t cltfree;                        /* clist.h */
                     48: 
                     49: INODE  *inodep;                        /* inode.h */
                     50: INODE  *acctip;                        /* inode.h */
                     51: 
                     52: SYSMEM sysmem;                         /* mmu.h */
                     53: MOUNT  *mountp;                        /* mount.h */
                     54: 
                     55: #ifdef TRACER                          /* mwc_coherent.h */
                     56: unsigned t_errno = 0;
                     57: unsigned t_hal = 0;
                     58: unsigned t_piggy = 0;
                     59: unsigned t_vlad =0;
                     60: unsigned t_con =0;
                     61: unsigned t_msgq =0;
                     62: #endif /* TRACER */
                     63: 
                     64: int    ISTSIZE = 2048;                 /* sys/param.h */
                     65: int    quantum;                        /* proc.h */
                     66: int    disflag;                        /* proc.h */
                     67: int    intflag;                        /* proc.h */
                     68: int    cpid;                           /* proc.h */
                     69: #if QWAKEUP
                     70: int    ntowake;                        /* proc.h */
                     71: #endif
                     72: GATE   pnxgate;                        /* proc.h */
                     73: PROC   procq;                          /* proc.h */
                     74: PROC   *iprocp;                        /* proc.h */
                     75: PROC   *eprocp;                        /* proc.h */
                     76: PROC   *cprocp = &procq;               /* proc.h */
                     77: PLINK  linkq[NHPLINK];                 /* proc.h */
                     78: 
                     79: struct ptrace pts;                     /* ptrace.h */
                     80: 
                     81: int    sexflag;                        /* seg.h */
                     82: GATE   seglink;                        /* seg.h */
                     83: #if    MONITOR
                     84: int    swmflag;                        /* seg.h */
                     85: #endif
                     86: SEG    segswap;                        /* seg.h */
                     87: SEG    segmq;                          /* seg.h */
                     88: SEG    segdq;                          /* seg.h */
                     89: SEG    segiom;                         /* seg.h */
                     90: 
                     91: extern caddr_t aicodep;
                     92: extern caddr_t aicodes;
                     93: 
                     94: char    *icodep = (char *)&aicodep;    /* coherent.h */
                     95: int    icodes = (int)&aicodes; /* coherent.h */
                     96: 
                     97: TIM *  timq[256];                      /* timeout.h */
                     98: 
                     99: int    vtactive;
                    100: 
                    101: /*
                    102:  * System call functions.
                    103:  */
                    104: int    unone();
                    105: int    unull();
                    106: int    uexit();
                    107: int    ufork();
                    108: int    uread();
                    109: int    uwrite();
                    110: int    uopen();
                    111: int    uclose();
                    112: int    uwait();
                    113: int    ucreat();
                    114: int    ulink();
                    115: int    uunlink();
                    116: int    uexece();
                    117: int    uchdir();
                    118: int    umknod();
                    119: int    uchmod();
                    120: int    uchown();
                    121: char   *ubrk();
                    122: int    ustat();
                    123: long   ulseek();
                    124: int    ugetpid();
                    125: int    umount();
                    126: int    uumount();
                    127: int    usetuid();
                    128: int    ugetuid();
                    129: int    ustime();
                    130: int    uptrace();
                    131: int    ualarm();
                    132: int    ufstat();
                    133: int    upause();
                    134: int    uutime();
                    135: int    ustty();
                    136: int    ugtty();
                    137: int    uaccess();
                    138: int    unice();
                    139: int    usync();
                    140: int    ukill();
                    141: int    udup();
                    142: int    upipe();
                    143: int    utimes();
                    144: int    utime();
                    145: int    uprofil();
                    146: int    usetgid();
                    147: int    ugetgid();
                    148: int    (*usigsys())();
                    149: int    usload();
                    150: int    usuload();
                    151: int    uacct();
                    152: int    ulock();
                    153: int    uioctl();
                    154: int    ugetegid();
                    155: int    uumask();
                    156: int    uchroot();
                    157: int    ufcntl();
                    158: int    usetpgrp();
                    159: int    uulimit();
                    160: int    ufcntl();
                    161: int    upoll();
                    162: int    upgrp();
                    163: int    usysi86();
                    164: int    umsgsys();
                    165: int    ushmsys();
                    166: int    uutssys();
                    167: int    usemsys();
                    168: int    urmdir();
                    169: int    umkdir();
                    170: int    ugetdents();
                    171: int    ustatfs();
                    172: int    ufstatfs();
                    173: int    uadmin();
                    174: /*
                    175:  * Added by hal 91/10/10.
                    176:  * These are undocumented Xenix/V7 compatibility calls.
                    177:  */
                    178: int    ustty();
                    179: int    ugtty();
                    180: 
                    181: /*
                    182:  * System call table.
                    183:  */
                    184: int    ucohcall();
                    185: struct systab cohcall = {
                    186:        6,  INT,        ucohcall
                    187: };
                    188: struct systab sysitab[NMICALL] ={
                    189:        0,  INT,        unone,                  /*  0 = ??? */
                    190:        1,  INT,        uexit,                  /*  1 = exit */
                    191:        0,  INT,        ufork,                  /*  2 = fork */
                    192:        3,  INT,        uread,                  /*  3 = read */
                    193:        3,  INT,        uwrite,                 /*  4 = write */
                    194:        3,  INT,        uopen,                  /*  5 = open */
                    195:        1,  INT,        uclose,                 /*  6 = close */
                    196:        3,  INT,        uwait,                  /*  7 = wait */
                    197:        2,  INT,        ucreat,                 /*  8 = creat */
                    198:        2,  INT,        ulink,                  /*  9 = link */
                    199:        1,  INT,        uunlink,                /* 10 = unlink */
                    200:        0,  INT,        unone,                  /* 11 = exec */
                    201:        1,  INT,        uchdir,                 /* 12 = chdir */
                    202:        0,  INT,        utime,                  /* 13 = utime */
                    203:        3,  INT,        umknod,                 /* 14 = mknod */
                    204:        2,  INT,        uchmod,                 /* 15 = chmod */
                    205:        3,  INT,        uchown,                 /* 16 = chown */
                    206:        1,  INT,        ubrk,                   /* 17 = break */
                    207:        2,  INT,        ustat,                  /* 18 = stat */
                    208:        3,  LONG,       ulseek,                 /* 19 = lseek */
                    209:        0,  INT,        ugetpid,                /* 20 = getpid */
                    210:        3,  INT,        umount,                 /* 21 = mount */
                    211:        1,  INT,        uumount,                /* 22 = umount */
                    212:        1,  INT,        usetuid,                /* 23 = setuid */
                    213:        0,  INT,        ugetuid,                /* 24 = getuid */
                    214:        1,  INT,        ustime,                 /* 25 = stime */
                    215:        4,  INT,        uptrace,                /* 26 = ptrace */
                    216:        1,  INT,        ualarm,                 /* 27 = alarm */
                    217:        2,  INT,        ufstat,                 /* 28 = fstat */
                    218:        0,  INT,        upause,                 /* 29 = pause */
                    219:        2,  INT,        uutime,                 /* 30 = utime */
                    220:        2,  INT,        ustty,                  /* 31 = ustty */
                    221:        2,  INT,        ugtty,                  /* 32 = ugtty */
                    222:        2,  INT,        uaccess,                /* 33 = access */
                    223:        1,  INT,        unice,                  /* 34 = nice */
                    224:        4,  INT,        ustatfs,                /* 35 = statfs */
                    225:        0,  INT,        usync,                  /* 36 = sync */
                    226:        2,  INT,        ukill,                  /* 37 = kill */
                    227:        4,  INT,        ufstatfs,               /* 38 = ufstatfs */
                    228:        1,  INT,        upgrp,                  /* 39 = pgrp */
                    229:        0,  LONG,       unone,                  /* 40 = ??? */
                    230:        1,  INT,        udup,                   /* 41 = dup */
                    231:        0,  INT,        upipe,                  /* 42 = pipe */
                    232:        1,  INT,        utimes,                 /* 43 = times */
                    233:        4,  INT,        uprofil,                /* 44 = profil */
                    234:        1,  INT,        ulock,                  /* 45 = lock */
                    235:        1,  INT,        usetgid,                /* 46 = setgid */
                    236:        0,  INT,        ugetgid,                /* 47 = getgid */
                    237:        2,  INT,        usigsys,                /* 48 = signal */
                    238:        6,  LONG,       umsgsys,                /* 49 = msgsys */
                    239:        5,  LONG,       usysi86,                /* 50 = sysi86 */       
                    240:        1,  INT,        uacct,                  /* 51 = acct */
                    241:        4,  INT,        ushmsys,                /* 52 = shmsys */
                    242:        5,  INT,        usemsys,                /* 53 = semsys */
                    243:        3,  INT,        uioctl,                 /* 54 = ioctl */
                    244:        3,  INT,        uadmin,                 /* 55 = uadmin */
                    245:        0,  INT,        unone,                  /* 56 = ??? */
                    246:        3,  INT,        uutssys,                /* 57 = utssys */
                    247:        0,  INT,        unone,                  /* 58 = ??? */
                    248:        3,  INT,        uexece,                 /* 59 = exec */
                    249:        1,  INT,        uumask,                 /* 60 = umask */
                    250:        1,  INT,        uchroot,                /* 61 = chroot */
                    251:        3,  INT,        ufcntl,                 /* 62 = fcntl */
                    252:        2,  INT,        uulimit,                /* 63 = ulimit - n/i */
                    253:        0,  INT,        unone,                  /* 64 = ??? (sload) */
                    254:        0,  INT,        unone,                  /* 65 = ??? (suload */
                    255:        0,  INT,        unone,                  /* 66 = ??? (fcntl) */
                    256:        0,  INT,        unone,                  /* 67 = ??? (poll) */
                    257:        0,  INT,        unone,                  /* 68 = ??? (msgctl) */
                    258:        0,  INT,        unone,                  /* 69 = ??? (msgget) */
                    259:        0,  INT,        unone,                  /* 70 = ??? (msgrcv) */
                    260:        0,  INT,        unone,                  /* 71 = ??? (msgsnd) */
                    261:        0,  LONG,       unone,                  /* 72 = ??? (alarm2) */
                    262:        0,  LONG,       unone,                  /* 73 = tick  */
                    263:        0,  INT,        unone,                  /* 74 = ??? */
                    264:        0,  INT,        unone,                  /* 75 = ??? */
                    265:        0,  INT,        unone,                  /* 76 = ??? */
                    266:        0,  INT,        unone,                  /* 77 = ??? */
                    267:        0,  INT,        unone,                  /* 78 = ??? */
                    268:        1,  INT,        urmdir,                 /* 79 = rmdir */
                    269:        2,  INT,        umkdir,                 /* 80 = mkdir */
                    270:        3,  INT,        ugetdents,              /* 81 = getdents */
                    271:        0,  INT,        unone,                  /* 82 = ??? */
                    272:        0,  INT,        unone,                  /* 83 = ??? */
                    273:        0,  INT,        unone,                  /* 84 = ??? */
                    274:        0,  INT,        unone,                  /* 85 = ??? */
                    275:        0,  INT,        unone,                  /* 86 = ??? */
                    276:        3,  INT,        upoll,                  /* 87 = poll */
                    277: };
                    278: 
                    279: /*
                    280:  *  System Calls Numbers of the form 0x??28, where 0x?? >= 0x01
                    281:  *  Assists the dispatching mechanism in i386/trap.c
                    282:  */
                    283: int    uchsize();
                    284: int    unap();
                    285: int    oftime();
                    286: 
                    287: struct systab h28itab[] = {
                    288:        0,  INT,        unone,                  /* 0x0128 = locking */
                    289:        0,  INT,        unone,                  /* 0x0228 = creatsem */
                    290:        0,  INT,        unone,                  /* 0x0328 = opensem */
                    291:        0,  INT,        unone,                  /* 0x0428 = sigsem */
                    292:        0,  INT,        unone,                  /* 0x0528 = waitsem */
                    293:        0,  INT,        unone,                  /* 0x0628 = nbwaitsem */
                    294:        0,  INT,        unone,                  /* 0x0728 = rdchk */
                    295:        0,  INT,        unone,                  /* 0x0828 = ??? */
                    296:        0,  INT,        unone,                  /* 0x0928 = ??? */
                    297:        2,  INT,        uchsize,                /* 0x0A28 = chsize */
                    298:        1,  INT,        oftime,                 /* 0x0B28 = ftime */
                    299:        1,  INT,        unap,                   /* 0x0C28 = nap */
                    300:        0,  INT,        unone,                  /* 0x0D28 = _sdget */
                    301:        0,  INT,        unone,                  /* 0x0E28 = sdfree */
                    302:        0,  INT,        unone,                  /* 0x0F28 = sdenter */
                    303:        0,  INT,        unone,                  /* 0x1028 = sdleave */
                    304:        0,  INT,        unone,                  /* 0x1128 = sdgetv */
                    305:        0,  INT,        unone,                  /* 0x1228 = sdwaitv */
                    306: };
                    307: /*
                    308:  * Also
                    309:  * 0x2028 = proctl
                    310:  * 0x2128 = execseg
                    311:  * 0x2228 = unexecseg
                    312:  */
                    313: 
                    314: extern CON nlcon;
                    315: int    (*altclk)();            /* hook for polled devices */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.