summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>1999-05-21 17:49:48 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>1999-05-21 17:49:48 +0000
commit0989baf380d734695e2721bab097b80e2e6547ff (patch)
treede317e4c9c67ae82ea97023a3221c692f5c96aa8
parent777fa505608ad143efc333d1b504c7f55fdccfa0 (diff)
zero the fpu_curproc on proc exit, clarify the cpu_swapout()'s job
-rw-r--r--sys/arch/hppa/hppa/vm_machdep.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/arch/hppa/hppa/vm_machdep.c b/sys/arch/hppa/hppa/vm_machdep.c
index 93eba876597..9279192d540 100644
--- a/sys/arch/hppa/hppa/vm_machdep.c
+++ b/sys/arch/hppa/hppa/vm_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vm_machdep.c,v 1.4 1999/04/20 20:45:37 mickey Exp $ */
+/* $OpenBSD: vm_machdep.c,v 1.5 1999/05/21 17:49:47 mickey Exp $ */
#include <sys/param.h>
#include <sys/systm.h>
@@ -96,7 +96,10 @@ void
cpu_swapout(p)
struct proc *p;
{
- /* FPU save state */
+ /*
+ * explicit FPU save state, since user area might get
+ * swapped out as well, and won't be able to save it no more
+ */
}
void
@@ -152,11 +155,11 @@ void
cpu_exit(p)
struct proc *p;
{
- /* FPU: save state */
-
+ extern struct proc *fpu_curproc; /* from machdep.c */
uvmexp.swtch++;
curproc = NULL;
+ fpu_curproc = NULL;
uvmspace_free(p->p_vmspace);
/* XXX should be in the locore? */