Revision 01657c86 hw/virtio-net.c
b/hw/virtio-net.c | ||
---|---|---|
60 | 60 |
uint8_t *macs; |
61 | 61 |
} mac_table; |
62 | 62 |
uint32_t *vlans; |
63 |
DeviceState *qdev; |
|
63 | 64 |
} VirtIONet; |
64 | 65 |
|
65 | 66 |
/* TODO |
... | ... | |
890 | 891 |
VirtIODevice *virtio_net_init(DeviceState *dev, NICConf *conf) |
891 | 892 |
{ |
892 | 893 |
VirtIONet *n; |
893 |
static int virtio_net_id; |
|
894 | 894 |
|
895 | 895 |
n = (VirtIONet *)virtio_common_init("virtio-net", VIRTIO_ID_NET, |
896 | 896 |
sizeof(struct virtio_net_config), |
... | ... | |
923 | 923 |
|
924 | 924 |
n->vlans = qemu_mallocz(MAX_VLAN >> 3); |
925 | 925 |
|
926 |
register_savevm(NULL, "virtio-net", virtio_net_id++, VIRTIO_NET_VM_VERSION, |
|
926 |
n->qdev = dev; |
|
927 |
register_savevm(dev, "virtio-net", -1, VIRTIO_NET_VM_VERSION, |
|
927 | 928 |
virtio_net_save, virtio_net_load, n); |
928 | 929 |
n->vmstate = qemu_add_vm_change_state_handler(virtio_net_vmstate_change, n); |
929 | 930 |
|
... | ... | |
941 | 942 |
|
942 | 943 |
qemu_purge_queued_packets(&n->nic->nc); |
943 | 944 |
|
944 |
unregister_savevm(NULL, "virtio-net", n);
|
|
945 |
unregister_savevm(n->qdev, "virtio-net", n);
|
|
945 | 946 |
|
946 | 947 |
qemu_free(n->mac_table.macs); |
947 | 948 |
qemu_free(n->vlans); |
Also available in: Unified diff