Browse Source

Plan 9 from Bell Labs 2009-06-02

David du Colombier 15 years ago
parent
commit
03ad903809

+ 1 - 1
sys/src/9/alphapc/trap.c

@@ -64,7 +64,7 @@ intrenable(int irq, void (*f)(Ureg*, void*), void* a, int tbdf, char *name)
 	}
 	if(vctl[vno]){
 		if(vctl[vno]->isr != v->isr || vctl[vno]->eoi != v->eoi)
-			panic("intrenable: handler: %s %s %luX %luX %luX %luX\n",
+			panic("intrenable: handler: %s %s %#p %#p %#p %#p",
 				vctl[vno]->name, v->name,
 				vctl[vno]->isr, v->isr, vctl[vno]->eoi, v->eoi);
 		v->next = vctl[vno];

+ 8 - 8
sys/src/9/bitsy/trap.c

@@ -295,7 +295,7 @@ faultarm(Ureg *ureg, ulong va, int user, int read)
 
 	if (up == nil) {
 		warnregs(ureg, "kernel fault");
-		panic("fault: nil up in faultarm, accessing 0x%lux\n", va);
+		panic("fault: nil up in faultarm, accessing 0x%lux", va);
 	}
 	insyscall = up->insyscall;
 	up->insyscall = 1;
@@ -303,7 +303,7 @@ faultarm(Ureg *ureg, ulong va, int user, int read)
 	if(n < 0){
 		if(!user){
 			warnregs(ureg, "kernel fault");
-			panic("fault: kernel accessing 0x%lux\n", va);
+			panic("fault: kernel accessing 0x%lux", va);
 		}
 //		warnregs(ureg, "user fault");
 		sprint(buf, "sys: trap: fault %s va=0x%lux", read ? "read" : "write", va);
@@ -348,7 +348,7 @@ trap(Ureg *ureg)
 		rem = ((char*)ureg)-((char*)(MACHADDR+sizeof(Mach)));
 	if(rem < 256) {
 		dumpstack();
-		panic("trap %d bytes remaining, up = 0x%lux, ureg = 0x%lux, at pc 0x%lux",
+		panic("trap %d bytes remaining, up = %#p, ureg = %#p, at pc 0x%lux",
 			rem, up, ureg, ureg->pc);
 	}
 
@@ -380,7 +380,7 @@ trap(Ureg *ureg)
 		fsr = getfsr() & 0xf;
 		switch(fsr){
 		case 0x0:
-			panic("vector exception at %lux\n", ureg->pc);
+			panic("vector exception at %lux", ureg->pc);
 			break;
 		case 0x1:
 		case 0x3:
@@ -392,7 +392,7 @@ trap(Ureg *ureg)
 				panic("kernel alignment: pc 0x%lux va 0x%lux", ureg->pc, va);
 			break;
 		case 0x2:
-			panic("terminal exception at %lux\n", ureg->pc);
+			panic("terminal exception at %lux", ureg->pc);
 			break;
 		case 0x4:
 		case 0x6:
@@ -400,7 +400,7 @@ trap(Ureg *ureg)
 		case 0xa:
 		case 0xc:
 		case 0xe:
-			panic("external abort 0x%lux pc 0x%lux addr 0x%lux\n", fsr, ureg->pc, va);
+			panic("external abort 0x%lux pc 0x%lux addr 0x%lux", fsr, ureg->pc, va);
 			break;
 		case 0x5:
 		case 0x7:
@@ -415,7 +415,7 @@ trap(Ureg *ureg)
 					ureg->pc, va);
 				postnote(up, 1, buf, NDebug);
 			} else
-				panic("kernel access violation: pc 0x%lux va 0x%lux\n",
+				panic("kernel access violation: pc 0x%lux va 0x%lux",
 					ureg->pc, va);
 			break;
 		case 0xd:
@@ -528,7 +528,7 @@ syscall(Ureg* ureg)
 	int	i, scallnr;
 
 	if((ureg->psr & PsrMask) != PsrMusr) {
-		panic("syscall: pc 0x%lux r14 0x%lux cs 0x%lux\n", ureg->pc, ureg->r14, ureg->psr);
+		panic("syscall: pc 0x%lux r14 0x%lux cs 0x%lux", ureg->pc, ureg->r14, ureg->psr);
 	}
 
 	m->syscall++;

+ 3 - 3
sys/src/9/mtx/trap.c

@@ -111,7 +111,7 @@ intrenable(int irq, void (*f)(Ureg*, void*), void* a, int tbdf, char *name)
 	}
 	if(vctl[vno]){
 		if(vctl[vno]->isr != v->isr || vctl[vno]->eoi != v->eoi)
-			panic("intrenable: handler: %s %s %luX %luX %luX %luX\n",
+			panic("intrenable: handler: %s %s %#p %#p %#p %#p",
 				vctl[vno]->name, v->name,
 				vctl[vno]->isr, v->isr, vctl[vno]->eoi, v->eoi);
 		v->next = vctl[vno];
@@ -232,7 +232,7 @@ trap(Ureg *ureg)
 		break;
 	case CSYSCALL:
 		if(!user)
-			panic("syscall in kernel: srr1 0x%4.4luX\n", ureg->srr1);
+			panic("syscall in kernel: srr1 0x%4.4luX", ureg->srr1);
 		syscall(ureg);
 		return;		/* syscall() calls notify itself, don't do it again */
 	case CFPU:
@@ -292,7 +292,7 @@ trap(Ureg *ureg)
 		dumpregs(ureg);
 		if(ecode < nelem(excname))
 			panic("%s", excname[ecode]);
-		panic("unknown trap/intr: %d\n", ecode);
+		panic("unknown trap/intr: %d", ecode);
 	}
 
 	/* restoreureg must execute at high IPL */

+ 1 - 1
sys/src/9/pc/devether.c

@@ -458,7 +458,7 @@ etherprobe(int cardno, int ctlrno)
 		ether->limit = bsz;
 	}
 	if(ether->oq == nil)
-		panic("etherreset %s: can't allocate output queue of %d bytes",
+		panic("etherreset %s: can't allocate output queue of %ld bytes",
 			name, bsz);
 	ether->alen = Eaddrlen;
 	memmove(ether->addr, ether->ea, Eaddrlen);

+ 1 - 1
sys/src/9/pc/devusb.c

@@ -1298,7 +1298,7 @@ epctl(Ep *ep, Chan *c, void *a, long n)
 		kstrdup(&ep->name, cb->f[1]);
 		break;
 	default:
-		panic("usb: unknown epctl %d\n", ct->index);
+		panic("usb: unknown epctl %d", ct->index);
 	}
 	free(cb);
 	poperror();

+ 5 - 5
sys/src/9/pc/mmu.c

@@ -334,9 +334,9 @@ mmurelease(Proc* proc)
 		if(proc->mmupdb == nil)
 			panic("mmurelease: no mmupdb");
 		if(--proc->kmaptable->ref)
-			panic("mmurelease: kmap ref %d\n", proc->kmaptable->ref);
+			panic("mmurelease: kmap ref %d", proc->kmaptable->ref);
 		if(proc->nkmap)
-			panic("mmurelease: nkmap %d\n", proc->nkmap);
+			panic("mmurelease: nkmap %d", proc->nkmap);
 		/*
 		 * remove kmaptable from pdb before putting pdb up for reuse.
 		 */
@@ -360,7 +360,7 @@ mmurelease(Proc* proc)
 	for(page = proc->mmufree; page; page = next){
 		next = page->next;
 		if(--page->ref)
-			panic("mmurelease: page->ref %d\n", page->ref);
+			panic("mmurelease: page->ref %d", page->ref);
 		pagechainhead(page);
 	}
 	if(proc->mmufree && palloc.r.p)
@@ -500,7 +500,7 @@ mmuwalk(ulong* pdb, ulong va, int level, int create)
 
 	case 2:
 		if(*table & PTESIZE)
-			panic("mmuwalk2: va %luX entry %luX\n", va, *table);
+			panic("mmuwalk2: va %luX entry %luX", va, *table);
 		if(!(*table & PTEVALID)){
 			/*
 			 * Have to call low-level allocator from
@@ -645,7 +645,7 @@ vunmap(void *v, int size)
 	size = ROUND(size, BY2PG);
 	
 	if(size < 0 || va < VMAP || va+size > VMAP+VMAPSIZE)
-		panic("vunmap va=%#.8lux size=%#x pc=%#.8lux\n",
+		panic("vunmap va=%#.8lux size=%#x pc=%#.8lux",
 			va, size, getcallerpc(&va));
 
 	pdbunmap(MACHP(0)->pdb, va, size);

+ 5 - 5
sys/src/9/pc/trap.c

@@ -60,7 +60,7 @@ intrenable(int irq, void (*f)(Ureg*, void*), void* a, int tbdf, char *name)
 	}
 	if(vctl[vno]){
 		if(vctl[vno]->isr != v->isr || vctl[vno]->eoi != v->eoi)
-			panic("intrenable: handler: %s %s %luX %luX %luX %luX\n",
+			panic("intrenable: handler: %s %s %#p %#p %#p %#p",
 				vctl[vno]->name, v->name,
 				vctl[vno]->isr, v->isr, vctl[vno]->eoi, v->eoi);
 		v->next = vctl[vno];
@@ -146,7 +146,7 @@ trapenable(int vno, void (*f)(Ureg*, void*), void* a, char *name)
 	Vctl *v;
 
 	if(vno < 0 || vno >= VectorPIC)
-		panic("trapenable: vno %d\n", vno);
+		panic("trapenable: vno %d", vno);
 	v = xalloc(sizeof(Vctl));
 	v->tbdf = BUSUNKNOWN;
 	v->f = f;
@@ -431,7 +431,7 @@ trap(Ureg* ureg)
 		}
 		if(vno < nelem(excname))
 			panic("%s", excname[vno]);
-		panic("unknown trap/intr: %d\n", vno);
+		panic("unknown trap/intr: %d", vno);
 	}
 	splhi();
 
@@ -637,7 +637,7 @@ fault386(Ureg* ureg, void*)
 	if(n < 0){
 		if(!user){
 			dumpregs(ureg);
-			panic("fault: 0x%lux\n", addr);
+			panic("fault: 0x%lux", addr);
 		}
 		checkpages();
 		checkfault(addr, ureg->pc);
@@ -666,7 +666,7 @@ syscall(Ureg* ureg)
 	ulong scallnr;
 
 	if((ureg->cs & 0xFFFF) != UESEL)
-		panic("syscall: cs 0x%4.4luX\n", ureg->cs);
+		panic("syscall: cs 0x%4.4luX", ureg->cs);
 
 	cycles(&up->kentry);
 

+ 3 - 3
sys/src/9/pc/usbehci.c

@@ -2333,7 +2333,7 @@ epiowait(Hci *hp, Qio *io, int tmout, ulong load)
 		dqprint("ehci io %#p qh %#p timed out (no intr?)\n", io, qh);
 		timedout = 1;
 	}else if(qh->state != Qdone && qh->state != Qclose)
-		panic("ehci: epio: queue state %d\n", qh->state);
+		panic("ehci: epio: queue state %d", qh->state);
 	if(timedout){
 		aborttds(io->qh);
 		io->err = "request timed out";
@@ -3273,7 +3273,7 @@ ehcimeminit(Ctlr *ctlr)
 	assert((frsize & 0xFFF) == 0);		/* must be 4k aligned */
 	ctlr->frames = xspanalloc(frsize, frsize, 0);
 	if(ctlr->frames == nil)
-		panic("ehci reset: no memory\n");
+		panic("ehci reset: no memory");
 
 	for (i = 0; i < ctlr->nframes; i++)
 		ctlr->frames[i] = Lterm;
@@ -3367,7 +3367,7 @@ ehcireset(Ctlr *ctlr)
 		ctlr->nframes = 256;
 		break;
 	default:
-		panic("ehci: unknown fls %d\n", opio->cmd & Cflsmask);
+		panic("ehci: unknown fls %#lux", opio->cmd & Cflsmask);
 	}
 	dprint("ehci: %d frames\n", ctlr->nframes);
 	iunlock(ctlr);

+ 2 - 2
sys/src/9/pc/usbohci.c

@@ -1183,7 +1183,7 @@ qhinterrupt(Ctlr *, Ep *ep, Qio *io, Td *td, int)
 		td->last = 1;
 		break;
 	default:
-		panic("ohci: td cc %ud unknown\n", err);
+		panic("ohci: td cc %ud unknown", err);
 	}
 
 	if(td->last != 0){
@@ -1287,7 +1287,7 @@ interrupt(Ureg *, void *arg)
 		ntd = pa2ptr(td->nexttd & ~0xF);
 		td->nexttd = 0;
 		if(td->ep == nil || td->io == nil)
-			panic("interrupt: ep %#x io %#x\n", td->ep, td->io);
+			panic("interrupt: ep %#p io %#p", td->ep, td->io);
 		ohciinterrupts[td->ep->ttype]++;
 		if(td->ep->ttype == Tiso)
 			isointerrupt(ctlr, td->ep, td->io, td, frno);

+ 1 - 1
sys/src/9/pc/usbuhci.c

@@ -2164,7 +2164,7 @@ uhcimeminit(Ctlr *ctlr)
 	frsize = Nframes*sizeof(ulong);
 	ctlr->frames = xspanalloc(frsize, frsize, 0);
 	if(ctlr->frames == nil)
-		panic("uhci reset: no memory\n");
+		panic("uhci reset: no memory");
 
 	ctlr->iso = nil;
 	for(i = 0; i < Nframes; i++)

+ 1 - 1
sys/src/9/port/allocb.c

@@ -157,7 +157,7 @@ checkb(Block *b, char *msg)
 	void *dead = (void*)Bdead;
 
 	if(b == dead)
-		panic("checkb b %s %lux", msg, b);
+		panic("checkb b %s %#p", msg, b);
 	if(b->base == dead || b->lim == dead || b->next == dead
 	  || b->rp == dead || b->wp == dead){
 		print("checkb: base %#p lim %#p next %#p\n",

+ 6 - 6
sys/src/9/port/devaoe.c

@@ -1215,8 +1215,8 @@ pstat(Aoedev *d, char *db, int len, int off)
 	int i;
 	char *state, *s, *p, *e;
 
-	s = p = malloc(1024);
-	e = p + 1024;
+	s = p = malloc(READSTR);
+	e = p + READSTR;
 
 	state = "down";
 	if(UP(d))
@@ -1281,8 +1281,8 @@ devlinkread(Chan *c, void *db, int len, int off)
 		return 0;
 	l = d->dl + i;
 
-	s = p = malloc(1024);
-	e = s + 1024;
+	s = p = malloc(READSTR);
+	e = s + READSTR;
 
 	p = seprint(p, e, "addr: ");
 	for(i = 0; i < l->nea; i++)
@@ -1314,8 +1314,8 @@ topctlread(Chan *, void *db, int len, int off)
 	char *s, *p, *e;
 	Netlink *n;
 
-	s = p = malloc(1024);
-	e = s + 1024;
+	s = p = malloc(READSTR);
+	e = s + READSTR;
 
 	p = seprint(p, e, "debug: %d\n", debug);
 	p = seprint(p, e, "autodiscover: %d\n", autodiscover);

+ 2 - 1
sys/src/9/port/portfns.h

@@ -389,4 +389,5 @@ void		_xinc(long*);
 long		_xdec(long*);
 long		lcycles(void);
 
-#pragma varargck argpos iprint 1
+#pragma varargck argpos iprint	1
+#pragma	varargck argpos	panic	1

+ 24 - 28
sys/src/9/port/sdaoe.c

@@ -23,7 +23,7 @@ enum {
 	Maxpath	= 128,
 
 	Probeintvl	= 100,		/* ms. between probes */
-	Probemax	= 8000,		/* max ms. to wait */
+	Probemax	= 10*1000,	/* max ms. to wait */
 };
 
 enum {
@@ -291,24 +291,21 @@ aoeprobe(char *path, SDev *s)
 	poperror();
 	cclose(c);
 
-	for(i = 0; ; i += Probeintvl){
-		if(i > Probemax || waserror())
-			error(Etimedout);
+	for(i = 0; i <= Probemax; i += Probeintvl){
 		tsleep(&up->sleep, return0, 0, Probeintvl);
-		poperror();
-
 		uprint("%s/ident", path);
-		if(waserror())
-			continue;
-		c = namec(up->genbuf, Aopen, OREAD, 0);
-		poperror();
-		cclose(c);
-
-		ctlr = newctlr(path);
-		break;
+		if(!waserror()) {
+			c = namec(up->genbuf, Aopen, OREAD, 0);
+			poperror();
+			cclose(c);
+			break;
+		}
 	}
-
-	if(s == nil && (s = malloc(sizeof *s)) == nil)
+	if(i > Probemax)
+		error(Etimedout);
+	uprint("%s/ident", path);
+	ctlr = newctlr(path);
+	if(ctlr == nil || s == nil && (s = malloc(sizeof *s)) == nil)
 		return nil;
 	s->ctlr = ctlr;
 	s->ifc = &sdaoeifc;
@@ -379,19 +376,18 @@ pnpprobe(SDev *sd)
 	if(p[1] == '!')
 		p += 2;
 
-	for(j = 0; ; j += Probeintvl){
-		if(j > Probemax){
-			print("#æ: pnpprobe failed in %d ms: %s: %s\n",
-				j, probef[i-1], up->errstr);
-			return 0;
-		}
-		if(waserror()){
-			tsleep(&up->sleep, return0, 0, Probeintvl);
-			continue;
+	for(j = 0; j <= Probemax; j += Probeintvl){
+		if(!waserror()){
+			sd = aoeprobe(p, sd);
+			poperror();
+			break;
 		}
-		sd = aoeprobe(p, sd);
-		poperror();
-		break;
+		tsleep(&up->sleep, return0, 0, Probeintvl);
+	}
+	if(j > Probemax){
+		print("#æ: pnpprobe failed in %d ms: %s: %s\n",
+			j, probef[i-1], up->errstr);
+		return nil;
 	}
 	print("#æ: pnpprobe established %s in %d ms\n", probef[i-1], j);
 	return sd->ctlr;

+ 3 - 3
sys/src/9/port/swap.c

@@ -68,7 +68,7 @@ putswap(Page *p)
 			swapalloc.last = idx;
 	}
 	if(*idx >= 254)
-		panic("putswap %lux == %ud", p, *idx);
+		panic("putswap %#p == %ud", p, *idx);
 	unlock(&swapalloc);
 }
 
@@ -108,7 +108,7 @@ pager(void *junk)
 	Proc *p, *ep;
 
 	if(waserror())
-		panic("pager: os error\n");
+		panic("pager: os error");
 
 	p = proctab(0);
 	ep = &p[conf.nproc];
@@ -337,7 +337,7 @@ executeio(void)
 
 	for(i = 0; i < ioptr; i++) {
 		if(ioptr > conf.nswppo)
-			panic("executeio: ioptr %d > %d\n", ioptr, conf.nswppo);
+			panic("executeio: ioptr %d > %d", ioptr, conf.nswppo);
 		out = iolist[i];
 		k = kmap(out);
 		kaddr = (char*)VA(k);