On 08/01/2011 11:26 AM, Michael S. Tsirkin wrote:
> > static void virtio_write_config(PCIDevice *pci_dev, uint32_t address, > uint32_t val, int len) > { > VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev); > + VirtIODevice *vdev = proxy->vdev; > > if (PCI_COMMAND == address) { > if (!(val& PCI_COMMAND_MASTER)) { > @@ -525,6 +503,9 @@ static void virtio_write_config(PCIDevice *pci_dev, uint32_t address, > } > } > } > + if (address == PCI_BASE_ADDRESS_0&& vdev->config_len) { > + vdev->get_config(vdev, vdev->config); > + } > > pci_default_write_config(pci_dev, address, val, len); > msix_write_config(pci_dev, address, val, len); I'm not really sure why did we get the config on map, specifically - Anthony, do you know? But if we want to do that, memory space enable might be a better place. Or maybe we just want a callback on map.
Just because a memory region becomes visible to the cpu is no reason to have a callback. From the device perspective, it can't tell that it happened.
-- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html