kvm-all.c: define smp_wmb and use it for coalesced mmio
Acked-by: "Michael S. Tsirkin" <mst@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
6312b92853
commit
85199474d0
@ -21,6 +21,7 @@
|
||||
#include <linux/kvm.h>
|
||||
|
||||
#include "qemu-common.h"
|
||||
#include "qemu-barrier.h"
|
||||
#include "sysemu.h"
|
||||
#include "hw/hw.h"
|
||||
#include "gdbstub.h"
|
||||
@ -730,7 +731,7 @@ void kvm_flush_coalesced_mmio_buffer(void)
|
||||
ent = &ring->coalesced_mmio[ring->first];
|
||||
|
||||
cpu_physical_memory_write(ent->phys_addr, ent->data, ent->len);
|
||||
/* FIXME smp_wmb() */
|
||||
smp_wmb();
|
||||
ring->first = (ring->first + 1) % KVM_COALESCED_MMIO_MAX;
|
||||
}
|
||||
}
|
||||
|
7
qemu-barrier.h
Normal file
7
qemu-barrier.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifndef __QEMU_BARRIER_H
|
||||
#define __QEMU_BARRIER_H 1
|
||||
|
||||
/* FIXME: arch dependant, x86 version */
|
||||
#define smp_wmb() asm volatile("" ::: "memory")
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user