vgabios: Make VBE code depend on a config setting.
[seabios.git] / src / virtio-ring.h
index 3fb86fe4f6d07ba3b77fb5bf57ae5ba1f6b465f1..b7a7aafb238df38d5fb19ac6e92f74deb4e9a8de 100644 (file)
@@ -9,8 +9,9 @@
 
 #define virt_to_phys(v) (unsigned long)(v)
 #define phys_to_virt(p) (void*)(p)
-#define wmb() barrier()
-#define mb() barrier()
+/* Compiler barrier is enough as an x86 CPU does not reorder reads or writes */
+#define smp_rmb() barrier()
+#define smp_wmb() barrier()
 
 /* Status byte for guest to report progress, and synchronize features. */
 /* We have seen device and processed generic fields (VIRTIO_CONFIG_F_VIRTIO) */
@@ -105,6 +106,8 @@ static inline void vring_init(struct vring *vr,
    vr->desc = phys_to_virt(pa);
 
    vr->avail = (struct vring_avail *)&vr->desc[num];
+   /* disable interrupts */
+   vr->avail->flags |= VRING_AVAIL_F_NO_INTERRUPT;
 
    /* physical address of used must be page aligned */