Annotation of coherent/d/PS2_KERNEL/coh.386/var.c, revision 1.1.1.1

1.1       root        1: /* $Header: /y/coh.386/RCS/var.c,v 1.3 92/03/12 11:26:41 hal Exp $ */
                      2: /* (lgl-
                      3:  *     The information contained herein is a trade secret of Mark Williams
                      4:  *     Company, and  is confidential information.  It is provided  under a
                      5:  *     license agreement,  and may be  copied or disclosed  only under the
                      6:  *     terms of  that agreement.  Any  reproduction or disclosure  of this
                      7:  *     material without the express written authorization of Mark Williams
                      8:  *     Company or persuant to the license agreement is unlawful.
                      9:  *
                     10:  *     COHERENT Version 2.3.37
                     11:  *     Copyright (c) 1982, 1983, 1984.
                     12:  *     An unpublished work by Mark Williams Company, Chicago.
                     13:  *     All rights reserved.
                     14:  -lgl) */
                     15: /*
                     16:  * Coherent.
                     17:  * Variables.
                     18:  *
                     19:  */
                     20: #include <sys/coherent.h>
                     21: #include <sys/buf.h>
                     22: #include <sys/con.h>
                     23: #include <sys/inode.h>
                     24: #include <sys/mount.h>
                     25: #include <sys/proc.h>
                     26: #include <sys/ptrace.h>
                     27: #include <sys/seg.h>
                     28: #include <sys/timeout.h>
                     29: #include <sys/systab.h>        
                     30: #include <sys/mmu.h>   
                     31: 
                     32: int    debflag = 0;                    /* coherent.h */
                     33: 
                     34: int    batflag;                        /* coherent.h */
                     35: int    dev_loaded;                     /* coherent.h */
                     36: int    DUMP_LIM=512*1024;              /* coherent.h */
                     37: int    outflag;                        /* coherent.h */
                     38: int    ttyflag;                        /* coherent.h */
                     39: unsigned utimer;                       /* coherent.h */
                     40: long    lbolt;                         /* coherent.h */
                     41: TIM    stimer;                         /* coherent.h */
                     42: unsigned asize;                                /* coherent.h */
                     43: paddr_t         clistp;                        /* coherent.h */
                     44: MAKESR(blockp, _blockp);               /* coherent.h */
                     45: MAKESR(allocp, _allocp);               /* coherent.h */
                     46: struct  all *allkp;                    /* coherent.h */
                     47: #if USE_SLOT
                     48: int    NSLOT   = 64;                   /* coherent.h */
                     49: int    slotsz  = 64;                   /* coherent.h */
                     50: int    *       slotp;                  /* coherent.h */
                     51: #endif
                     52: unsigned total_mem;                    /* coherent.h */
                     53: 
                     54: unsigned bufseqn;                      /* buf.h */
                     55: int    bufneed;                        /* buf.h */
                     56: BUF     swapbuf;                       /* buf.h */
                     57: BUF    *bufl;                          /* buf.h */
                     58: 
                     59: int    cltwant;                        /* clist.h */
                     60: cmap_t cltfree;                        /* clist.h */
                     61: 
                     62: INODE  *inodep;                        /* inode.h */
                     63: INODE  *acctip;                        /* inode.h */
                     64: 
                     65: MOUNT  *mountp;                        /* mount.h */
                     66: 
                     67: #ifdef TRACER                          /* mwc_coherent.h */
                     68: unsigned t_errno = 0;
                     69: unsigned t_hal = 0;
                     70: unsigned t_piggy = 0;
                     71: unsigned t_vlad =0;
                     72: unsigned t_con =0;
                     73: #endif /* TRACER */
                     74: 
                     75: int    ISTSIZE = 2048;                 /* sys/param.h */
                     76: int    quantum;                        /* proc.h */
                     77: int    disflag;                        /* proc.h */
                     78: int    intflag;                        /* proc.h */
                     79: int    cpid;                           /* proc.h */
                     80: #if QWAKEUP
                     81: int    ntowake;                        /* proc.h */
                     82: #endif
                     83: GATE   pnxgate;                        /* proc.h */
                     84: PROC   procq;                          /* proc.h */
                     85: PROC   *iprocp;                        /* proc.h */
                     86: PROC   *eprocp;                        /* proc.h */
                     87: PROC   *cprocp = &procq;               /* proc.h */
                     88: PLINK  linkq[NHPLINK];                 /* proc.h */
                     89: 
                     90: struct ptrace pts;                     /* ptrace.h */
                     91: 
                     92: int    sexflag;                        /* seg.h */
                     93: GATE   seglink;                        /* seg.h */
                     94: #if    MONITOR
                     95: int    swmflag;                        /* seg.h */
                     96: #endif
                     97: SEG    segswap;                        /* seg.h */
                     98: SEG    segmq;                          /* seg.h */
                     99: SEG    segdq;                          /* seg.h */
                    100: SEG    segiom;                         /* seg.h */
                    101: SYSMEM sysmem;                         /* mmu.h */
                    102: 
                    103: extern vaddr_t aicodep;
                    104: extern vaddr_t aicodes;
                    105: 
                    106: char    *icodep = (char *)&aicodep;    /* coherent.h */
                    107: int    icodes = (int)&aicodes; /* coherent.h */
                    108: 
                    109: TIM *  timq[256];                      /* timeout.h */
                    110: 
                    111: int    vtactive;
                    112: 
                    113: /*
                    114:  * System call functions.
                    115:  */
                    116: int    unone();
                    117: int    unull();
                    118: int    uexit();
                    119: int    ufork();
                    120: int    uread();
                    121: int    uwrite();
                    122: int    uopen();
                    123: int    uclose();
                    124: int    uwait();
                    125: int    ucreat();
                    126: int    ulink();
                    127: int    uunlink();
                    128: int    uexece();
                    129: int    uchdir();
                    130: int    umknod();
                    131: int    uchmod();
                    132: int    uchown();
                    133: char   *ubrk();
                    134: int    ustat();
                    135: long   ulseek();
                    136: int    ugetpid();
                    137: int    umount();
                    138: int    uumount();
                    139: int    usetuid();
                    140: int    ugetuid();
                    141: int    ustime();
                    142: int    uptrace();
                    143: int    ualarm();
                    144: int    ufstat();
                    145: int    upause();
                    146: int    uutime();
                    147: int    ustty();
                    148: int    ugtty();
                    149: int    uaccess();
                    150: int    unice();
                    151: int    uftime();
                    152: int    usync();
                    153: int    ukill();
                    154: int    udup();
                    155: int    upipe();
                    156: int    utimes();
                    157: int    utime();
                    158: int    uprofil();
                    159: int    usetgid();
                    160: int    ugetgid();
                    161: int    (*usigsys())();
                    162: int    usload();
                    163: int    usuload();
                    164: int    uacct();
                    165: int    ulock();
                    166: int    uioctl();
                    167: int    ugetegid();
                    168: int    uumask();
                    169: int    uchroot();
                    170: int    ufcntl();
                    171: int    usetpgrp();
                    172: int    uulimit();
                    173: int    ufcntl();
                    174: int    upoll();
                    175: int    upgrp();
                    176: int    usysi86();
                    177: int    umsgsys();
                    178: int    ushmsys();
                    179: int    uutssys();
                    180: int    usemsys();
                    181: int    urmdir();
                    182: int    umkdir();
                    183: int    ugetdents();
                    184: int    ustatfs();
                    185: int    ufstatfs();
                    186: int    uadmin();
                    187: /*
                    188:  * Added by hal 91/10/10.
                    189:  * These are undocumented Xenix/V7 compatibility calls.
                    190:  */
                    191: int    ustty();
                    192: int    ugtty();
                    193: 
                    194: /*
                    195:  * System call table.
                    196:  */
                    197: int    ucohcall();
                    198: struct systab cohcall = {
                    199:        6,  INT,        ucohcall
                    200: };
                    201: struct systab sysitab[NMICALL] ={
                    202:        0,  INT,        unone,                  /*  0 = ??? */
                    203:        1,  INT,        uexit,                  /*  1 = exit */
                    204:        0,  INT,        ufork,                  /*  2 = fork */
                    205:        3,  INT,        uread,                  /*  3 = read */
                    206:        3,  INT,        uwrite,                 /*  4 = write */
                    207:        3,  INT,        uopen,                  /*  5 = open */
                    208:        1,  INT,        uclose,                 /*  6 = close */
                    209:        0,  INT,        uwait,                  /*  7 = wait */
                    210:        2,  INT,        ucreat,                 /*  8 = creat */
                    211:        2,  INT,        ulink,                  /*  9 = link */
                    212:        1,  INT,        uunlink,                /* 10 = unlink */
                    213:        0,  INT,        unone,                  /* 11 = exec */
                    214:        1,  INT,        uchdir,                 /* 12 = chdir */
                    215:        0,  INT,        utime,                  /* 13 = utime */
                    216:        3,  INT,        umknod,                 /* 14 = mknod */
                    217:        2,  INT,        uchmod,                 /* 15 = chmod */
                    218:        3,  INT,        uchown,                 /* 16 = chown */
                    219:        1,  INT,        ubrk,                   /* 17 = break */
                    220:        2,  INT,        ustat,                  /* 18 = stat */
                    221:        3,  LONG,       ulseek,                 /* 19 = lseek */
                    222:        0,  INT,        ugetpid,                /* 20 = getpid */
                    223:        3,  INT,        umount,                 /* 21 = mount */
                    224:        1,  INT,        uumount,                /* 22 = umount */
                    225:        1,  INT,        usetuid,                /* 23 = setuid */
                    226:        0,  INT,        ugetuid,                /* 24 = getuid */
                    227:        1,  INT,        ustime,                 /* 25 = stime */
                    228:        4,  INT,        uptrace,                /* 26 = ptrace */
                    229:        1,  INT,        ualarm,                 /* 27 = alarm */
                    230:        2,  INT,        ufstat,                 /* 28 = fstat */
                    231:        0,  INT,        upause,                 /* 29 = pause */
                    232:        2,  INT,        uutime,                 /* 30 = utime */
                    233:        2,  INT,        ustty,                  /* 31 = ustty */
                    234:        2,  INT,        ugtty,                  /* 32 = ugtty */
                    235:        2,  INT,        uaccess,                /* 33 = access */
                    236:        1,  INT,        unice,                  /* 34 = nice */
                    237:        4,  INT,        ustatfs,                /* 35 = statfs */
                    238:        0,  INT,        usync,                  /* 36 = sync */
                    239:        2,  INT,        ukill,                  /* 37 = kill */
                    240:        4,  INT,        ufstatfs,               /* 38 = ufstatfs */
                    241:        1,  INT,        upgrp,                  /* 39 = pgrp */
                    242:        0,  LONG,       unone,                  /* 40 = ??? */
                    243:        1,  INT,        udup,                   /* 41 = dup */
                    244:        0,  INT,        upipe,                  /* 42 = pipe */
                    245:        1,  INT,        utimes,                 /* 43 = times */
                    246:        4,  INT,        uprofil,                /* 44 = profil */
                    247:        1,  INT,        ulock,                  /* 45 = lock */
                    248:        1,  INT,        usetgid,                /* 46 = setgid */
                    249:        0,  INT,        ugetgid,                /* 47 = getgid */
                    250:        2,  INT,        usigsys,                /* 48 = signal */
                    251:        6,  LONG,       umsgsys,                /* 49 = msgsys */
                    252:        5,  LONG,       usysi86,                /* 50 = sysi86 */       
                    253:        1,  INT,        uacct,                  /* 51 = acct */
                    254:        4,  INT,        ushmsys,                /* 52 = shmsys */
                    255:        5,  INT,        usemsys,                /* 53 = semsys */
                    256:        3,  INT,        uioctl,                 /* 54 = ioctl */
                    257:        3,  INT,        uadmin,                 /* 55 = uadmin */
                    258:        0,  INT,        unone,                  /* 56 = ??? */
                    259:        3,  INT,        uutssys,                /* 57 = utssys */
                    260:        0,  INT,        unone,                  /* 58 = ??? */
                    261:        3,  INT,        uexece,                 /* 59 = exec */
                    262:        1,  INT,        uumask,                 /* 60 = umask */
                    263:        1,  INT,        uchroot,                /* 61 = chroot */
                    264:        3,  INT,        ufcntl,                 /* 62 = fcntl */
                    265:        2,  INT,        uulimit,                /* 63 = ulimit - n/i */
                    266:        0,  INT,        unone,                  /* 64 = ??? (sload) */
                    267:        0,  INT,        unone,                  /* 65 = ??? (suload */
                    268:        0,  INT,        unone,                  /* 66 = ??? (fcntl) */
                    269:        0,  INT,        unone,                  /* 67 = ??? (poll) */
                    270:        0,  INT,        unone,                  /* 68 = ??? (msgctl) */
                    271:        0,  INT,        unone,                  /* 69 = ??? (msgget) */
                    272:        0,  INT,        unone,                  /* 70 = ??? (msgrcv) */
                    273:        0,  INT,        unone,                  /* 71 = ??? (msgsnd) */
                    274:        0,  LONG,       unone,                  /* 72 = ??? (alarm2) */
                    275:        0,  LONG,       unone,                  /* 73 = tick  */
                    276:        0,  INT,        unone,                  /* 74 = ??? */
                    277:        0,  INT,        unone,                  /* 75 = ??? */
                    278:        0,  INT,        unone,                  /* 76 = ??? */
                    279:        0,  INT,        unone,                  /* 77 = ??? */
                    280:        0,  INT,        unone,                  /* 78 = ??? */
                    281:        1,  INT,        urmdir,                 /* 79 = rmdir */
                    282:        2,  INT,        umkdir,                 /* 80 = mkdir */
                    283:        3,  INT,        ugetdents,              /* 81 = getdents */
                    284:        0,  INT,        unone,                  /* 82 = ??? */
                    285:        0,  INT,        unone,                  /* 83 = ??? */
                    286:        0,  INT,        unone,                  /* 84 = ??? */
                    287:        0,  INT,        unone,                  /* 85 = ??? */
                    288:        0,  INT,        unone,                  /* 86 = ??? */
                    289:        3,  INT,        upoll,                  /* 87 = poll */
                    290: };
                    291: extern CON nlcon;
                    292: 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.