Date: Sun, 3 Mar 2002 21:07:23 -0800 (PST) From: Jake Burkholder <jake@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/sparc64/sparc64 vm_machdep.c Message-ID: <200203040507.g2457Nm52814@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jake 2002/03/03 21:07:23 PST
Modified files:
sys/sparc64/sparc64 vm_machdep.c
Log:
Fix obscure problems with vfork where part of the parent's stack could be
clobbered by the child. This is more complicated than usual because the
window that could get clobbered is pushed in kernel mode, so a lot of
registers would have to be saved in other registers in userland and we
don't have enough. What we do have is space in the pcb to temporarily
store user windows that were spilled in kernel mode, but could not be
immediately stored to the user stack. So we copy in the parent's topmost
window and save it in the pcb, and arrange for it to be copied back out
when the child is done frobbing the stack.
Reviewed by: tmm
Revision Changes Path
1.21 +40 -8 src/sys/sparc64/sparc64/vm_machdep.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203040507.g2457Nm52814>
