Browse Source

Plan 9 from Bell Labs 2013-07-12

David du Colombier 10 years ago
parent
commit
be5dcf5e62
4 changed files with 10 additions and 8 deletions
  1. 1 2
      sys/src/9/pc/trap.c
  2. 1 2
      sys/src/9/pcboot/trap.c
  3. 7 2
      sys/src/libc/mips/main9p.s
  4. 1 2
      sys/src/libc/mips/vlrt.c

+ 1 - 2
sys/src/9/pc/trap.c

@@ -155,8 +155,7 @@ trapenable(int vno, void (*f)(Ureg*, void*), void* a, char *name)
 	v->name[KNAMELEN-1] = 0;
 
 	ilock(&vctllock);
-	if(vctl[vno])
-		v->next = vctl[vno]->next;
+	v->next = vctl[vno];
 	vctl[vno] = v;
 	iunlock(&vctllock);
 }

+ 1 - 2
sys/src/9/pcboot/trap.c

@@ -157,8 +157,7 @@ trapenable(int vno, void (*f)(Ureg*, void*), void* a, char *name)
 	v->name[KNAMELEN-1] = 0;
 
 	ilock(&vctllock);
-	if(vctl[vno])
-		v->next = vctl[vno]->next;
+	v->next = vctl[vno];
 	vctl[vno] = v;
 	iunlock(&vctllock);
 }

+ 7 - 2
sys/src/libc/mips/main9p.s

@@ -3,6 +3,7 @@
 TEXT	_mainp(SB), 1, $(16 + NPRIVATES*4)
 
 	MOVW	$setR30(SB), R30
+	/* _tos = arg */
 	MOVW	R1, _tos(SB)
 
 	MOVW	$p-64(SP), R1
@@ -10,9 +11,13 @@ TEXT	_mainp(SB), 1, $(16 + NPRIVATES*4)
 	MOVW	$NPRIVATES, R1
 	MOVW	R1, _nprivates(SB)
 
+	/* _profmain(); */
 	JAL	_profmain(SB)
-	MOVW	__prof+4(SB), R1
-	MOVW	R1, __prof+0(SB)
+	/* _tos->prof.pp = _tos->prof.next; */
+	MOVW	_tos(SB), R1
+	MOVW	4(R1), R2
+	MOVW	R2, 0(R1)
+	/* main(argc, argv); */
 	MOVW	inargc-4(FP), R1
 	MOVW	$inargv+0(FP), R2
 	MOVW	R1, 4(R29)

+ 1 - 2
sys/src/libc/mips/vlrt.c

@@ -30,6 +30,7 @@ void	abort(void);
 
 /* needed by profiler; can't be profiled. */
 #pragma profile off
+
 void
 _addv(Vlong *r, Vlong a, Vlong b)
 {
@@ -56,8 +57,6 @@ _subv(Vlong *r, Vlong a, Vlong b)
 	r->hi = hi;
 }
 
-#pragma profile on
-
 void
 _d2v(Vlong *y, double d)
 {