From 8ffc16e89190c82e83b9b8de8efe0efada30fb8d Mon Sep 17 00:00:00 2001 From: jhb Date: Thu, 26 Apr 2001 23:52:40 +0000 Subject: Initialize p_md.md_kernnest to 1 for newly fork'd processes since they start off in the kernel. --- sys/alpha/alpha/vm_machdep.c | 6 ++++++ sys/powerpc/aim/vm_machdep.c | 6 ++++++ sys/powerpc/powerpc/vm_machdep.c | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/sys/alpha/alpha/vm_machdep.c b/sys/alpha/alpha/vm_machdep.c index 4ecff4b..edc2638 100644 --- a/sys/alpha/alpha/vm_machdep.c +++ b/sys/alpha/alpha/vm_machdep.c @@ -208,6 +208,12 @@ cpu_fork(p1, p2, flags) up->u_pcb.pcb_context[2] = (u_long) p2; /* s2: a1 */ up->u_pcb.pcb_context[7] = (u_int64_t)fork_trampoline; /* ra: assembly magic */ +#ifdef SMP + /* + * We start off at a nesting level of 1 within the kernel. + */ + p2->p_md.md_kernnest = 1; +#endif } } diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c index 4ecff4b..edc2638 100644 --- a/sys/powerpc/aim/vm_machdep.c +++ b/sys/powerpc/aim/vm_machdep.c @@ -208,6 +208,12 @@ cpu_fork(p1, p2, flags) up->u_pcb.pcb_context[2] = (u_long) p2; /* s2: a1 */ up->u_pcb.pcb_context[7] = (u_int64_t)fork_trampoline; /* ra: assembly magic */ +#ifdef SMP + /* + * We start off at a nesting level of 1 within the kernel. + */ + p2->p_md.md_kernnest = 1; +#endif } } diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c index 4ecff4b..edc2638 100644 --- a/sys/powerpc/powerpc/vm_machdep.c +++ b/sys/powerpc/powerpc/vm_machdep.c @@ -208,6 +208,12 @@ cpu_fork(p1, p2, flags) up->u_pcb.pcb_context[2] = (u_long) p2; /* s2: a1 */ up->u_pcb.pcb_context[7] = (u_int64_t)fork_trampoline; /* ra: assembly magic */ +#ifdef SMP + /* + * We start off at a nesting level of 1 within the kernel. + */ + p2->p_md.md_kernnest = 1; +#endif } } -- cgit v1.1