diff options
author | Arnon Gilboa <agilboa@redhat.com> | 2011-02-02 11:21:11 +0200 |
---|---|---|
committer | Arnon Gilboa <agilboa@redhat.com> | 2011-02-02 11:34:19 +0200 |
commit | d529c7d830f3650a4a6099942915e1703db31202 (patch) | |
tree | 2304ce90e64ed777f1397e16ba56639accb07704 | |
parent | 0b953e03ba1507966ee777d3217003f9dc4da778 (diff) | |
download | spice-protocol-d529c7d830f3650a4a6099942915e1703db31202.tar.gz spice-protocol-d529c7d830f3650a4a6099942915e1703db31202.tar.xz spice-protocol-d529c7d830f3650a4a6099942915e1703db31202.zip |
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 */ |