qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 9/9] virtio: move conf fields into an anonymous unio


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH 9/9] virtio: move conf fields into an anonymous union
Date: Thu, 24 Nov 2011 13:38:28 +0100

The devices should not need to share any space from the conf fields

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

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;
-- 
1.7.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]