1: /*
   2:  * Copyright (c) 1982, 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)subr_xxx.c	7.1 (Berkeley) 6/5/86
   7:  */
   8: 
   9: #include "../machine/pte.h"
  10: 
  11: #include "param.h"
  12: #include "systm.h"
  13: #include "conf.h"
  14: #include "inode.h"
  15: #include "dir.h"
  16: #include "user.h"
  17: #include "buf.h"
  18: #include "proc.h"
  19: #include "fs.h"
  20: #include "vm.h"
  21: #include "cmap.h"
  22: #include "uio.h"
  23: 
  24: /*
  25:  * Routine placed in illegal entries in the bdevsw and cdevsw tables.
  26:  */
  27: nodev()
  28: {
  29: 
  30:     return (ENODEV);
  31: }
  32: 
  33: /*
  34:  * Null routine; placed in insignificant entries
  35:  * in the bdevsw and cdevsw tables.
  36:  */
  37: nulldev()
  38: {
  39: 
  40:     return (0);
  41: }
  42: 
  43: #ifdef notdef
  44: imin(a, b)
  45: {
  46: 
  47:     return (a < b ? a : b);
  48: }
  49: 
  50: imax(a, b)
  51: {
  52: 
  53:     return (a > b ? a : b);
  54: }
  55: 
  56: unsigned
  57: min(a, b)
  58:     u_int a, b;
  59: {
  60: 
  61:     return (a < b ? a : b);
  62: }
  63: 
  64: unsigned
  65: max(a, b)
  66:     u_int a, b;
  67: {
  68: 
  69:     return (a > b ? a : b);
  70: }
  71: #endif notdef
  72: 
  73: extern  cabase, calimit;
  74: extern  struct pte camap[];
  75: 
  76: caddr_t cacur = (caddr_t)&cabase;
  77: caddr_t camax = (caddr_t)&cabase;
  78: int cax = 0;
  79: /*
  80:  * This is a kernel-mode storage allocator.
  81:  * It is very primitive, currently, in that
  82:  * there is no way to give space back.
  83:  * It serves, for the time being, the needs of
  84:  * auto-configuration code and the like which
  85:  * need to allocate some stuff at boot time.
  86:  */
  87: caddr_t
  88: calloc(size)
  89:     int size;
  90: {
  91:     register caddr_t res;
  92:     register int i;
  93: 
  94:     if (cacur+size >= (caddr_t)&calimit)
  95:         panic("calloc");
  96:     while (cacur+size > camax) {
  97:         (void) vmemall(&camap[cax], CLSIZE, &proc[0], CSYS);
  98:         vmaccess(&camap[cax], camax, CLSIZE);
  99:         for (i = 0; i < CLSIZE; i++)
 100:             clearseg(camap[cax++].pg_pfnum);
 101:         camax += NBPG * CLSIZE;
 102:     }
 103:     res = cacur;
 104:     cacur += size;
 105:     return (res);
 106: }
 107: 
 108: #ifdef GPROF
 109: /*
 110:  * Stub routine in case it is ever possible to free space.
 111:  */
 112: cfreemem(cp, size)
 113:     caddr_t cp;
 114:     int size;
 115: {
 116:     printf("freeing %x, size %d\n", cp, size);
 117: }
 118: #endif
 119: 
 120: #ifndef vax
 121: ffs(mask)
 122:     register long mask;
 123: {
 124:     register int i;
 125: 
 126:     for(i = 1; i < NSIG; i++) {
 127:         if (mask & 1)
 128:             return (i);
 129:         mask >>= 1;
 130:     }
 131:     return (0);
 132: }
 133: 
 134: bcmp(s1, s2, len)
 135:     register char *s1, *s2;
 136:     register int len;
 137: {
 138: 
 139:     while (len--)
 140:         if (*s1++ != *s2++)
 141:             return (1);
 142:     return (0);
 143: }
 144: 
 145: strlen(s1)
 146:     register char *s1;
 147: {
 148:     register int len;
 149: 
 150:     for (len = 0; *s1++ != '\0'; len++)
 151:         /* void */;
 152:     return (len);
 153: }
 154: #endif

Defined functions

calloc defined in line 87; used 7 times
cfreemem defined in line 112; used 3 times
imax defined in line 50; used 6 times
max defined in line 64; never used
min defined in line 56; used 3 times
nodev defined in line 27; used 354 times
nulldev defined in line 37; used 80 times
strlen defined in line 145; used 2 times

Defined variables

cacur defined in line 76; used 4 times
camax defined in line 77; used 3 times
cax defined in line 78; used 3 times
Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1008
Valid CSS Valid XHTML 1.0 Strict