clean up trap register print Reference: /n/atom/patch/applied/trapregs Date: Thu Jan 2 18:31:04 CET 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/nix/k10/trap.c Thu Jan 2 18:30:57 2014 +++ /sys/src/nix/k10/trap.c Thu Jan 2 18:30:57 2014 @@ -116,7 +116,7 @@ v->mask(v, 1); v->f(nil, v->a); *ll = v->next; - ioapicintrdisable(v->vno); + ioapicintrdisable(v->vno); /* BOTCH: this is wrong for non-ioapic interrupts shoid msi disable*/ iunlock(&vctllock); free(v); @@ -363,10 +363,6 @@ } } dumpregs(ureg); - if(!user){ - ureg->sp = PTR2UINT(&ureg->sp); - dumpstackwithureg(ureg); - } if(vno < nelem(excname)) panic("%s", excname[vno]); panic("unknown trap/intr: %d", vno); @@ -399,36 +395,36 @@ else iprint("cpu%d: registers for kernel\n", m->machno); - iprint("ax\t%#16.16llux\n", ureg->ax); - iprint("bx\t%#16.16llux\n", ureg->bx); - iprint("cx\t%#16.16llux\n", ureg->cx); - iprint("dx\t%#16.16llux\n", ureg->dx); - iprint("di\t%#16.16llux\n", ureg->di); - iprint("si\t%#16.16llux\n", ureg->si); - iprint("bp\t%#16.16llux\n", ureg->bp); - iprint("r8\t%#16.16llux\n", ureg->r8); - iprint("r9\t%#16.16llux\n", ureg->r9); - iprint("r10\t%#16.16llux\n", ureg->r10); - iprint("r11\t%#16.16llux\n", ureg->r11); - iprint("r12\t%#16.16llux\n", ureg->r12); - iprint("r13\t%#16.16llux\n", ureg->r13); - iprint("r14\t%#16.16llux\n", ureg->r14); - iprint("r15\t%#16.16llux\n", ureg->r15); + iprint("ax\t%#16.16llux ", ureg->ax); + iprint("bx\t%#16.16llux\n", ureg->bx); + iprint("cx\t%#16.16llux ", ureg->cx); + iprint("dx\t%#16.16llux\n", ureg->dx); + iprint("di\t%#16.16llux ", ureg->di); + iprint("si\t%#16.16llux\n", ureg->si); + iprint("bp\t%#16.16llux ", ureg->bp); + iprint("r8\t%#16.16llux\n", ureg->r8); + iprint("r9\t%#16.16llux ", ureg->r9); + iprint("r10\t%#16.16llux\n", ureg->r10); + iprint("r11\t%#16.16llux ", ureg->r11); + iprint("r12\t%#16.16llux\n", ureg->r12); + iprint("r13\t%#16.16llux ", ureg->r13); + iprint("r14\t%#16.16llux\n", ureg->r14); + iprint("r15\t%#16.16llux\n", ureg->r15); iprint("ds %#4.4ux es %#4.4ux fs %#4.4ux gs %#4.4ux\n", ureg->ds, ureg->es, ureg->fs, ureg->gs); - iprint("ureg fs\t%#ux\n", *(u32int*)&ureg->ds); - iprint("type\t%#llux\n", ureg->type); + iprint("ureg fs\t%#ux ", *(u32int*)&ureg->ds); + iprint("type\t%#llux ", ureg->type); iprint("error\t%#llux\n", ureg->error); iprint("pc\t%#llux\n", ureg->ip); - iprint("cs\t%#llux\n", ureg->cs); + iprint("cs\t%#llux ", ureg->cs); iprint("flags\t%#llux\n", ureg->flags); - iprint("sp\t%#llux\n", ureg->sp); + iprint("sp\t%#llux ", ureg->sp); iprint("ss\t%#llux\n", ureg->ss); iprint("type\t%#llux\n", ureg->type); iprint("fs\t%#llux\n", rdmsr(FSbase)); iprint("gs\t%#llux\n", rdmsr(GSbase)); - iprint("m\t%#16.16p\nup\t%#16.16p\n", m, up); + iprint("m\t%#16.16p up\t%#16.16p\n", m, up); } void @@ -561,6 +557,8 @@ * initialisation before the system is fully up. */ if(up == nil){ + if(m->online == 0) + dumpregs(ureg); panic("fault with up == nil; pc %#p addr %#p", ureg->ip, addr); } --- /sys/src/nix/k10/options.c Thu Jan 2 18:30:57 2014 +++ /sys/src/nix/k10/options.c Thu Jan 2 18:30:57 2014 @@ -62,7 +62,6 @@ writeconf(void) { char *p, *e; - int n; e = BOOTARGS+BOOTARGSLEN; p = confenv(BOOTARGS, e);