summaryrefslogtreecommitdiff
path: root/sys/arch/hppa
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2005-05-10 11:32:52 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2005-05-10 11:32:52 +0000
commit8b4df458aed010075f29ad4cc2c3cb0b916ff4ce (patch)
tree01f8b83ae772e0aeb24a6f1515591cdac4d3c710 /sys/arch/hppa
parentbba01b29dcacfc871844af52f26f0a61ad76d8ff (diff)
after copyin/out fpu regs flush and purge as they gonna be accessed from phys later; from chs
Diffstat (limited to 'sys/arch/hppa')
-rw-r--r--sys/arch/hppa/hppa/process_machdep.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/hppa/hppa/process_machdep.c b/sys/arch/hppa/hppa/process_machdep.c
index 30cd9b12ee8..52b6c826984 100644
--- a/sys/arch/hppa/hppa/process_machdep.c
+++ b/sys/arch/hppa/hppa/process_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: process_machdep.c,v 1.11 2004/09/14 23:39:32 mickey Exp $ */
+/* $OpenBSD: process_machdep.c,v 1.12 2005/05/10 11:32:51 mickey Exp $ */
/*
* Copyright (c) 1999-2004 Michael Shalayeff
@@ -93,7 +93,8 @@ process_read_fpregs(p, fpregs)
fpu_save((vaddr_t)p->p_addr->u_pcb.pcb_fpregs);
mtctl(0, CR_CCR);
}
- bcopy(p->p_addr->u_pcb.pcb_fpregs, fpregs, 32*8);
+ bcopy(p->p_addr->u_pcb.pcb_fpregs, fpregs, 32 * 8);
+ pdcache(HPPA_SID_KERNEL, (vaddr_t)p->p_addr->u_pcb.pcb_fpregs, 32 * 8);
return (0);
}
@@ -158,6 +159,7 @@ process_write_fpregs(p, fpregs)
}
bcopy(fpregs, p->p_addr->u_pcb.pcb_fpregs, 32 * 8);
+ fdcache(HPPA_SID_KERNEL, (vaddr_t)p->p_addr->u_pcb.pcb_fpregs, 32 * 8);
return (0);
}