[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 5/5] virtio-net: Incorporate a DeviceState point
From: |
Alex Williamson |
Subject: |
[Qemu-devel] [RFC PATCH 5/5] virtio-net: Incorporate a DeviceState pointer and let savevm track instances |
Date: |
Sun, 13 Jun 2010 23:51:47 -0600 |
User-agent: |
StGIT/0.14.3 |
Stuff a pointer to the DeviceState into the VirtIONet structure so that
we can easily remove the vmstate entry later. Also, let vmstate track
the instance number (it should always be zero internally since the
device path should now be unique).
Signed-off-by: Alex Williamson <address@hidden>
---
hw/virtio-net.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/hw/virtio-net.c b/hw/virtio-net.c
index e9768e0..f41db45 100644
--- a/hw/virtio-net.c
+++ b/hw/virtio-net.c
@@ -60,6 +60,7 @@ typedef struct VirtIONet
uint8_t *macs;
} mac_table;
uint32_t *vlans;
+ DeviceState *qdev;
} VirtIONet;
/* TODO
@@ -890,7 +891,6 @@ static void virtio_net_vmstate_change(void *opaque, int
running, int reason)
VirtIODevice *virtio_net_init(DeviceState *dev, NICConf *conf)
{
VirtIONet *n;
- static int virtio_net_id;
n = (VirtIONet *)virtio_common_init("virtio-net", VIRTIO_ID_NET,
sizeof(struct virtio_net_config),
@@ -923,7 +923,8 @@ VirtIODevice *virtio_net_init(DeviceState *dev, NICConf
*conf)
n->vlans = qemu_mallocz(MAX_VLAN >> 3);
- register_savevm(NULL, "virtio-net", virtio_net_id++, VIRTIO_NET_VM_VERSION,
+ n->qdev = dev;
+ register_savevm(dev, "virtio-net", -1, VIRTIO_NET_VM_VERSION,
virtio_net_save, virtio_net_load, n);
n->vmstate = qemu_add_vm_change_state_handler(virtio_net_vmstate_change,
n);
@@ -941,7 +942,7 @@ void virtio_net_exit(VirtIODevice *vdev)
qemu_purge_queued_packets(&n->nic->nc);
- unregister_savevm(NULL, "virtio-net", n);
+ unregister_savevm(n->qdev, "virtio-net", n);
qemu_free(n->mac_table.macs);
qemu_free(n->vlans);
[Qemu-devel] [RFC PATCH 2/5] savevm: Add DeviceState param, Alex Williamson, 2010/06/14
[Qemu-devel] [RFC PATCH 3/5] savevm: Make use of the new DeviceState param, Alex Williamson, 2010/06/14
[Qemu-devel] [RFC PATCH 4/5] eepro100: Add a dev field to eeprom new/free functions, Alex Williamson, 2010/06/14
[Qemu-devel] [RFC PATCH 5/5] virtio-net: Incorporate a DeviceState pointer and let savevm track instances,
Alex Williamson <=
[Qemu-devel] Re: [RFC PATCH 0/5] Introduce canonical device hierarchy string, Gerd Hoffmann, 2010/06/14
[Qemu-devel] Re: [RFC PATCH 0/5] Introduce canonical device hierarchy string, Gerd Hoffmann, 2010/06/15
[Qemu-devel] Re: [RFC PATCH 0/5] Introduce canonical device hierarchy string, Alex Williamson, 2010/06/15
RFC qdev path semantics (was: [Qemu-devel] [RFC PATCH 0/5] Introduce canonical device hierarchy string), Markus Armbruster, 2010/06/16