Browse Source

Plan 9 from Bell Labs 2005-08-17

David du Colombier 18 years ago
parent
commit
c81c79d69b

+ 14 - 14
dist/replica/_plan9.db

@@ -9120,18 +9120,18 @@ sys/src/cmd/5c/sgen.c - 664 sys sys 1089299174 9114
 sys/src/cmd/5c/swt.c - 664 sys sys 1098463320 12888
 sys/src/cmd/5c/txt.c - 664 sys sys 1089299173 19028
 sys/src/cmd/5i - 20000000775 sys sys 984756705 0
-sys/src/cmd/5i/5i.c - 664 sys sys 1091732882 4886
-sys/src/cmd/5i/arm.h - 664 sys sys 1014924773 4102
+sys/src/cmd/5i/5i.c - 664 sys sys 1124229121 4415
+sys/src/cmd/5i/arm.h - 664 sys sys 1124229121 3901
 sys/src/cmd/5i/bpt.c - 664 sys sys 969510413 2193
 sys/src/cmd/5i/cmd.c - 664 sys sys 969510414 8887
 sys/src/cmd/5i/float.c - 664 sys sys 969510414 2663
 sys/src/cmd/5i/icache.c - 664 sys sys 969510414 161
 sys/src/cmd/5i/mem.c - 664 sys sys 969510414 4100
-sys/src/cmd/5i/mkfile - 664 sys sys 944960726 214
+sys/src/cmd/5i/mkfile - 664 sys sys 1124229121 265
 sys/src/cmd/5i/run.c - 664 sys sys 1014924773 18578
 sys/src/cmd/5i/stats.c - 664 sys sys 1067739537 3943
 sys/src/cmd/5i/symbols.c - 664 sys sys 1121977746 1724
-sys/src/cmd/5i/syscall.c - 664 sys sys 1014924773 13668
+sys/src/cmd/5i/syscall.c - 664 sys sys 1124229122 13686
 sys/src/cmd/5l - 20000000775 sys sys 1014936039 0
 sys/src/cmd/5l/asm.c - 664 sys sys 1089299173 32633
 sys/src/cmd/5l/compat.c - 664 sys sys 946759353 465
@@ -12092,14 +12092,14 @@ sys/src/cmd/ki/bpt.c - 664 sys sys 944961014 2247
 sys/src/cmd/ki/cmd.c - 664 sys sys 944961015 8936
 sys/src/cmd/ki/float.c - 664 sys sys 944961014 7319
 sys/src/cmd/ki/icache.c - 664 sys sys 944961014 185
-sys/src/cmd/ki/ki.c - 664 sys sys 1014925952 8413
+sys/src/cmd/ki/ki.c - 664 sys sys 1124229139 8476
 sys/src/cmd/ki/mem.c - 664 sys sys 944961015 3832
-sys/src/cmd/ki/mkfile - 664 sys sys 1068859845 245
+sys/src/cmd/ki/mkfile - 664 sys sys 1124229139 278
 sys/src/cmd/ki/run.c - 664 sys sys 944961015 22231
 sys/src/cmd/ki/sparc.h - 664 sys sys 944961015 4419
 sys/src/cmd/ki/stats.c - 664 sys sys 1068859845 4536
 sys/src/cmd/ki/symbols.c - 664 sys sys 1121977746 1745
-sys/src/cmd/ki/syscall.c - 664 sys sys 1076688578 14057
+sys/src/cmd/ki/syscall.c - 664 sys sys 1124229139 14075
 sys/src/cmd/kl - 20000000775 sys sys 944961016 0
 sys/src/cmd/kl/asm.c - 664 sys sys 1105798985 26122
 sys/src/cmd/kl/compat.c - 664 sys sys 947099591 465
@@ -12641,13 +12641,13 @@ sys/src/cmd/qi/float.c - 664 sys sys 1076688568 12703
 sys/src/cmd/qi/icache.c - 664 sys sys 1076688569 185
 sys/src/cmd/qi/iu.c - 664 sys sys 1076688569 32978
 sys/src/cmd/qi/mem.c - 664 sys sys 1076688569 4429
