diff options
author | glenda <glenda@9front.local> | 2025-05-14 01:33:55 +0000 |
---|---|---|
committer | glenda <glenda@9front.local> | 2025-05-14 01:33:55 +0000 |
commit | a7081490dbeda19788e6374a080ee38606aa3cd3 (patch) | |
tree | 8c440e3611573ee60322e7e84e5204e3e326028a /sys/src/9/mtx/trap.c | |
parent | 635cb9e7425577dae44eb415ad42e8d3892850b5 (diff) |
kernel: get rid of Proc.kstack
The kernel stack is now above the Proc structure,
so the explicit kstack pointer can be eliminated.
Diffstat (limited to 'sys/src/9/mtx/trap.c')
-rw-r--r-- | sys/src/9/mtx/trap.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/src/9/mtx/trap.c b/sys/src/9/mtx/trap.c index d82b802c4..962401dd4 100644 --- a/sys/src/9/mtx/trap.c +++ b/sys/src/9/mtx/trap.c @@ -450,8 +450,8 @@ _dumpstack(Ureg *ureg) sl = el-KSTACK; } else{ - sl = (ulong)up->kstack; - el = sl + KSTACK; + el = (ulong)up; + sl = el-KSTACK; } if(l > el || l < sl){ el = (ulong)m+BY2PG; @@ -488,7 +488,7 @@ dumpregs(Ureg *ur) if(up) { print("registers for %s %ld\n", up->text, up->pid); if((ur->srr1 & MSR_PR) == 0) - if(ur->usp < (ulong)up->kstack || ur->usp > (ulong)up->kstack+KSTACK) + if(ur->usp < (ulong)up - KSTACK || ur->usp > (ulong)up) print("invalid stack ptr\n"); } else @@ -504,7 +504,7 @@ void kprocchild(Proc *p, void (*entry)(void)) { p->sched.pc = (ulong)entry; - p->sched.sp = (ulong)p->kstack+KSTACK; + p->sched.sp = (ulong)p; } /* @@ -540,7 +540,7 @@ forkchild(Proc *p, Ureg *ur) { Ureg *cur; - p->sched.sp = (ulong)p->kstack+KSTACK-UREGSIZE; + p->sched.sp = (ulong)p - UREGSIZE; p->sched.pc = (ulong)forkret; cur = (Ureg*)(p->sched.sp+2*BY2WD); |