Remove o32 stack layout exposure form cpu_fork().
Tested on R4000 and R3000.
This commit is contained in:
parent
60e088b1a4
commit
abad61e77f
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: locore_mips1.S,v 1.54 2002/03/05 16:03:22 simonb Exp $ */
|
||||
/* $NetBSD: locore_mips1.S,v 1.55 2002/11/12 14:00:41 nisimura Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1992, 1993
|
||||
|
@ -1003,6 +1003,7 @@ END(mips1_wbflush)
|
|||
* calls another.
|
||||
*/
|
||||
LEAF(mips1_proc_trampoline)
|
||||
addu sp, sp, -CALLFRAME_SIZ
|
||||
jal ra, s0
|
||||
move a0, s1
|
||||
.set noat
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: mipsX_subr.S,v 1.9 2002/11/08 04:13:13 simonb Exp $ */
|
||||
/* $NetBSD: mipsX_subr.S,v 1.10 2002/11/12 14:00:41 nisimura Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 2002 Wasabi Systems, Inc.
|
||||
|
@ -1880,6 +1880,7 @@ END(MIPSX(VCEI))
|
|||
* and s1 respectively. There is no need register save operation.
|
||||
*/
|
||||
LEAF(MIPSX(proc_trampoline))
|
||||
addu sp, sp, -CALLFRAME_SIZ
|
||||
jal ra, s0
|
||||
move a0, s1
|
||||
.set noat
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: vm_machdep.c,v 1.91 2002/11/10 05:29:18 nisimura Exp $ */
|
||||
/* $NetBSD: vm_machdep.c,v 1.92 2002/11/12 14:00:42 nisimura Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -45,7 +45,7 @@
|
|||
#include "opt_ddb.h"
|
||||
|
||||
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
||||
__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.91 2002/11/10 05:29:18 nisimura Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.92 2002/11/12 14:00:42 nisimura Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
|
@ -129,7 +129,6 @@ cpu_fork(p1, p2, stack, stacksize, func, arg)
|
|||
memcpy(&p2->p_addr->u_pcb, &p1->p_addr->u_pcb, sizeof(struct pcb));
|
||||
f = (struct frame *)((caddr_t)p2->p_addr + USPACE) - 1;
|
||||
memcpy(f, p1->p_md.md_regs, sizeof(struct frame));
|
||||
memset((caddr_t)f - 24, 0, 24); /* ? required ? */
|
||||
|
||||
/*
|
||||
* If specified, give the child a different stack.
|
||||
|
@ -146,7 +145,7 @@ cpu_fork(p1, p2, stack, stacksize, func, arg)
|
|||
|
||||
pcb = &p2->p_addr->u_pcb;
|
||||
pcb->pcb_context[10] = (int)proc_trampoline; /* RA */
|
||||
pcb->pcb_context[8] = (int)f - 24; /* SP */
|
||||
pcb->pcb_context[8] = (int)f; /* SP */
|
||||
pcb->pcb_context[0] = (int)func; /* S0 */
|
||||
pcb->pcb_context[1] = (int)arg; /* S1 */
|
||||
pcb->pcb_context[11] |= PSL_LOWIPL; /* SR */
|
||||
|
|
Loading…
Reference in New Issue