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/omap | |
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/omap')
-rw-r--r-- | sys/src/9/omap/arch.c | 2 | ||||
-rw-r--r-- | sys/src/9/omap/syscall.c | 2 | ||||
-rw-r--r-- | sys/src/9/omap/trap.c | 8 |
3 files changed, 6 insertions, 6 deletions
diff --git a/sys/src/9/omap/arch.c b/sys/src/9/omap/arch.c index c0bf9c605..95f875c93 100644 --- a/sys/src/9/omap/arch.c +++ b/sys/src/9/omap/arch.c @@ -68,7 +68,7 @@ void kprocchild(Proc *p, void (*entry)(void)) { p->sched.pc = (uintptr)entry; - p->sched.sp = (uintptr)p->kstack+KSTACK; + p->sched.sp = (uintptr)p; } /* diff --git a/sys/src/9/omap/syscall.c b/sys/src/9/omap/syscall.c index c89bfa66a..c97ce591c 100644 --- a/sys/src/9/omap/syscall.c +++ b/sys/src/9/omap/syscall.c @@ -311,7 +311,7 @@ forkchild(Proc *p, Ureg *ureg) Ureg *cureg; //print("%lud setting up for forking child %lud\n", up->pid, p->pid); - p->sched.sp = (ulong)p->kstack+KSTACK-sizeof(Ureg); + p->sched.sp = (ulong)p-sizeof(Ureg); p->sched.pc = (ulong)forkret; cureg = (Ureg*)(p->sched.sp); diff --git a/sys/src/9/omap/trap.c b/sys/src/9/omap/trap.c index 6c8021f02..72cc504bd 100644 --- a/sys/src/9/omap/trap.c +++ b/sys/src/9/omap/trap.c @@ -453,7 +453,7 @@ trap(Ureg *ureg) splhi(); /* paranoia */ if(up != nil) - rem = ((char*)ureg)-up->kstack; + rem = ((char*)ureg)-((char*)up-KSTACK); else rem = ((char*)ureg)-((char*)m+sizeof(Mach)); if(rem < 1024) { @@ -663,9 +663,9 @@ dumpstackwithureg(Ureg *ureg) delay(20); i = 0; if(up - && (uintptr)&l >= (uintptr)up->kstack - && (uintptr)&l <= (uintptr)up->kstack+KSTACK) - estack = (uintptr)up->kstack+KSTACK; + && (uintptr)&l >= (uintptr)up - KSTACK + && (uintptr)&l <= (uintptr)up) + estack = (uintptr)up; else if((uintptr)&l >= (uintptr)m->stack && (uintptr)&l <= (uintptr)m+MACHSIZE) estack = (uintptr)m+MACHSIZE; |