summaryrefslogtreecommitdiff
path: root/sys/src/9/bcm64
diff options
context:
space:
mode:
authorglenda <glenda@9front.local>2025-05-14 01:33:55 +0000
committerglenda <glenda@9front.local>2025-05-14 01:33:55 +0000
commita7081490dbeda19788e6374a080ee38606aa3cd3 (patch)
tree8c440e3611573ee60322e7e84e5204e3e326028a /sys/src/9/bcm64
parent635cb9e7425577dae44eb415ad42e8d3892850b5 (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/bcm64')
-rw-r--r--sys/src/9/bcm64/trap.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/src/9/bcm64/trap.c b/sys/src/9/bcm64/trap.c
index d3dedb8f9..60f7d1937 100644
--- a/sys/src/9/bcm64/trap.c
+++ b/sys/src/9/bcm64/trap.c
@@ -566,7 +566,7 @@ void
kprocchild(Proc *p, void (*entry)(void))
{
p->sched.pc = (uintptr) entry;
- p->sched.sp = (uintptr) p->kstack + KSTACK - 16;
+ p->sched.sp = (uintptr) p - 16;
*(void**)p->sched.sp = kprocchild; /* fake */
}
@@ -576,7 +576,7 @@ forkchild(Proc *p, Ureg *ureg)
Ureg *cureg;
p->sched.pc = (uintptr) forkret;
- p->sched.sp = (uintptr) p->kstack + KSTACK - TRAPFRAMESIZE;
+ p->sched.sp = (uintptr) p - TRAPFRAMESIZE;
cureg = (Ureg*) (p->sched.sp + 16);
memmove(cureg, ureg, sizeof(Ureg));
@@ -661,12 +661,12 @@ dumpstackwithureg(Ureg *ureg)
sp = (uintptr)&ureg;
estack = (uintptr)m+MACHSIZE;
- if(up != nil && sp <= (uintptr)up->kstack+KSTACK)
- estack = (uintptr)up->kstack+KSTACK;
+ if(up != nil && sp <= (uintptr)up)
+ estack = (uintptr)up;
if(sp > estack){
if(up != nil)
- iprint("&up->kstack %#p sp %#p\n", up->kstack, sp);
+ iprint("&up %#p sp %#p\n", up, sp);
else
iprint("&m %#p sp %#p\n", m, sp);
return;