-sys/src/cmd/qi/mkfile - 664 sys sys 1076688569 214
+sys/src/cmd/qi/mkfile - 664 sys sys 1124229161 298
 sys/src/cmd/qi/power.h - 664 sys sys 1076688569 6854
-sys/src/cmd/qi/qi.c - 664 sys sys 1076688569 7804
+sys/src/cmd/qi/qi.c - 664 sys sys 1124229161 7867
 sys/src/cmd/qi/run.c - 664 sys sys 1076688569 4173
 sys/src/cmd/qi/stats.c - 664 sys sys 1076688569 4338
 sys/src/cmd/qi/symbols.c - 664 sys sys 1121978130 1742
-sys/src/cmd/qi/syscall.c - 664 sys sys 1076688569 14402
+sys/src/cmd/qi/syscall.c - 664 sys sys 1124229161 14420
 sys/src/cmd/qi/timing - 664 sys sys 1076688570 641
 sys/src/cmd/ql - 20000000775 sys sys 954037972 0
 sys/src/cmd/ql/asm.c - 664 sys sys 1089299167 13059
@@ -13554,14 +13554,14 @@ sys/src/cmd/vi/cmd.c - 664 sys sys 944961342 9150
 sys/src/cmd/vi/float.c - 664 sys sys 944961341 12758
 sys/src/cmd/vi/icache.c - 664 sys sys 944961342 184
 sys/src/cmd/vi/mem.c - 664 sys sys 944961342 4234
-sys/src/cmd/vi/mips.h - 664 sys sys 944961342 4837
-sys/src/cmd/vi/mkfile - 664 sys sys 944961342 206
+sys/src/cmd/vi/mips.h - 664 sys sys 1124229127 4836
+sys/src/cmd/vi/mkfile - 664 sys sys 1124229127 289
 sys/src/cmd/vi/run.c - 664 sys sys 1014926560 13214
 sys/src/cmd/vi/special.c - 664 sys sys 944961342 6723
 sys/src/cmd/vi/stats.c - 664 sys sys 1067746789 5386
 sys/src/cmd/vi/symbols.c - 664 sys sys 1121977746 1744
-sys/src/cmd/vi/syscall.c - 664 sys sys 1076688599 14165
-sys/src/cmd/vi/vi.c - 664 sys sys 1091733072 8926
+sys/src/cmd/vi/syscall.c - 664 sys sys 1124229128 14183
+sys/src/cmd/vi/vi.c - 664 sys sys 1124229128 8989
 sys/src/cmd/vl - 20000000775 sys sys 944961343 0
 sys/src/cmd/vl/asm.c - 664 sys sys 1055699754 30723
 sys/src/cmd/vl/compat.c - 664 sys sys 944961343 445

+ 14 - 14
dist/replica/plan9.db

@@ -9120,18 +9120,18 @@ sys/src/cmd/5c/sgen.c - 664 sys sys 1089299174 9114
 sys/src/cmd/5c/swt.c - 664 sys sys 1098463320 12888
 sys/src/cmd/5c/txt.c - 664 sys sys 1089299173 19028
 sys/src/cmd/5i - 20000000775 sys sys 984756705 0
-sys/src/cmd/5i/5i.c - 664 sys sys 1091732882 4886
-sys/src/cmd/5i/arm.h - 664 sys sys 1014924773 4102
+sys/src/cmd/5i/5i.c - 664 sys sys 1124229121 4415
+sys/src/cmd/5i/arm.h - 664 sys sys 1124229121 3901
 sys/src/cmd/5i/bpt.c - 664 sys sys 969510413 2193
 sys/src/cmd/5i/cmd.c - 664 sys sys 969510414 8887
 sys/src/cmd/5i/float.c - 664 sys sys 969510414 2663
 sys/src/cmd/5i/icache.c - 664 sys sys 969510414 161
 sys/src/cmd/5i/mem.c - 664 sys sys 969510414 4100
