--- xinu/sys/prdump.c 2018/04/24 17:39:04 1.1.1.1 +++ xinu/sys/prdump.c 2018/04/24 17:39:52 1.1.1.2 @@ -15,12 +15,14 @@ prdump() } /*------------------------------------------------------------------------ - * prdumph -- dump the active process table entries + * prdumph -- dump the active process table entries and halt *------------------------------------------------------------------------ */ prdumph() { pxdump(0); + kprintf("\nDump complete -- type P to continue\n"); + halt(); } /*------------------------------------------------------------------------ @@ -35,24 +37,27 @@ static pxdump(all) int all; { int i, j, ctr; - PStype ps; struct pentry *pptr; - disable(ps); - kprintf("\nProctab at loc %o\ncurrpid is %d\n", proctab, currpid); + disable(); + kprintf("\nProctab at loc %x\ncurrpid is %d\n", proctab, currpid); for ( i=0 ; ipstate!=PRFREE) { kprintf("\nProcess %d: ",i); - kprintf("state=%o,name=",pptr->pstate); + kprintf("state=%x,name=",pptr->pstate); for ( j=0 ; jpname[j]=='\0') break; kprintf("%c",pptr->pname[j]); } - kprintf(",prio=%d,sem=%d,stk:base=%o,limit=%o,", + kprintf(",prio=%d,sem=%d,stk:base=%x,limit=%x\n", pptr->pprio,pptr->psem,pptr->pbase,pptr->plimit); - kprintf("MAGIC=%o\n", *((int *)pptr->pbase) ); - for ( j=0 ; jpregs[j]); + for ( j=0 ; jpregs[j]); + if ((j + 1) % 4 == 0) kprintf("\n"); + } kprintf("\n"); } } @@ -70,5 +75,5 @@ int all; } } kprintf("\n"); - restore(ps); + restore(); }