| plan 9 kernel history: overview | file list | diff list |
1992/1128/power/debugger.c (diff list | history)
| 1992/1125/sys/src/9/power/debugger.c:84,95 – 1992/1126/sys/src/9/power/debugger.c:84,93 (short | long) | ||
| 1992/1125 | p = s->buf; while(p != end){ c = *p & 0xff; | |
| 1992/1126 | if(c == '\r' || c == '\n') dprintq.puts(&dprintq, "\r\n", 2); else if(c >= ' ' && c <= '~') dprintq.puts(&dprintq, p, 1); | |
| 1992/1125 | p++; if(p >= &s->buf[sizeof(s->buf)]) p = s->buf; | |
| 1992/1125/sys/src/9/power/debugger.c:107,113 – 1992/1126/sys/src/9/power/debugger.c:105,111 | ||
| 1992/1125 | dprint("! h <location> <howmany> - hex display\r\n"); return; } | |
| 1992/1126 | n = strtoul(start, 0, 16); | |
| 1992/1125 | if((n & KZERO) == 0) return; p = (ulong *)n; | |
| 1992/1125/sys/src/9/power/debugger.c:120,127 – 1992/1126/sys/src/9/power/debugger.c:118,126 | ||
| 1992/1125 | while(n > 0){ dprint("%lux/", p); for(i = 0; i < 8 && n > 0; i++, n--) | |
| 1992/1126 | dprint(" %8.8lux", p[i]); | |
| 1992/1125 | dprint("\r\n"); | |
| 1992/1126 | p += 8; | |
| 1992/1125 | } } | |
| 1992/1125/sys/src/9/power/debugger.c:137,151 – 1992/1126/sys/src/9/power/debugger.c:136,149 | ||
| 1992/1125 | for(i = 0; i < 4; i++){ if((active.machs&(1<<i)) == 0) continue; | |
| 1992/1126 | mp = (void*)(MACHADDR+i*BY2PG); | |
| 1992/1125 | l = (ulong)(mp->proc); dprint("mach[%d]->proc/ %lux\r\n", i, l); dprint("mach[%d]->splpc/ %lux\r\n", i, mp->splpc); | |
| 1992/1126 | if(l & KZERO){ | |
| 1992/1125 | p = (Proc*)l; l = (ulong)(p->upage); | |
| 1992/1126 | if(l & KZERO){ | |
| 1992/1125 | pg = (Page*)l; l = pg->pa; dprint("mach[%d]->proc->upage->pa/ %lux\r\n", i, l); | |
| 1992/1125/sys/src/9/power/debugger.c:164,174 – 1992/1126/sys/src/9/power/debugger.c:162,167 | ||
| 1992/1125 | USED(arg); /* | |
| 1992/1125/sys/src/9/power/debugger.c:178,183 – 1992/1126/sys/src/9/power/debugger.c:171,183 | ||
| 1992/1125 | splx(level); sched(); } | |
| 1992/1126 | /* * grab a port for a console */ initq(&dprintq); initq(&dkbdq); duartspecial(3, &dprintq, &dkbdq, 9600); | |
| 1992/1125 | /* * take processor and process out of active groups | |
| 1992/1126/sys/src/9/power/debugger.c:3,8 – 1992/1128/sys/src/9/power/debugger.c:3,9 (short | long) | ||
| 1992/1125 | #include "mem.h" #include "dat.h" #include "fns.h" | |
| 1992/1128 | #include "io.h" | |
| 1992/1125 | IOQ dkbdq; IOQ dprintq; | |
| 1992/1126/sys/src/9/power/debugger.c:78,86 – 1992/1128/sys/src/9/power/debugger.c:79,89 | ||
| 1992/1125 | return; s = &syslogbuf[i]; | |
| 1992/1128 | if(s->next < s->buf || s->next >= &s->buf[sizeof(s->buf)]) s->next = s->buf; | |
| 1992/1125 | end = s->next; p = end + 1; | |
| 1992/1128 | if(p >= &s->buf[sizeof(s->buf)] || p < s->buf) | |
| 1992/1125 | p = s->buf; while(p != end){ c = *p & 0xff; | |
| 1992/1126/sys/src/9/power/debugger.c:202,212 – 1992/1128/sys/src/9/power/debugger.c:205,219 | ||
| 1992/1125 | case 'i': printinfo(); break; | |
| 1992/1128 | case 'q': firmware(cpuserver ? PROM_AUTOBOOT : PROM_REINIT); break; | |
| 1992/1125 | default: dprint("!commands are:\r\n"); dprint("! l <cpu#> - print cpu log\r\n"); dprint("! h <location> <howmany> - hex display\r\n"); dprint("! i - display some addresses\r\n"); | |
| 1992/1128 | dprint("! q - quit/rebooot\r\n"); | |
| 1992/1125 | break; } } | |
| 1992/1128/sys/src/9/power/debugger.c:143,148 – 1992/1129/sys/src/9/power/debugger.c:143,149 (short | long) | ||
| 1992/1125 | l = (ulong)(mp->proc); dprint("mach[%d]->proc/ %lux\r\n", i, l); dprint("mach[%d]->splpc/ %lux\r\n", i, mp->splpc); | |
| 1992/1129 | ||
| 1992/1126 | if(l & KZERO){ | |
| 1992/1125 | p = (Proc*)l; l = (ulong)(p->upage); | |
| 1992/1129/sys/src/9/power/debugger.c:4,9 – 1992/1202/sys/src/9/power/debugger.c:4,10 (short | long) | ||
| 1992/1125 | #include "dat.h" #include "fns.h" | |
| 1992/1128 | #include "io.h" | |
| 1992/1202 | #include "ureg.h" | |
| 1992/1125 | IOQ dkbdq; IOQ dprintq; | |
| 1992/1129/sys/src/9/power/debugger.c:133,138 – 1992/1202/sys/src/9/power/debugger.c:134,140 | ||
| 1992/1125 | Mach *mp; Proc *p; Page *pg; | |
| 1992/1202 | Ureg *ur; | |
| 1992/1125 | ulong l; int i; | |
| 1992/1129/sys/src/9/power/debugger.c:141,148 – 1992/1202/sys/src/9/power/debugger.c:143,150 | ||
| 1992/1125 | continue; | |
| 1992/1126 | mp = (void*)(MACHADDR+i*BY2PG); | |
| 1992/1125 | l = (ulong)(mp->proc); | |
| 1992/1202 | dprint("mach[%d] proc/%lux\r\n", i, l); dprint("mach[%d] splpc/%lux\r\n", i, mp->splpc); | |
| 1992/1129 | ||
| 1992/1126 | if(l & KZERO){ | |
| 1992/1125 | p = (Proc*)l; | |
| 1992/1129/sys/src/9/power/debugger.c:150,158 – 1992/1202/sys/src/9/power/debugger.c:152,166 | ||
| 1992/1126 | if(l & KZERO){ | |
| 1992/1125 | pg = (Page*)l; l = pg->pa; | |
| 1992/1202 | dprint("mach[%d] proc->upage->pa/%lux\r\n", i, l); | |
| 1992/1125 | } } | |
| 1992/1202 | l = (ulong)(mp->ur); dprint("mach[%d] ur/%lux", i, l); ur = (Ureg*)l; dprint(" &status/%lux &cause/%lux &sp/%lux &pc/%lux", &ur->status, &ur->cause, &ur->sp, &ur->pc); dprint("\r\n"); | |
| 1992/1125 | } } | |
| 1992/1202/sys/src/9/power/debugger.c:1,249 – 1993/0806/sys/src/9/power/debugger.c:0 (short | long) | ||
|
Deleted.
rsc Mon Mar 7 10:32:49 2005 | ||
| 1992/1125 |
| |
| 1992/1128 |
| |
| 1992/1202 |
| |
| 1992/1125 |
| |
| 1992/1128 |
| |
| 1992/1125 |
| |
| 1992/1128 |
| |
| 1992/1125 |
| |
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1202 |
| |
| 1992/1125 |
| |
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1202 |
| |
| 1992/1129 | ||
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1202 |
| |
| 1992/1125 |
| |
| 1992/1202 |
| |
| 1992/1125 |
| |
| 1992/1126 |
| |
| 1992/1125 |
| |
| 1992/1128 |
| |
| 1992/1125 |
| |
| 1992/1128 |
| |
| 1992/1125 |
| |