dumpstack even with no up use uartrb (to use the portable uart code) don't print when ether queues are full Reference: /n/atom/patch/applied2013/rbnits Date: Wed Aug 7 03:07:36 CES 2013 Signed-off-by: quanstro@quanstro.net --- /sys/src/9/rb/trap.c Wed Aug 7 03:06:55 2013 +++ /sys/src/9/rb/trap.c Wed Aug 7 03:06:55 2013 @@ -585,9 +585,6 @@ ulong l, v, top, i; extern ulong etext; - if(up == 0) - return; - print("ktrace /kernel/path %.8lux %.8lux %.8lux\n", ureg->pc, ureg->sp, ureg->r31); top = (ulong)up->kstack + KSTACK; --- /sys/src/9/rb/rb Wed Aug 7 03:06:55 2013 +++ /sys/src/9/rb/rb Wed Aug 7 03:06:55 2013 @@ -30,7 +30,9 @@ qmalloc noswap - uarti8250 +# uarti8250 + uartrb uartp8250 + # emulated fp fpi fpimips @@ -48,8 +50,9 @@ port int cpuserver = 1; - uchar arge0mac[] = { 0xd4, 0xca, 0x6d, 0x60, 0xb8, 0x42, }; - uchar arge1mac[] = { 0xd4, 0xca, 0x6d, 0x60, 0xb8, 0x43, }; + uchar arge0mac[] = { 0xd4, 0xca, 0x6d, 0x2f, 0x04, 0xbc, }; + uchar arge1mac[] = { 0xd4, 0xca, 0x6d, 0x2f, 0x04, 0xbd, }; + char bootmethod[] = "il"; boot cpu il --- /sys/src/9/rb/devether.c Wed Aug 7 03:06:55 2013 +++ /sys/src/9/rb/devether.c Wed Aug 7 03:06:55 2013 @@ -1161,7 +1161,7 @@ i += sprint(buf+i, "%dGbps", ether->mbps/1000); else i += sprint(buf+i, "%dMbps", ether->mbps); - i += sprint(buf+i, " port %#luX irq %d", PADDR(ether->port), ether->irq); + i += sprint(buf+i, " port %#P irq %d", PADDR(ether->port), ether->irq); i += sprint(buf+i, ": %2.2ux%2.2ux%2.2ux%2.2ux%2.2ux%2.2ux", ether->ea[0], ether->ea[1], ether->ea[2], ether->ea[3], ether->ea[4], ether->ea[5]); @@ -1341,8 +1341,6 @@ } if(!loopback){ - if(qfull(ether->oq)) - print("etheroq: WARNING: ether->oq full!\n"); qbwrite(ether->oq, bp); athtransmit(ether); } else