summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2012-08-01 17:24:53 +0000
committerkib <kib@FreeBSD.org>2012-08-01 17:24:53 +0000
commit36babd37ca7f9addb238b81428902b296c388a0b (patch)
tree8776c93cddf827440e35f70225b9eea7d3772b7a
parent9c4b62fad8853cdccbe2f3a1900de7ec19bb52ca (diff)
downloadFreeBSD-src-36babd37ca7f9addb238b81428902b296c388a0b.zip
FreeBSD-src-36babd37ca7f9addb238b81428902b296c388a0b.tar.gz
Add lfence().
MFC after: 1 week
-rw-r--r--sys/amd64/include/cpufunc.h7
-rw-r--r--sys/i386/include/cpufunc.h7
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/amd64/include/cpufunc.h b/sys/amd64/include/cpufunc.h
index 94d4133..881fcd2 100644
--- a/sys/amd64/include/cpufunc.h
+++ b/sys/amd64/include/cpufunc.h
@@ -290,6 +290,13 @@ popcntq(u_long mask)
}
static __inline void
+lfence(void)
+{
+
+ __asm __volatile("lfence" : : : "memory");
+}
+
+static __inline void
mfence(void)
{
diff --git a/sys/i386/include/cpufunc.h b/sys/i386/include/cpufunc.h
index 62d268d..7cd3663 100644
--- a/sys/i386/include/cpufunc.h
+++ b/sys/i386/include/cpufunc.h
@@ -155,6 +155,13 @@ cpu_mwait(u_long extensions, u_int hints)
}
static __inline void
+lfence(void)
+{
+
+ __asm __volatile("lfence" : : : "memory");
+}
+
+static __inline void
mfence(void)
{
OpenPOWER on IntegriCloud