浏览代码

tools/lguest: real barriers.

Lguest guests are UP, but the host is probably SMP, so real barriers are
required in case the device thread and the guest are on different CPUs.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell 12 年之前
父节点
当前提交
0d69a65e97
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      tools/lguest/lguest.c

+ 2 - 2
tools/lguest/lguest.c

@@ -177,8 +177,8 @@ static struct termios orig_term;
  * in precise order.
  */
 #define wmb() __asm__ __volatile__("" : : : "memory")
-#define rmb() __asm__ __volatile__("" : : : "memory")
-#define mb() __asm__ __volatile__("" : : : "memory")
+#define rmb() __asm__ __volatile__("lock; addl $0,0(%%esp)" : : : "memory")
+#define mb() __asm__ __volatile__("lock; addl $0,0(%%esp)" : : : "memory")
 
 /* Wrapper for the last available index.  Makes it easier to change. */
 #define lg_last_avail(vq)	((vq)->last_avail_idx)