diff options
author | Arnon Gilboa <agilboa@redhat.com> | 2011-02-02 11:21:11 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2011-02-11 14:35:10 +0100 |
commit | e8ab669dfac0abc663c979e3d0dd02678c264c6f (patch) | |
tree | 3063087b2f46c08904c2474f01bdf2af06be83f8 | |
parent | 41946c45cf072b82c5eb0c8c499f77c568c1a887 (diff) |
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)
-rw-r--r-- | spice/barrier.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/spice/barrier.h b/spice/barrier.h index 8c81c86..710da09 100644 --- a/spice/barrier.h +++ b/spice/barrier.h @@ -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 */ |