-sys/src/cmd/5i/mkfile - 664 sys sys 944960726 214
+sys/src/cmd/5i/mkfile - 664 sys sys 1124229121 265
 sys/src/cmd/5i/run.c - 664 sys sys 1014924773 18578
 sys/src/cmd/5i/stats.c - 664 sys sys 1067739537 3943
 sys/src/cmd/5i/symbols.c - 664 sys sys 1121977746 1724
-sys/src/cmd/5i/syscall.c - 664 sys sys 1014924773 13668
+sys/src/cmd/5i/syscall.c - 664 sys sys 1124229122 13686
 sys/src/cmd/5l - 20000000775 sys sys 1014936039 0
 sys/src/cmd/5l/asm.c - 664 sys sys 1089299173 32633
 sys/src/cmd/5l/compat.c - 664 sys sys 946759353 465
@@ -12092,14 +12092,14 @@ sys/src/cmd/ki/bpt.c - 664 sys sys 944961014 2247
 sys/src/cmd/ki/cmd.c - 664 sys sys 944961015 8936
 sys/src/cmd/ki/float.c - 664 sys sys 944961014 7319
 sys/src/cmd/ki/icache.c - 664 sys sys 944961014 185
-sys/src/cmd/ki/ki.c - 664 sys sys 1014925952 8413
+sys/src/cmd/ki/ki.c - 664 sys sys 1124229139 8476
 sys/src/cmd/ki/mem.c - 664 sys sys 944961015 3832
-sys/src/cmd/ki/mkfile - 664 sys sys 1068859845 245
+sys/src/cmd/ki/mkfile - 664 sys sys 1124229139 278
 sys/src/cmd/ki/run.c - 664 sys sys 944961015 22231
 sys/src/cmd/ki/sparc.h - 664 sys sys 944961015 4419
 sys/src/cmd/ki/stats.c - 664 sys sys 1068859845 4536
 sys/src/cmd/ki/symbols.c - 664 sys sys 1121977746 1745
-sys/src/cmd/ki/syscall.c - 664 sys sys 1076688578 14057
+sys/src/cmd/ki/syscall.c - 664 sys sys 1124229139 14075
 sys/src/cmd/kl - 20000000775 sys sys 944961016 0
 sys/src/cmd/kl/asm.c - 664 sys sys 1105798985 26122
 sys/src/cmd/kl/compat.c - 664 sys sys 947099591 465
@@ -12641,13 +12641,13 @@ sys/src/cmd/qi/float.c - 664 sys sys 1076688568 12703
 sys/src/cmd/qi/icache.c - 664 sys sys 1076688569 185
 sys/src/cmd/qi/iu.c - 664 sys sys 1076688569 32978
 sys/src/cmd/qi/mem.c - 664 sys sys 1076688569 4429
-sys/src/cmd/qi/mkfile - 664 sys sys 1076688569 214
+sys/src/cmd/qi/mkfile - 664 sys sys 1124229161 298
 sys/src/cmd/qi/power.h - 664 sys sys 1076688569 6854
-sys/src/cmd/qi/qi.c - 664 sys sys 1076688569 7804
+sys/src/cmd/qi/qi.c - 664 sys sys 1124229161 7867
 sys/src/cmd/qi/run.c - 664 sys sys 1076688569 4173
 sys/src/cmd/qi/stats.c - 664 sys sys 1076688569 4338
 sys/src/cmd/qi/symbols.c - 664 sys sys 1121978130 1742
-sys/src/cmd/qi/syscall.c - 664 sys sys 1076688569 14402
+sys/src/cmd/qi/syscall.c - 664 sys sys 1124229161 14420
 sys/src/cmd/qi/timing - 664 sys sys 1076688570 641
 sys/src/cmd/ql - 20000000775 sys sys 954037972 0
 sys/src/cmd/ql/asm.c - 664 sys sys 1089299167 13059
@@ -13554,14 +13554,14 @@ sys/src/cmd/vi/cmd.c - 664 sys sys 944961342 9150
 sys/src/cmd/vi/float.c - 664 sys sys 944961341 12758
 sys/src/cmd/vi/icache.c - 664 sys sys 944961342 184
 sys/src/cmd/vi/mem.c - 664 sys sys 944961342 4234
