summaryrefslogtreecommitdiffstats
path: root/lib/libthr/arch
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2006-12-15 11:52:01 +0000
committerdavidxu <davidxu@FreeBSD.org>2006-12-15 11:52:01 +0000
commitca278718335da1ed4af28e199e5459b0a6fadd2a (patch)
treeea09b321c6b33b576a254a34f061222ae4c103b0 /lib/libthr/arch
parent8ec27d6b35247153cee3394ff6c7e8ef85e63ff3 (diff)
downloadFreeBSD-src-ca278718335da1ed4af28e199e5459b0a6fadd2a.zip
FreeBSD-src-ca278718335da1ed4af28e199e5459b0a6fadd2a.tar.gz
- Remove variable _thr_scope_system, all threads are system scope.
- Rename _thr_smp_cpus to boolean variable _thr_is_smp. - Define CPU_SPINWAIT macro for each arch, only X86 supports it.
Diffstat (limited to 'lib/libthr/arch')
-rw-r--r--lib/libthr/arch/amd64/include/pthread_md.h3
-rw-r--r--lib/libthr/arch/arm/include/pthread_md.h1
-rw-r--r--lib/libthr/arch/i386/include/pthread_md.h2
-rw-r--r--lib/libthr/arch/ia64/include/pthread_md.h2
-rw-r--r--lib/libthr/arch/powerpc/include/pthread_md.h2
-rw-r--r--lib/libthr/arch/sparc64/include/pthread_md.h2
6 files changed, 11 insertions, 1 deletions
diff --git a/lib/libthr/arch/amd64/include/pthread_md.h b/lib/libthr/arch/amd64/include/pthread_md.h
index 30f63ca..6814cac 100644
--- a/lib/libthr/arch/amd64/include/pthread_md.h
+++ b/lib/libthr/arch/amd64/include/pthread_md.h
@@ -36,7 +36,8 @@
#include <stddef.h>
#include <sys/types.h>
#include <machine/sysarch.h>
-#include <ucontext.h>
+
+#define CPU_SPINWAIT __asm __volatile("pause")
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
diff --git a/lib/libthr/arch/arm/include/pthread_md.h b/lib/libthr/arch/arm/include/pthread_md.h
index 30f9f86..0164da6 100644
--- a/lib/libthr/arch/arm/include/pthread_md.h
+++ b/lib/libthr/arch/arm/include/pthread_md.h
@@ -36,6 +36,7 @@
#include <machine/sysarch.h>
#include <stddef.h>
+#define CPU_SPINWAIT
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
/*
diff --git a/lib/libthr/arch/i386/include/pthread_md.h b/lib/libthr/arch/i386/include/pthread_md.h
index 4140b9c..1f629e1 100644
--- a/lib/libthr/arch/i386/include/pthread_md.h
+++ b/lib/libthr/arch/i386/include/pthread_md.h
@@ -37,6 +37,8 @@
#include <sys/types.h>
#include <machine/sysarch.h>
+#define CPU_SPINWAIT __asm __volatile("pause")
+
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
/*
diff --git a/lib/libthr/arch/ia64/include/pthread_md.h b/lib/libthr/arch/ia64/include/pthread_md.h
index eff38bb..0cff7c9 100644
--- a/lib/libthr/arch/ia64/include/pthread_md.h
+++ b/lib/libthr/arch/ia64/include/pthread_md.h
@@ -31,6 +31,8 @@
#include <stddef.h>
+#define CPU_SPINWAIT
+
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
/*
diff --git a/lib/libthr/arch/powerpc/include/pthread_md.h b/lib/libthr/arch/powerpc/include/pthread_md.h
index e8ca8b3..2abbbdc 100644
--- a/lib/libthr/arch/powerpc/include/pthread_md.h
+++ b/lib/libthr/arch/powerpc/include/pthread_md.h
@@ -36,6 +36,8 @@
#include <stddef.h>
#include <sys/types.h>
+#define CPU_SPINWAIT
+
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
#define TP_OFFSET 0x7008
diff --git a/lib/libthr/arch/sparc64/include/pthread_md.h b/lib/libthr/arch/sparc64/include/pthread_md.h
index 054c2be..8bfa5f4 100644
--- a/lib/libthr/arch/sparc64/include/pthread_md.h
+++ b/lib/libthr/arch/sparc64/include/pthread_md.h
@@ -35,6 +35,8 @@
#include <stddef.h>
+#define CPU_SPINWAIT
+
#define DTV_OFFSET offsetof(struct tcb, tcb_dtv)
/*
OpenPOWER on IntegriCloud