diff --git a/spice/ipc_ring.h b/spice/ipc_ring.h index abc52e2..0011667 100644 --- a/spice/ipc_ring.h +++ b/spice/ipc_ring.h @@ -107,13 +107,13 @@ typedef struct SPICE_ATTR_PACKED name { \ #define RING_PROD_WAIT(r, wait) \ if (((wait) = RING_IS_FULL(r))) { \ (r)->notify_on_cons = (r)->cons + 1; \ - mb(); \ + spice_mb(); \ (wait) = RING_IS_FULL(r); \ } #define RING_PUSH(r, notify) \ (r)->prod++; \ - mb(); \ + spice_mb(); \ (notify) = (r)->prod == (r)->notify_on_prod; @@ -122,13 +122,13 @@ typedef struct SPICE_ATTR_PACKED name { \ #define RING_CONS_WAIT(r, wait) \ if (((wait) = RING_IS_EMPTY(r))) { \ (r)->notify_on_prod = (r)->prod + 1; \ - mb(); \ + spice_mb(); \ (wait) = RING_IS_EMPTY(r); \ } #define RING_POP(r, notify) \ (r)->cons++; \ - mb(); \ + spice_mb(); \ (notify) = (r)->cons == (r)->notify_on_cons; diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h index 229524e..7a226ce 100644 --- a/spice/qxl_dev.h +++ b/spice/qxl_dev.h @@ -33,21 +33,11 @@ #define _H_QXL_DEV #include +#include #include "ipc_ring.h" #include "draw.h" -#ifdef __GNUC__ -#ifdef __i386__ -#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory") -#else -//mfence -#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%rsp)": : :"memory") -#endif -#else -#define mb() __asm {lock add [esp], 0} -#endif - #include #define REDHAT_PCI_VENDOR_ID 0x1b36 diff --git a/spice/vdi_dev.h b/spice/vdi_dev.h index acec2e2..a5f60b0 100644 --- a/spice/vdi_dev.h +++ b/spice/vdi_dev.h @@ -32,20 +32,10 @@ #define _H_VDI_DEV #include +#include #include "ipc_ring.h" -#ifdef __GNUC__ -#ifdef __i386__ -#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)": : :"memory") -#else -//mfence -#define mb() __asm__ __volatile__ ("lock; addl $0,0(%%rsp)": : :"memory") -#endif -#else -#define mb() __asm {lock add [esp], 0} -#endif - #include #define REDHAT_PCI_VENDOR_ID 0x1b36