-sys/src/cmd/vi/mips.h - 664 sys sys 944961342 4837
-sys/src/cmd/vi/mkfile - 664 sys sys 944961342 206
+sys/src/cmd/vi/mips.h - 664 sys sys 1124229127 4836
+sys/src/cmd/vi/mkfile - 664 sys sys 1124229127 289
 sys/src/cmd/vi/run.c - 664 sys sys 1014926560 13214
 sys/src/cmd/vi/special.c - 664 sys sys 944961342 6723
 sys/src/cmd/vi/stats.c - 664 sys sys 1067746789 5386
 sys/src/cmd/vi/symbols.c - 664 sys sys 1121977746 1744
-sys/src/cmd/vi/syscall.c - 664 sys sys 1076688599 14165
-sys/src/cmd/vi/vi.c - 664 sys sys 1091733072 8926
+sys/src/cmd/vi/syscall.c - 664 sys sys 1124229128 14183
+sys/src/cmd/vi/vi.c - 664 sys sys 1124229128 8989
 sys/src/cmd/vl - 20000000775 sys sys 944961343 0
 sys/src/cmd/vl/asm.c - 664 sys sys 1055699754 30723
 sys/src/cmd/vl/compat.c - 664 sys sys 944961343 445

+ 14 - 0
dist/replica/plan9.log

@@ -20793,3 +20793,17 @@
 1124118112 0 a sys/lib/kbmap/dvorak - 664 sys sys 1124117871 1588
 1124118112 1 a sys/lib/kbmap/dvorakl - 664 sys sys 1124117871 1945
 1124118112 2 a sys/lib/kbmap/dvorakr - 664 sys sys 1124117871 1869
+1124229739 0 c sys/src/cmd/5i/5i.c - 664 sys sys 1124229121 4415
+1124229739 1 c sys/src/cmd/5i/arm.h - 664 sys sys 1124229121 3901
+1124229739 2 c sys/src/cmd/5i/mkfile - 664 sys sys 1124229121 265
+1124229739 3 c sys/src/cmd/5i/syscall.c - 664 sys sys 1124229122 13686
+1124229739 4 c sys/src/cmd/ki/ki.c - 664 sys sys 1124229139 8476
+1124229739 5 c sys/src/cmd/ki/mkfile - 664 sys sys 1124229139 278
+1124229739 6 c sys/src/cmd/ki/syscall.c - 664 sys sys 1124229139 14075
+1124229739 7 c sys/src/cmd/vi/mips.h - 664 sys sys 1124229127 4836
+1124229739 8 c sys/src/cmd/vi/mkfile - 664 sys sys 1124229127 289
+1124229739 9 c sys/src/cmd/vi/syscall.c - 664 sys sys 1124229128 14183
+1124229739 10 c sys/src/cmd/vi/vi.c - 664 sys sys 1124229128 8989
+1124229739 11 c sys/src/cmd/qi/mkfile - 664 sys sys 1124229161 298
+1124229739 12 c sys/src/cmd/qi/qi.c - 664 sys sys 1124229161 7867
+1124229739 13 c sys/src/cmd/qi/syscall.c - 664 sys sys 1124229161 14420

+ 5 - 40
sys/src/cmd/5i/5i.c

@@ -58,7 +58,7 @@ initmap()
 	s->end = t;
 	s->fileoff = fhdr.txtoff - fhdr.hdrsz;
 	s->fileend = s->fileoff + fhdr.txtsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	iprof = emalloc(((s->end-s->base)/PROFGRAN)*sizeof(long));
 	textbase = s->base;
@@ -70,19 +70,19 @@ initmap()
 	s->fileoff = fhdr.datoff;
 	s->fileend = s->fileoff + fhdr.datsz;
 	datasize = fhdr.datsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Bss];
 	s->type = Bss;
 	s->base = d;
 	s->end = d+(b-d);
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Stack];
 	s->type = Stack;
 	s->base = STACKTOP-STACKSIZE;
 	s->end = STACKTOP;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	reg.r[REGPC] = fhdr.entry;
 }
