From f63dd82240703042c9674599863f094aef61ea00 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 24 Oct 1995 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1995-10-24 --- carrera/trap.c | 12 ++++++++++++ pc/trap.c | 12 ++++++++++++ port/portfns.h | 1 + port/proc.c | 4 ++-- power/trap.c | 12 ++++++++++++ 5 files changed, 39 insertions(+), 2 deletions(-) diff --git a/carrera/trap.c b/carrera/trap.c index 385444ff73bd96386674bbec4ea448fa99753d87..8369bfb74488148f39dd66b4d3f8df14a486b959 100644 --- a/carrera/trap.c +++ b/carrera/trap.c @@ -817,3 +817,15 @@ setkernur(Ureg *xp, Proc *p) xp->sp = p->sched.sp; xp->r31 = (ulong)sched; } + +ulong +dbgpc(Proc *p) +{ + Ureg *ur; + + ur = p->dbgreg; + if(ur == 0) + return 0; + + return ur->pc; +} diff --git a/pc/trap.c b/pc/trap.c index 830f619999d4fc1073aa41e8943e8c3560671656..c15a24a8ba7be553451bfcfc7f6f28777ac9a5a8 100644 --- a/pc/trap.c +++ b/pc/trap.c @@ -743,3 +743,15 @@ setkernur(Ureg *xp, Proc *p) xp->pc = p->sched.pc; xp->sp = p->sched.sp+4; } + +ulong +dbgpc(Proc *p) +{ + Ureg *ur; + + ur = p->dbgreg; + if(ur == 0) + return 0; + + return ur->pc; +} diff --git a/port/portfns.h b/port/portfns.h index d026f815a5fe981ac3ba95c37dd48d4181193fa0..6bd92baaa292197886598840cd3cb4db4d020f53 100644 --- a/port/portfns.h +++ b/port/portfns.h @@ -46,6 +46,7 @@ void copypage(Page*, Page*); int cread(Chan*, uchar*, int, ulong); void cupdate(Chan*, uchar*, int, ulong); void cwrite(Chan*, uchar*, int, ulong); +ulong dbgpc(Proc*); int decref(Ref*); int decrypt(void*, void*, int); void delay(int); diff --git a/port/proc.c b/port/proc.c index 77b043020370cb32bebbce7728626cad7cf21e26..13c8e8c5ea8de8888a6c4882bc0420407c713116 100644 --- a/port/proc.c +++ b/port/proc.c @@ -808,8 +808,8 @@ procdump(void) s = p->psstate; if(s == 0) s = "kproc"; - print("%3d:%10s pc %8lux %8s (%s) ut %ld st %ld bss %lux\n", - p->pid, p->text, p->pc, s, statename[p->state], + print("%3d:%10s pc %8lux dbgpc %8lux %8s (%s) ut %ld st %ld bss %lux\n", + p->pid, p->text, p->pc, dbgpc(p), s, statename[p->state], p->time[0], p->time[1], bss); } for(rq = &runq[Nrq-1]; rq >= runq; rq--){ diff --git a/power/trap.c b/power/trap.c index 27a75d38b509c480afe436257499283e982ef833..15cc47e47d469ff08a4936658b58e02ffc754a64 100644 --- a/power/trap.c +++ b/power/trap.c @@ -701,3 +701,15 @@ setkernur(Ureg *xp, Proc *p) xp->sp = p->sched.sp; xp->r31 = (ulong)sched; } + +ulong +dbgpc(Proc *p) +{ + Ureg *ur; + + ur = p->dbgreg; + if(ur == 0) + return 0; + + return ur->pc; +}