* [Qemu-devel] [PATCH] virtio-pci: get config on init
@ 2011-08-03 15:37 Michael S. Tsirkin
0 siblings, 0 replies; only message in thread
From: Michael S. Tsirkin @ 2011-08-03 15:37 UTC (permalink / raw)
To: avi, qemu-devel; +Cc: Anthony Liguori
We originally did get config on map, so that
following write accesses are done on an updated config.
New memory API doesn't give us a callback
on map, and arguably, devices don't know when
cpu really can access there. So updating on
init seems cleaner.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
OK, this should go on Avi's branch and the memory
API can go on top.
hw/virtio-pci.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index 4f770fe..afae846 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -507,9 +507,6 @@ static void virtio_map(PCIDevice *pci_dev, int region_num,
register_ioport_read(addr, config_len, 1, virtio_pci_config_readb, proxy);
register_ioport_read(addr, config_len, 2, virtio_pci_config_readw, proxy);
register_ioport_read(addr, config_len, 4, virtio_pci_config_readl, proxy);
-
- if (vdev->config_len)
- vdev->get_config(vdev, vdev->config);
}
static void virtio_write_config(PCIDevice *pci_dev, uint32_t address,
@@ -689,6 +686,10 @@ void virtio_init_pci(VirtIOPCIProxy *proxy, VirtIODevice *vdev)
proxy->host_features |= 0x1 << VIRTIO_F_NOTIFY_ON_EMPTY;
proxy->host_features |= 0x1 << VIRTIO_F_BAD_FEATURE;
proxy->host_features = vdev->get_features(vdev, proxy->host_features);
+
+ if (vdev->config_len) {
+ vdev->get_config(vdev, vdev->config);
+ }
}
static int virtio_blk_init_pci(PCIDevice *pci_dev)
--
1.7.5.53.gc233e
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2011-08-03 15:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-03 15:37 [Qemu-devel] [PATCH] virtio-pci: get config on init Michael S. Tsirkin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.