define spice_mb MemoryBarrier for WIN64

__asm is not supported on _WIN64, so use macro instead
required for Windows x64 guest display driver (qxldd.dll)
This commit is contained in:
Arnon Gilboa 2011-02-02 11:21:11 +02:00 committed by Hans de Goede
parent 432519f712
commit 7134a4591c

View File

@ -33,14 +33,23 @@
#define _H_SPICE_BARRIER
#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
#else
#ifdef _WIN64
//__asm not supported on _WIN64, so use macro instead.
#define spice_mb MemoryBarrier
#else
#define spice_mb() __asm {lock add [esp], 0}
#endif
#endif
#endif /* _H_SPICE_BARRIER */