projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix to do writes in memory properly
[unix-history]
/
usr
/
src
/
old
/
adb
/
adb.vax
/
print.c
diff --git
a/usr/src/old/adb/adb.vax/print.c
b/usr/src/old/adb/adb.vax/print.c
index
8cea665
..
25f89c9
100644
(file)
--- a/
usr/src/old/adb/adb.vax/print.c
+++ b/
usr/src/old/adb/adb.vax/print.c
@@
-1,4
+1,4
@@
-static char sccsid[] = "@(#)print.c 4.
3
%G%";
+static char sccsid[] = "@(#)print.c 4.
4
%G%";
/*
*
* UNIX debugger
/*
*
* UNIX debugger
@@
-189,6
+189,18
@@
printtrace(modif)
}
break;
}
break;
+ case 'p':
+ IF kernel == 0 THEN
+ printf("not debugging kernel\n");
+ ELSE
+ IF adrflg THEN
+ int pte = access(RD, dot, DSP, 0);
+ masterpcbb = (pte&PG_PFNUM)*512;
+ FI
+ getpcb();
+ FI
+ break;
+
case 'd':
if (adrflg) {
if (adrval<2 || adrval>16) {printf("must have 2 <= radix <= 16"); break;}
case 'd':
if (adrflg) {
if (adrval<2 || adrval>16) {printf("must have 2 <= radix <= 16"); break;}
@@
-244,7
+256,11
@@
printtrace(modif)
ELSE /* 'callg', can't tell where argp is */ argp=frame;
FI
callpc=get(frame+16,DSP);
ELSE /* 'callg', can't tell where argp is */ argp=frame;
FI
callpc=get(frame+16,DSP);
- ELSE argp= *(ADDR *)(((ADDR)&u)+AP);
+ ELIF kcore THEN
+ argp = pcb.pcb_ap;
+ frame = pcb.pcb_fp;
+ callpc = pcb.pcb_pc;
+ ELSE argp= *(ADDR *)(((ADDR)&u)+AP);
frame= *(ADDR *)(((ADDR)&u)+FP);
callpc= *(ADDR *)(((ADDR)&u)+PC);
FI
frame= *(ADDR *)(((ADDR)&u)+FP);
callpc= *(ADDR *)(((ADDR)&u)+PC);
FI