@@ -110,41 +110,6 @@ inithdr(int fd)
 	machdata = &armmach;
 }
 
-ulong
-greg(int f, ulong off)
-{
-	int n;
-	ulong l;
-	uchar wd[BY2WD];
-	
-	seek(f, off, 0);
-	n = read(f, wd, BY2WD);
-	if(n != BY2WD)
-		fatal(1, "read register");
-
-	l  = wd[0]<<24;
-	l |= wd[1]<<16;
-	l |= wd[2]<<8;
-	l |= wd[3];
-	return l;
-}
-
-void
-seginit(int fd, Segment *s, int idx, ulong vastart, ulong vaend)
-{
-	int n;
-
-	while(vastart < vaend) {
-		seek(fd, vastart, 0);
-		s->table[idx] = emalloc(BY2PG);
-		n = read(fd, s->table[idx], BY2PG);
-		if(n != BY2PG)
-			fatal(1, "data read");
-		vastart += BY2PG;
-		idx++;
-	}
-}
-
 void
 reset(void)
 {
@@ -156,7 +121,7 @@ reset(void)
 
 	for(i = 0; i > Nseg; i++) {
 		s = &memory.seg[i];
-		l = ((s->end-s->base)/BY2PG)*BY2WD;
+		l = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		for(m = 0; m < l; m++)
 			if(s->table[m])
 				free(s->table[m]);

+ 1 - 7
sys/src/cmd/5i/arm.h

@@ -1,12 +1,6 @@
 /*
- * mipsim.h
+ * arm.h
  */
-#include "/mips/include/ureg.h"
-#define	USERADDR	0xC0000000
-#define	UREGADDR	(USERADDR+BY2PG-4-0xA0)
-#define USER_REG(x)	(UREGADDR+(ulong)(x))
-#define	REGOFF(x)	(USER_REG(&((struct Ureg *) 0)->x))
-
 #ifndef	EXTERN
 #define	EXTERN	extern
 #endif

+ 6 - 0
sys/src/cmd/5i/mkfile

@@ -14,6 +14,12 @@ OFILES=	5i.$O\
 HFILES=arm.h\
 
 BIN=/$objtype/bin
+
+UPDATE=\
+	mkfile\
+	$HFILES\
+	${OFILES:%.$O=%.c}\
+
 </sys/src/cmd/mkone
 
 acid:	

+ 2 - 2
sys/src/cmd/5i/syscall.c

@@ -576,10 +576,10 @@ sysbrk_(void)
 	}
 	s = &memory.seg[Bss];
 	if(addr > s->end) {
-		osize = ((s->end-s->base)/BY2PG)*BY2WD;
+		osize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		addr = ((addr)+(BY2PG-1))&~(BY2PG-1);
 		s->end = addr;
-		nsize = ((s->end-s->base)/BY2PG)*BY2WD;
+		nsize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		s->table = erealloc(s->table, osize, nsize);
 	}	
 

+ 7 - 7
sys/src/cmd/ki/ki.c

@@ -68,7 +68,7 @@ initmap(void)
 	s->end = t;
 	s->fileoff = fhdr.txtoff - fhdr.hdrsz;
 	s->fileend = s->fileoff + fhdr.txtsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	iprof = emalloc(((s->end-s->base)/PROFGRAN)*sizeof(long));
 	textbase = s->base;
@@ -80,19 +80,19 @@ initmap(void)
 	s->fileoff = fhdr.datoff;
 	s->fileend = s->fileoff + fhdr.datsz;
 	datasize = fhdr.datsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Bss];
 	s->type = Bss;
 	s->base = d;
 	s->end = d+(b-d);
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Stack];
 	s->type = Stack;
 	s->base = STACKTOP-STACKSIZE;
 	s->end = STACKTOP;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	reg.pc = fhdr.entry;
 }
@@ -213,7 +213,7 @@ procinit(int pid)
 		s->base = vastart;
 		s->end = vaend;
 		free(s->table);
