mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-protocol
synced 2025-12-30 17:49:00 +00:00
Use gcc builtin rather than asm for memory barriers
This should make things more portable. On my machine, __sync_synchronize() uses mfence rather than lock; addl; Looking at the kernel memory barriers, this should be fine: http://lxr.free-electrons.com/source/arch/x86/um/asm/barrier.h The kernel favours using mfence, but falls back to lock; addl; when it's not available (32 bit non-SSE machines). https://bugs.freedesktop.org/show_bug.cgi?id=86997
This commit is contained in:
parent
cffb8baee1
commit
6b86c1a510
@ -34,12 +34,7 @@
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
#ifdef __i386__
|
||||
#define spice_mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory")
|
||||
#else
|
||||
//mfence
|
||||
#define spice_mb() __asm__ __volatile__ ("lock; addl $0,0(%%rsp)": : :"memory")
|
||||
#endif
|
||||
#define spice_mb() __sync_synchronize ()
|
||||
|
||||
#else
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user