Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc64/sparc64 Handle saving and restoring the fps...
details: https://anonhg.NetBSD.org/src/rev/533cef7d0c7b
branches: trunk
changeset: 511908:533cef7d0c7b
user: eeh <eeh%NetBSD.org@localhost>
date: Fri Jun 29 23:58:40 2001 +0000
description:
Handle saving and restoring the fpstate properly.
(Are these functions ever called?)
diffstat:
sys/arch/sparc64/sparc64/emul.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diffs (33 lines):
diff -r ddea60102e9a -r 533cef7d0c7b sys/arch/sparc64/sparc64/emul.c
--- a/sys/arch/sparc64/sparc64/emul.c Fri Jun 29 23:58:08 2001 +0000
+++ b/sys/arch/sparc64/sparc64/emul.c Fri Jun 29 23:58:40 2001 +0000
@@ -1,7 +1,7 @@
-/* $NetBSD: emul.c,v 1.7 2000/12/04 16:01:19 fvdl Exp $ */
+/* $NetBSD: emul.c,v 1.8 2001/06/29 23:58:40 eeh Exp $ */
/*-
- * Copyright (c) 1997 The NetBSD Foundation, Inc.
+ * Copyright (c) 1997, 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
@@ -320,7 +320,10 @@
if (op.bits.st) {
if (op.bits.fl) {
- savefpstate(p->p_md.md_fpstate);
+ if (p == fpproc) {
+ savefpstate(p->p_md.md_fpstate);
+ fpproc = NULL;
+ }
error = readfpreg(p, code.i_op3.i_rd, &data.i[0]);
if (error)
@@ -378,6 +381,7 @@
return error;
}
loadfpstate(p->p_md.md_fpstate);
+ fpproc = p;
}
else {
error = writegpreg(tf, code.i_op3.i_rd, &data.i[0]);
Home |
Main Index |
Thread Index |
Old Index