-		s->table = malloc(((s->end-s->base)/BY2PG)*BY2WD);
+		s->table = malloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 	}
 	seginit(m, s, 0, vastart, vaend);
 	
@@ -228,7 +228,7 @@ procinit(int pid)
 		s->base = vastart;
 		s->end = vaend;
 		free(s->table);
-		s->table = malloc(((s->end-s->base)/BY2PG)*BY2WD);
+		s->table = malloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 	}
 	seginit(m, s, 0, vastart, vaend);
 
@@ -261,7 +261,7 @@ reset(void)
 	reg.fd[15] = 2.0;
 	for(i = 0; i > Nseg; i++) {
 		s = &memory.seg[i];
-		l = ((s->end-s->base)/BY2PG)*BY2WD;
+		l = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		for(m = 0; m < l; m++)
 			if(s->table[m])
 				free(s->table[m]);

+ 3 - 0
sys/src/cmd/ki/mkfile

@@ -22,3 +22,6 @@ UPDATE=\
 	${OFILES:%.$O=%.c}\
 
 </sys/src/cmd/mkone
+
+acid:	
+	$CC -a run.c > acid.def

+ 2 - 2
sys/src/cmd/ki/syscall.c

@@ -585,10 +585,10 @@ sysbrk_(void)
 	}
 	s = &memory.seg[Bss];
 	if(addr > s->end) {
-		osize = ((s->end-s->base)/BY2PG)*BY2WD;
+		osize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		addr = ((addr)+(BY2PG-1))&~(BY2PG-1);
 		s->end = addr;
-		nsize = ((s->end-s->base)/BY2PG)*BY2WD;
+		nsize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		s->table = erealloc(s->table, osize, nsize);
 	}	
 

+ 9 - 0
sys/src/cmd/qi/mkfile

@@ -17,4 +17,13 @@ OFILES= qi.$O\
 HFILES=power.h\
 
 BIN=/$objtype/bin
+
+UPDATE=\
+	mkfile\
+	$HFILES\
+	${OFILES:%.$O=%.c}\
+
 </sys/src/cmd/mkone
+
+acid:	
+	$CC -a run.c > acid.def

+ 7 - 7
sys/src/cmd/qi/qi.c

@@ -73,7 +73,7 @@ initmap(void)
 	s->end = t;
 	s->fileoff = fhdr.txtoff - fhdr.hdrsz;
 	s->fileend = s->fileoff + fhdr.txtsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	iprofsize = (s->end-s->base)/PROFGRAN;
 	iprof = emalloc(iprofsize*sizeof(long));
@@ -86,19 +86,19 @@ initmap(void)
 	s->fileoff = fhdr.datoff;
 	s->fileend = s->fileoff + fhdr.datsz;
 	datasize = fhdr.datsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Bss];
 	s->type = Bss;
 	s->base = d;
 	s->end = d+(b-d);
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Stack];
 	s->type = Stack;
 	s->base = STACKTOP-STACKSIZE;
 	s->end = STACKTOP;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	reg.pc = fhdr.entry;
 }
@@ -220,7 +220,7 @@ procinit(int pid)
 		s->base = vastart;
 		s->end = vaend;
 		free(s->table);
-		s->table = malloc(((s->end-s->base)/BY2PG)*BY2WD);
+		s->table = malloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 	}
 	seginit(m, s, 0, vastart, vaend);
 	
@@ -235,7 +235,7 @@ procinit(int pid)
 		s->base = vastart;
 		s->end = vaend;
 		free(s->table);
-		s->table = malloc(((s->end-s->base)/BY2PG)*BY2WD);
+		s->table = malloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 	}
 	seginit(m, s, 0, vastart, vaend);
 
