diff mbox series

[v1,6/9] hw/virtio/pci: include vdev name in registered PCI sections

Message ID 20200602154624.4460-7-alex.bennee@linaro.org
State Superseded
Headers show
Series plugins/next (bug fixes, hwprofile, lockstep) | expand

Commit Message

Alex Bennée June 2, 2020, 3:46 p.m. UTC
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>

---
 hw/virtio/virtio-pci.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

-- 
2.20.1

Comments

Philippe Mathieu-Daudé June 2, 2020, 3:59 p.m. UTC | #1
On 6/2/20 5:46 PM, Alex Bennée wrote:
> 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>

> ---

>  hw/virtio/virtio-pci.c | 21 +++++++++++++--------

>  1 file changed, 13 insertions(+), 8 deletions(-)

> 

> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c

> index d028c17c240..9ee4ab26cfe 100644

> --- a/hw/virtio/virtio-pci.c

> +++ b/hw/virtio/virtio-pci.c

> @@ -1390,7 +1390,7 @@ 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 = {

>          .read = virtio_pci_common_read,

> @@ -1437,36 +1437,41 @@ static void virtio_pci_modern_regions_init(VirtIOPCIProxy *proxy)

>          },

>          .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),

>                            &common_ops,

>                            proxy,

> -                          "virtio-pci-common",

> +                          name->str,

>                            proxy->common.size);

>  

> +    g_string_printf(name, "virtio-pci-isr(%s)", vdev_name);

>      memory_region_init_io(&proxy->isr.mr, OBJECT(proxy),

>                            &isr_ops,

>                            proxy,

> -                          "virtio-pci-isr",

> +                          name->str,

>                            proxy->isr.size);

>  

> +    g_string_printf(name, "virtio-pci-device(%s)", vdev_name);

>      memory_region_init_io(&proxy->device.mr, OBJECT(proxy),

>                            &device_ops,

>                            virtio_bus_get_device(&proxy->bus),

> -                          "virtio-pci-device",

> +                          name->str,

>                            proxy->device.size);

>  

> +    g_string_printf(name, "virtio-pci-notify(%s)", vdev_name);

>      memory_region_init_io(&proxy->notify.mr, OBJECT(proxy),

>                            &notify_ops,

>                            virtio_bus_get_device(&proxy->bus),

> -                          "virtio-pci-notify",

> +                          name->str,

>                            proxy->notify.size);

>  

> +    g_string_printf(name, "virtio-pci-notify-pio(%s)", vdev_name);

>      memory_region_init_io(&proxy->notify_pio.mr, OBJECT(proxy),

>                            &notify_pio_ops,

>                            virtio_bus_get_device(&proxy->bus),

> -                          "virtio-pci-notify-pio",

> +                          name->str,

>                            proxy->notify_pio.size);

>  }

>  

> @@ -1607,7 +1612,7 @@ static void virtio_pci_device_plugged(DeviceState *d, Error **errp)

>  

>          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->isr, &cap);

> 


Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Michael S. Tsirkin June 4, 2020, 11:35 a.m. UTC | #2
On Tue, Jun 02, 2020 at 04:46:21PM +0100, Alex Bennée wrote:
> 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: Michael S. Tsirkin <mst@redhat.com>


Feel free to merge with the rest of it.

> ---

>  hw/virtio/virtio-pci.c | 21 +++++++++++++--------

>  1 file changed, 13 insertions(+), 8 deletions(-)

> 

> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c

> index d028c17c240..9ee4ab26cfe 100644

> --- a/hw/virtio/virtio-pci.c

> +++ b/hw/virtio/virtio-pci.c

> @@ -1390,7 +1390,7 @@ 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 = {

>          .read = virtio_pci_common_read,

> @@ -1437,36 +1437,41 @@ static void virtio_pci_modern_regions_init(VirtIOPCIProxy *proxy)

>          },

>          .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),

>                            &common_ops,

>                            proxy,

> -                          "virtio-pci-common",

> +                          name->str,

>                            proxy->common.size);

>  

> +    g_string_printf(name, "virtio-pci-isr(%s)", vdev_name);

>      memory_region_init_io(&proxy->isr.mr, OBJECT(proxy),

>                            &isr_ops,

>                            proxy,

> -                          "virtio-pci-isr",

> +                          name->str,

>                            proxy->isr.size);

>  

> +    g_string_printf(name, "virtio-pci-device(%s)", vdev_name);

>      memory_region_init_io(&proxy->device.mr, OBJECT(proxy),

>                            &device_ops,

>                            virtio_bus_get_device(&proxy->bus),

> -                          "virtio-pci-device",

> +                          name->str,

>                            proxy->device.size);

>  

> +    g_string_printf(name, "virtio-pci-notify(%s)", vdev_name);

>      memory_region_init_io(&proxy->notify.mr, OBJECT(proxy),

>                            &notify_ops,

>                            virtio_bus_get_device(&proxy->bus),

> -                          "virtio-pci-notify",

> +                          name->str,

>                            proxy->notify.size);

>  

> +    g_string_printf(name, "virtio-pci-notify-pio(%s)", vdev_name);

>      memory_region_init_io(&proxy->notify_pio.mr, OBJECT(proxy),

>                            &notify_pio_ops,

>                            virtio_bus_get_device(&proxy->bus),

> -                          "virtio-pci-notify-pio",

> +                          name->str,

>                            proxy->notify_pio.size);

>  }

>  

> @@ -1607,7 +1612,7 @@ static void virtio_pci_device_plugged(DeviceState *d, Error **errp)

>  

>          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->isr, &cap);

> -- 

> 2.20.1

> 

>
diff mbox series

Patch

diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index d028c17c240..9ee4ab26cfe 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1390,7 +1390,7 @@  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 = {
         .read = virtio_pci_common_read,
@@ -1437,36 +1437,41 @@  static void virtio_pci_modern_regions_init(VirtIOPCIProxy *proxy)
         },
         .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),
                           &common_ops,
                           proxy,
-                          "virtio-pci-common",
+                          name->str,
                           proxy->common.size);
 
+    g_string_printf(name, "virtio-pci-isr(%s)", vdev_name);
     memory_region_init_io(&proxy->isr.mr, OBJECT(proxy),
                           &isr_ops,
                           proxy,
-                          "virtio-pci-isr",
+                          name->str,
                           proxy->isr.size);
 
+    g_string_printf(name, "virtio-pci-device(%s)", vdev_name);
     memory_region_init_io(&proxy->device.mr, OBJECT(proxy),
                           &device_ops,
                           virtio_bus_get_device(&proxy->bus),
-                          "virtio-pci-device",
+                          name->str,
                           proxy->device.size);
 
+    g_string_printf(name, "virtio-pci-notify(%s)", vdev_name);
     memory_region_init_io(&proxy->notify.mr, OBJECT(proxy),
                           &notify_ops,
                           virtio_bus_get_device(&proxy->bus),
-                          "virtio-pci-notify",
+                          name->str,
                           proxy->notify.size);
 
+    g_string_printf(name, "virtio-pci-notify-pio(%s)", vdev_name);
     memory_region_init_io(&proxy->notify_pio.mr, OBJECT(proxy),
                           &notify_pio_ops,
                           virtio_bus_get_device(&proxy->bus),
-                          "virtio-pci-notify-pio",
+                          name->str,
                           proxy->notify_pio.size);
 }
 
@@ -1607,7 +1612,7 @@  static void virtio_pci_device_plugged(DeviceState *d, Error **errp)
 
         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->isr, &cap);