diff mbox

[9/9] virtio: move conf fields into an anonymous union

Message ID 1322138308-31040-10-git-send-email-pbonzini@redhat.com
State New
Headers show

Commit Message

Paolo Bonzini Nov. 24, 2011, 12:38 p.m. UTC
The devices should not need to share any space from the conf fields

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/s390-virtio-bus.h |    8 +++++---
 hw/syborg_virtio.c   |    4 +++-
 hw/virtio-pci.h      |   10 ++++++----
 3 files changed, 14 insertions(+), 8 deletions(-)
diff mbox

Patch

diff --git a/hw/s390-virtio-bus.h b/hw/s390-virtio-bus.h
index 414fd22..b9f711d 100644
--- a/hw/s390-virtio-bus.h
+++ b/hw/s390-virtio-bus.h
@@ -42,10 +42,12 @@  typedef struct VirtIOS390Device {
     ram_addr_t feat_offs;
     uint8_t feat_len;
     VirtIODevice *vdev;
-    VirtIOBlkConf blk;
     uint32_t host_features;
-    virtio_serial_conf serial;
-    virtio_net_conf net;
+    union {
+        VirtIOBlkConf blk;
+        virtio_serial_conf serial;
+        virtio_net_conf net;
+    };
 } VirtIOS390Device;
 
 typedef struct VirtIOS390Bus {
diff --git a/hw/syborg_virtio.c b/hw/syborg_virtio.c
index a1dc5ff..0971a85 100644
--- a/hw/syborg_virtio.c
+++ b/hw/syborg_virtio.c
@@ -66,7 +66,9 @@  typedef struct {
     uint32_t int_enable;
     uint32_t id;
     uint32_t host_features;
-    virtio_net_conf net;
+    union {
+        virtio_net_conf net;
+    };
 } SyborgVirtIOProxy;
 
 static uint32_t syborg_virtio_readl(void *opaque, target_phys_addr_t offset)
diff --git a/hw/virtio-pci.h b/hw/virtio-pci.h
index 63d83ae..e05af31 100644
--- a/hw/virtio-pci.h
+++ b/hw/virtio-pci.h
@@ -33,13 +33,15 @@  typedef struct {
     uint32_t flags;
     uint32_t class_code;
     uint32_t nvectors;
-    VirtIOBlkConf blk;
     uint32_t host_features;
+    union {
+        VirtIOBlkConf blk;
 #ifdef CONFIG_LINUX
-    V9fsConf fsconf;
+        V9fsConf fsconf;
 #endif
-    virtio_serial_conf serial;
-    virtio_net_conf net;
+        virtio_serial_conf serial;
+        virtio_net_conf net;
+    };
     bool ioeventfd_disabled;
     bool ioeventfd_started;
 } VirtIOPCIProxy;