aboutsummaryrefslogtreecommitdiff
path: root/qemu-barrier.h
diff options
context:
space:
mode:
Diffstat (limited to 'qemu-barrier.h')
-rw-r--r--qemu-barrier.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/qemu-barrier.h b/qemu-barrier.h
index 7e1119781..faa83d265 100644
--- a/qemu-barrier.h
+++ b/qemu-barrier.h
@@ -6,6 +6,8 @@
#if defined(__i386__)
+#include "compiler.h" /* QEMU_GNUC_PREREQ */
+
/*
* Because of the strongly ordered x86 storage model, wmb() and rmb() are nops
* on x86(well, a compiler barrier only). Well, at least as long as
@@ -19,7 +21,7 @@
* mfence on 32 bit as well, e.g. if built with -march=pentium-m.
* However, on i386, there seem to be known bugs as recently as 4.3.
* */
-#if defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 4
+#if QEMU_GNUC_PREREQ(4, 4)
#define smp_mb() __sync_synchronize()
#else
#define smp_mb() asm volatile("lock; addl $0,0(%%esp) " ::: "memory")