projects
/
seabios.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove 16bit wrappers from PMM code.
[seabios.git]
/
src
/
virtio-ring.h
diff --git
a/src/virtio-ring.h
b/src/virtio-ring.h
index 3fb86fe4f6d07ba3b77fb5bf57ae5ba1f6b465f1..b7a7aafb238df38d5fb19ac6e92f74deb4e9a8de 100644
(file)
--- a/
src/virtio-ring.h
+++ b/
src/virtio-ring.h
@@
-9,8
+9,9
@@
#define virt_to_phys(v) (unsigned long)(v)
#define phys_to_virt(p) (void*)(p)
#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) */
/* 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];
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 */
/* physical address of used must be page aligned */