diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2000-01-17 06:02:50 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2000-01-17 06:02:50 +0000 |
commit | dc53ea497e7baf9f0109c4a4cc269cb8481daae8 (patch) | |
tree | 4c1eacb06fbf7906a8a936057bb5866e9a7b6321 /sys/arch/hppa | |
parent | f6f17cd807cfe703c43ebc1fd265101095d0a7f9 (diff) |
on fork, flush pcb too, update pcsq
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r-- | sys/arch/hppa/hppa/vm_machdep.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/arch/hppa/hppa/vm_machdep.c b/sys/arch/hppa/hppa/vm_machdep.c index a6fa790437d..dd5f80f51e4 100644 --- a/sys/arch/hppa/hppa/vm_machdep.c +++ b/sys/arch/hppa/hppa/vm_machdep.c @@ -1,7 +1,7 @@ -/* $OpenBSD: vm_machdep.c,v 1.12 2000/01/11 20:27:57 mickey Exp $ */ +/* $OpenBSD: vm_machdep.c,v 1.13 2000/01/17 06:02:49 mickey Exp $ */ /* - * Copyright (c) 1999 Michael Shalayeff + * Copyright (c) 1999-2000 Michael Shalayeff * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -214,7 +214,9 @@ cpu_fork(p1, p2, stack, stacksize) cpu_swapin(p2); tf->tf_sr0 = tf->tf_sr1 = tf->tf_sr2 = tf->tf_sr3 = - tf->tf_sr5 = tf->tf_sr6 = + tf->tf_sr4 = tf->tf_sr5 = tf->tf_sr6 = + p2->p_vmspace->vm_map.pmap->pmap_space; + tf->tf_iisq_head = tf->tf_iisq_tail = p2->p_vmspace->vm_map.pmap->pmap_space; tf->tf_sr7 = HPPA_SID_KERNEL; tf->tf_pidr1 = tf->tf_pidr2 = p2->p_vmspace->vm_map.pmap->pmap_pid; @@ -236,7 +238,7 @@ cpu_fork(p1, p2, stack, stacksize) *(register_t*)(sp + HPPA_FRAME_CRP) = (register_t)switch_trampoline; tf->tf_sp = sp; - fdcache(HPPA_SID_KERNEL, (vaddr_t)tf, sizeof(*tf)); + fdcache(HPPA_SID_KERNEL, (vaddr_t)p2->p_addr, sp - (vaddr_t)p2->p_addr); } void |