diff options
author | Philippe Mathieu-Daudé | 2020-12-10 14:47:40 +0100 |
---|---|---|
committer | Paolo Bonzini | 2020-12-15 18:52:07 +0100 |
commit | 6a4757fe51a1c5ea31f33d8a83c03387302ac2d7 (patch) | |
tree | 14edc40213d783873b24e4efa468f7010371323b /include | |
parent | hw/core: Restrict 'fw-path-provider.c' to system mode emulation (diff) | |
download | qemu-6a4757fe51a1c5ea31f33d8a83c03387302ac2d7.tar.gz qemu-6a4757fe51a1c5ea31f33d8a83c03387302ac2d7.tar.xz qemu-6a4757fe51a1c5ea31f33d8a83c03387302ac2d7.zip |
qemu/atomic: Drop special case for unsupported compiler
Since commit efc6c070aca ("configure: Add a test for the
minimum compiler version") the minimum compiler version
required for GCC is 4.8, which has the GCC BZ#36793 bug fixed.
We can safely remove the special case introduced in commit
a281ebc11a6 ("virtio: add missing mb() on notification").
With clang 3.4, __ATOMIC_RELAXED is defined, so the chunk to
remove (which is x86-specific), isn't reached either.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20201210134752.780923-2-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/qemu/atomic.h | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h index c1d211a351..8f4b3a80fb 100644 --- a/include/qemu/atomic.h +++ b/include/qemu/atomic.h @@ -241,23 +241,6 @@ #else /* __ATOMIC_RELAXED */ -/* - * We use GCC builtin if it's available, as that can use mfence on - * 32-bit as well, e.g. if built with -march=pentium-m. However, on - * i386 the spec is buggy, and the implementation followed it until - * 4.3 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36793). - */ -#if defined(__i386__) || defined(__x86_64__) -#if !QEMU_GNUC_PREREQ(4, 4) -#if defined __x86_64__ -#define smp_mb() ({ asm volatile("mfence" ::: "memory"); (void)0; }) -#else -#define smp_mb() ({ asm volatile("lock; addl $0,0(%%esp) " ::: "memory"); (void)0; }) -#endif -#endif -#endif - - #ifdef __alpha__ #define smp_read_barrier_depends() asm volatile("mb":::"memory") #endif |