Module Name: src
Committed By: mrg
Date: Tue Jan 26 03:06:01 UTC 2010
Modified Files:
src/sys/arch/sparc/include: proc.h
src/sys/arch/sparc/sparc: machdep.c
Log Message:
convert fpulock into fpu_mtx.
To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/sparc/include/proc.h
cvs rdiff -u -r1.300 -r1.301 src/sys/arch/sparc/sparc/machdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/sparc/include/proc.h
diff -u src/sys/arch/sparc/include/proc.h:1.16 src/sys/arch/sparc/include/proc.h:1.17
--- src/sys/arch/sparc/include/proc.h:1.16 Sat Nov 21 04:04:07 2009
+++ src/sys/arch/sparc/include/proc.h Tue Jan 26 03:06:01 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: proc.h,v 1.16 2009/11/21 04:04:07 rmind Exp $ */
+/* $NetBSD: proc.h,v 1.17 2010/01/26 03:06:01 mrg Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -66,17 +66,17 @@
/*
* FPU context switch lock
* Prevent interrupts that grab the kernel lock
+ * XXX mrg: remove (s) argument
*/
-extern struct simplelock fpulock;
+extern kmutex_t fpu_mtx;
#define FPU_LOCK(s) do { \
- s = splclock(); \
- simple_lock(&fpulock); \
+ (void)&(s); \
+ mutex_enter(&fpu_mtx); \
} while (/* CONSTCOND */ 0)
#define FPU_UNLOCK(s) do { \
- simple_unlock(&fpulock); \
- splx(s); \
+ mutex_exit(&fpu_mtx); \
} while (/* CONSTCOND */ 0)
#endif /* _SPARC_PROC_H_ */
Index: src/sys/arch/sparc/sparc/machdep.c
diff -u src/sys/arch/sparc/sparc/machdep.c:1.300 src/sys/arch/sparc/sparc/machdep.c:1.301
--- src/sys/arch/sparc/sparc/machdep.c:1.300 Sun Jan 3 23:03:21 2010
+++ src/sys/arch/sparc/sparc/machdep.c Tue Jan 26 03:06:01 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.300 2010/01/03 23:03:21 mrg Exp $ */
+/* $NetBSD: machdep.c,v 1.301 2010/01/26 03:06:01 mrg Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -71,7 +71,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.300 2010/01/03 23:03:21 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.301 2010/01/26 03:06:01 mrg Exp $");
#include "opt_compat_netbsd.h"
#include "opt_compat_sunos.h"
@@ -102,6 +102,7 @@
#include <sys/ucontext.h>
#include <sys/simplelock.h>
#include <sys/module.h>
+#include <sys/mutex.h>
#include <uvm/uvm.h> /* we use uvm.kernel_object */
@@ -139,7 +140,7 @@
int physmem;
-struct simplelock fpulock = SIMPLELOCK_INITIALIZER;
+kmutex_t fpu_mtx;
/*
* safepri is a safe priority for sleep to set for a spin-wait
@@ -338,6 +339,8 @@
printf("avail memory = %s\n", pbuf);
pmap_redzone();
+
+ mutex_init(&fpu_mtx, MUTEX_DEFAULT, IPL_SCHED);
}
/*