1 /* Locore.c 3.3 06/07/80 */ 2 3 #include "../h/param.h" 4 #include "../h/systm.h" 5 #include "../h/dir.h" 6 #include "../h/user.h" 7 #include "../h/pte.h" 8 #include "../h/vm.h" 9 #include "../h/tty.h" 10 #include "../h/cmap.h" 11 12 /* 13 * Pseudo file for lint to show what is used/defined in locore.s. 14 */ 15 16 int printsw; 17 int coresw; 18 struct cmap *cmap; 19 struct cmap *ecmap; 20 21 lowinit() 22 { 23 extern int (*UNIvec[BSIZE/NBPW])(); 24 25 /* 26 * Pseudo-uses of globals. 27 */ 28 lowinit(); 29 intstack[0] = intstack[1]; 30 Sysmap[0] = Sysmap[1]; 31 maxmem = physmem = freemem = 0; 32 /* should reference _u */ 33 main(0); 34 35 /* 36 * Routines called from interrupt vectors. 37 */ 38 dump(); 39 hpintr(0, 0); 40 htintr(0, 0); 41 (*UNIvec[0])(); 42 printf("error!"); 43 cnrint(0); 44 cnxint(0); 45 clock((caddr_t)0, 0); 46 if (runrun) 47 ; 48 trap(0, 0, (unsigned)0, 0, 0); 49 syscall(0, 0, (unsigned)0, 0, 0); 50 } 51 52 dzdma() 53 { 54 55 dzxint((struct tty *)0); 56 } 57 58 /*ARGSUSED*/ 59 addupc(pc, prof, n) 60 caddr_t pc; 61 struct uprof *prof; 62 { 63 64 } 65 66 /*ARGSUSED*/ 67 fubyte(base) 68 caddr_t base; 69 { 70 71 return (0); 72 } 73 74 /*ARGSUSED*/ 75 fuibyte(base) 76 caddr_t base; 77 { 78 79 return (0); 80 } 81 82 /*ARGSUSED*/ 83 subyte(base, i) 84 caddr_t base; 85 { 86 87 return (0); 88 } 89 90 /*ARGSUSED*/ 91 suibyte(base, i) 92 caddr_t base; 93 { 94 95 return (0); 96 } 97 98 /*ARGSUSED*/ 99 fuword(base) 100 caddr_t base; 101 { 102 103 return (0); 104 } 105 106 /*ARGSUSED*/ 107 fuiword(base) 108 caddr_t base; 109 { 110 111 return (0); 112 } 113 114 /*ARGSUSED*/ 115 suword(base, i) 116 caddr_t base; 117 { 118 119 return (0); 120 } 121 122 /*ARGSUSED*/ 123 suiword(base, i) 124 caddr_t base; 125 { 126 127 return (0); 128 } 129 130 /*ARGSUSED*/ 131 copyin(udaddr, kaddr, n) 132 caddr_t udaddr, kaddr; 133 unsigned n; 134 { 135 136 return (0); 137 } 138 139 /*ARGSUSED*/ 140 copyout(kaddr, udaddr, n) 141 caddr_t kaddr, udaddr; 142 unsigned n; 143 { 144 145 return (0); 146 } 147 148 int whichqs; 149 struct { 150 struct proc *q_forw; 151 struct proc *q_rev; 152 } qs[32]; 153 154 swtch() 155 { 156 157 whichqs = 0; 158 } 159 160 /*ARGSUSED*/ 161 resume(pcbpf) 162 unsigned pcbpf; 163 { 164 165 /*NOTREACHED*/ 166 } 167 168 /*ARGSUSED*/ 169 copyseg(udaddr, pf) 170 caddr_t udaddr; 171 unsigned pf; 172 { 173 174 } 175 176 /*ARGSUSED*/ 177 clearseg(pf) 178 unsigned pf; 179 { 180 181 } 182 183 /*ARGSUSED*/ 184 useracc(udaddr, bcnt, rw) 185 caddr_t udaddr; 186 unsigned bcnt; 187 { 188 189 return (0); 190 } 191 192 /*ARGSUSED*/ 193 kernacc(addr, bcnt, rw) 194 caddr_t addr; 195 unsigned bcnt; 196 { 197 198 return (0); 199 } 200 201 /*ARGSUSED*/ 202 udiv(i, j) 203 int i, j; 204 { 205 206 return (0); 207 } 208 209 #ifdef UNNEEDED 210 /*ARGSUSED*/ 211 urem(i, j) 212 unsigned i, j; 213 { 214 215 return (0); 216 } 217 #endif 218 219 /*VARARGS1*/ 220 /*ARGSUSED*/ 221 mtpr(reg, value) 222 int reg, value; 223 { 224 225 } 226 227 /*ARGSUSED*/ 228 mfpr(reg) 229 int reg; 230 { 231 232 return (0); 233 } 234 235 struct user u; 236 struct user swaputl; 237 struct user forkutl; 238 struct user xswaputl; 239 struct user xswap2utl; 240 struct user pushutl; 241 struct user vfutl; 242 struct user pushutl; 243 244 struct pte usrpt[USRPTSIZE*NPTEPG]; 245 246 struct pte Sysmap[6*NPTEPG]; 247 struct pte Swapmap[UPAGES]; 248 struct pte Forkmap[UPAGES]; 249 struct pte Xswapmap[UPAGES]; 250 struct pte Xswap2map[UPAGES]; 251 struct pte Pushmap[UPAGES]; 252 struct pte Vfmap[UPAGES]; 253 254 struct pte mmap[1]; 255 struct pte mcrmap[1]; 256 char vmmap[NBPG]; 257 int mcr[3]; 258 259 struct pte Usrptmap[USRPTSIZE]; 260 261 char buffers[NBUF][BSIZE]; 262