hw/virtio/pci: include vdev name in registered PCI sections
When viewing/debugging memory regions it is sometimes hard to figure out which PCI device something belongs to. Make the names unique by including the vdev name in the name string. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20210213130325.14781-2-alex.bennee@linaro.org>
This commit is contained in:
parent
1af5629673
commit
b74259e3de
|
@ -1423,7 +1423,8 @@ static void virtio_pci_device_write(void *opaque, hwaddr addr,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void virtio_pci_modern_regions_init(VirtIOPCIProxy *proxy)
|
static void virtio_pci_modern_regions_init(VirtIOPCIProxy *proxy,
|
||||||
|
const char *vdev_name)
|
||||||
{
|
{
|
||||||
static const MemoryRegionOps common_ops = {
|
static const MemoryRegionOps common_ops = {
|
||||||
.read = virtio_pci_common_read,
|
.read = virtio_pci_common_read,
|
||||||
|
@ -1470,36 +1471,41 @@ static void virtio_pci_modern_regions_init(VirtIOPCIProxy *proxy)
|
||||||
},
|
},
|
||||||
.endianness = DEVICE_LITTLE_ENDIAN,
|
.endianness = DEVICE_LITTLE_ENDIAN,
|
||||||
};
|
};
|
||||||
|
g_autoptr(GString) name = g_string_new(NULL);
|
||||||
|
|
||||||
|
g_string_printf(name, "virtio-pci-common-%s", vdev_name);
|
||||||
memory_region_init_io(&proxy->common.mr, OBJECT(proxy),
|
memory_region_init_io(&proxy->common.mr, OBJECT(proxy),
|
||||||
&common_ops,
|
&common_ops,
|
||||||
proxy,
|
proxy,
|
||||||
"virtio-pci-common",
|
name->str,
|
||||||
proxy->common.size);
|
proxy->common.size);
|
||||||
|
|
||||||
|
g_string_printf(name, "virtio-pci-isr-%s", vdev_name);
|
||||||
memory_region_init_io(&proxy->isr.mr, OBJECT(proxy),
|
memory_region_init_io(&proxy->isr.mr, OBJECT(proxy),
|
||||||
&isr_ops,
|
&isr_ops,
|
||||||
proxy,
|
proxy,
|
||||||
"virtio-pci-isr",
|
name->str,
|
||||||
proxy->isr.size);
|
proxy->isr.size);
|
||||||
|
|
||||||
|
g_string_printf(name, "virtio-pci-device-%s", vdev_name);
|
||||||
memory_region_init_io(&proxy->device.mr, OBJECT(proxy),
|
memory_region_init_io(&proxy->device.mr, OBJECT(proxy),
|
||||||
&device_ops,
|
&device_ops,
|
||||||
proxy,
|
proxy,
|
||||||
"virtio-pci-device",
|
name->str,
|
||||||
proxy->device.size);
|
proxy->device.size);
|
||||||
|
|
||||||
|
g_string_printf(name, "virtio-pci-notify-%s", vdev_name);
|
||||||
memory_region_init_io(&proxy->notify.mr, OBJECT(proxy),
|
memory_region_init_io(&proxy->notify.mr, OBJECT(proxy),
|
||||||
¬ify_ops,
|
¬ify_ops,
|
||||||
proxy,
|
proxy,
|
||||||
"virtio-pci-notify",
|
name->str,
|
||||||
proxy->notify.size);
|
proxy->notify.size);
|
||||||
|
|
||||||
|
g_string_printf(name, "virtio-pci-notify-pio-%s", vdev_name);
|
||||||
memory_region_init_io(&proxy->notify_pio.mr, OBJECT(proxy),
|
memory_region_init_io(&proxy->notify_pio.mr, OBJECT(proxy),
|
||||||
¬ify_pio_ops,
|
¬ify_pio_ops,
|
||||||
proxy,
|
proxy,
|
||||||
"virtio-pci-notify-pio",
|
name->str,
|
||||||
proxy->notify_pio.size);
|
proxy->notify_pio.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1654,7 +1660,7 @@ static void virtio_pci_device_plugged(DeviceState *d, Error **errp)
|
||||||
|
|
||||||
struct virtio_pci_cfg_cap *cfg_mask;
|
struct virtio_pci_cfg_cap *cfg_mask;
|
||||||
|
|
||||||
virtio_pci_modern_regions_init(proxy);
|
virtio_pci_modern_regions_init(proxy, vdev->name);
|
||||||
|
|
||||||
virtio_pci_modern_mem_region_map(proxy, &proxy->common, &cap);
|
virtio_pci_modern_mem_region_map(proxy, &proxy->common, &cap);
|
||||||
virtio_pci_modern_mem_region_map(proxy, &proxy->isr, &cap);
|
virtio_pci_modern_mem_region_map(proxy, &proxy->isr, &cap);
|
||||||
|
|
Loading…
Reference in a new issue