@@ -270,7 +270,7 @@ reset(void)
 	reg.fd[31] = 2.0;
 	for(i = 0; i > Nseg; i++) {
 		s = &memory.seg[i];
-		l = ((s->end-s->base)/BY2PG)*BY2WD;
+		l = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		for(m = 0; m < l; m++)
 			if(s->table[m])
 				free(s->table[m]);

+ 2 - 2
sys/src/cmd/qi/syscall.c

@@ -595,10 +595,10 @@ sysbrk_(void)
 	}
 	s = &memory.seg[Bss];
 	if(addr > s->end) {
-		osize = ((s->end-s->base)/BY2PG)*BY2WD;
+		osize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		addr = ((addr)+(BY2PG-1))&~(BY2PG-1);
 		s->end = addr;
-		nsize = ((s->end-s->base)/BY2PG)*BY2WD;
+		nsize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		s->table = erealloc(s->table, osize, nsize);
 	}	
 

+ 1 - 1
sys/src/cmd/vi/mips.h

@@ -209,7 +209,7 @@ Extern		int trace;
 Extern 		int sysdbg;
 Extern 		int calltree;
 Extern		Inst itab[];
-Extern  	Inst ispec[];
+Extern		Inst ispec[];
 Extern		Icache icache;
 Extern		Tlb tlb;
 Extern		int count;

+ 8 - 0
sys/src/cmd/vi/mkfile

@@ -16,5 +16,13 @@ OFILES=vi.$O\
 HFILES=mips.h\
 
 BIN=/$objtype/bin
+
+UPDATE=\
+	mkfile\
+	$HFILES\
+	${OFILES:%.$O=%.c}\
+
 </sys/src/cmd/mkone
 
+acid:	
+	$CC -a run.c > acid.def

+ 2 - 2
sys/src/cmd/vi/syscall.c

@@ -585,10 +585,10 @@ sysbrk_(void)
 	}
 	s = &memory.seg[Bss];
 	if(addr > s->end) {
-		osize = ((s->end-s->base)/BY2PG)*BY2WD;
+		osize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		addr = ((addr)+(BY2PG-1))&~(BY2PG-1);
 		s->end = addr;
-		nsize = ((s->end-s->base)/BY2PG)*BY2WD;
+		nsize = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		s->table = erealloc(s->table, osize, nsize);
 	}	
 

+ 7 - 7
sys/src/cmd/vi/vi.c

@@ -74,7 +74,7 @@ initmap()
 	s->end = t;
 	s->fileoff = fhdr.txtoff - fhdr.hdrsz;
 	s->fileend = s->fileoff + fhdr.txtsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	iprof = emalloc(((s->end-s->base)/PROFGRAN)*sizeof(long));
 	textbase = s->base;
@@ -86,19 +86,19 @@ initmap()
 	s->fileoff = fhdr.datoff;
 	s->fileend = s->fileoff + fhdr.datsz;
 	datasize = fhdr.datsz;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Bss];
 	s->type = Bss;
 	s->base = d;
 	s->end = d+(b-d);
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	s = &memory.seg[Stack];
 	s->type = Stack;
 	s->base = STACKTOP-STACKSIZE;
 	s->end = STACKTOP;
-	s->table = emalloc(((s->end-s->base)/BY2PG)*BY2WD);
+	s->table = emalloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 
 	reg.pc = fhdr.entry;
 }
@@ -218,7 +218,7 @@ procinit(int pid)
 		s->base = vastart;
 		s->end = vaend;
 		free(s->table);
-		s->table = malloc(((s->end-s->base)/BY2PG)*BY2WD);
+		s->table = malloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 	}
 	seginit(m, s, 0, vastart, vaend);
 	
@@ -233,7 +233,7 @@ procinit(int pid)
 		s->base = vastart;
 		s->end = vaend;
 		free(s->table);
-		s->table = malloc(((s->end-s->base)/BY2PG)*BY2WD);
+		s->table = malloc(((s->end-s->base)/BY2PG)*sizeof(uchar*));
 	}
 	seginit(m, s, 0, vastart, vaend);
 
@@ -274,7 +274,7 @@ reset(void)
 
 	for(i = 0; i > Nseg; i++) {
 		s = &memory.seg[i];
-		l = ((s->end-s->base)/BY2PG)*BY2WD;
+		l = ((s->end-s->base)/BY2PG)*sizeof(uchar*);
 		for(m = 0; m < l; m++)
 			if(s->table[m])
 				free(s->table[m]);