[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/9] util/vfio-helpers: Trace PCI BAR region info
From: |
Fam Zheng |
Subject: |
Re: [PATCH 3/9] util/vfio-helpers: Trace PCI BAR region info |
Date: |
Wed, 14 Oct 2020 13:23:22 +0100 |
On Wed, 2020-10-14 at 13:52 +0200, Philippe Mathieu-Daudé wrote:
> For debug purpose, trace BAR regions info.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> util/vfio-helpers.c | 8 ++++++++
> util/trace-events | 1 +
> 2 files changed, 9 insertions(+)
>
> diff --git a/util/vfio-helpers.c b/util/vfio-helpers.c
> index 1d4efafcaa4..cd6287c3a98 100644
> --- a/util/vfio-helpers.c
> +++ b/util/vfio-helpers.c
> @@ -136,6 +136,7 @@ static inline void
> assert_bar_index_valid(QEMUVFIOState *s, int index)
>
> static int qemu_vfio_pci_init_bar(QEMUVFIOState *s, int index, Error
> **errp)
> {
> + g_autofree char *barname = NULL;
> assert_bar_index_valid(s, index);
> s->bar_region_info[index] = (struct vfio_region_info) {
> .index = VFIO_PCI_BAR0_REGION_INDEX + index,
> @@ -145,6 +146,10 @@ static int qemu_vfio_pci_init_bar(QEMUVFIOState
> *s, int index, Error **errp)
> error_setg_errno(errp, errno, "Failed to get BAR region
> info");
> return -errno;
> }
> + barname = g_strdup_printf("bar[%d]", index);
Where is barname freed?
Fam
> + trace_qemu_vfio_region_info(barname, s-
> >bar_region_info[index].offset,
> + s->bar_region_info[index].size,
> + s-
> >bar_region_info[index].cap_offset);
>
> return 0;
> }
> @@ -416,6 +421,9 @@ static int qemu_vfio_init_pci(QEMUVFIOState *s,
> const char *device,
> ret = -errno;
> goto fail;
> }
> + trace_qemu_vfio_region_info("config", s-
> >config_region_info.offset,
> + s->config_region_info.size,
> + s->config_region_info.cap_offset);
>
> for (i = 0; i < ARRAY_SIZE(s->bar_region_info); i++) {
> ret = qemu_vfio_pci_init_bar(s, i, errp);
> diff --git a/util/trace-events b/util/trace-events
> index c048f85f828..4d40c74a21f 100644
> --- a/util/trace-events
> +++ b/util/trace-events
> @@ -87,3 +87,4 @@ qemu_vfio_dma_map(void *s, void *host, size_t size,
> bool temporary, uint64_t *io
> qemu_vfio_dma_unmap(void *s, void *host) "s %p host %p"
> qemu_vfio_pci_read_config(void *buf, int ofs, int size, uint64_t
> region_ofs, uint64_t region_size) "read cfg ptr %p ofs 0x%x size %d
> (region ofs 0x%"PRIx64" size %"PRId64")"
> qemu_vfio_pci_write_config(void *buf, int ofs, int size, uint64_t
> region_ofs, uint64_t region_size) "write cfg ptr %p ofs 0x%x size %d
> (region ofs 0x%"PRIx64" size %"PRId64")"
> +qemu_vfio_region_info(const char *desc, uint64_t offset, uint64_t
> size, uint32_t cap_offset) "region '%s' ofs 0x%"PRIx64" size
> %"PRId64" cap_ofs %"PRId32
- [PATCH 0/9] util/vfio-helpers: Improve debugging experience, Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 1/9] util/vfio-helpers: Improve reporting unsupported IOMMU type, Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 2/9] util/vfio-helpers: Trace PCI I/O config accesses, Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 3/9] util/vfio-helpers: Trace PCI BAR region info, Philippe Mathieu-Daudé, 2020/10/14
- Re: [PATCH 3/9] util/vfio-helpers: Trace PCI BAR region info,
Fam Zheng <=
- [PATCH 4/9] util/vfio-helpers: Trace where BARs are mapped, Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 6/9] util/vfio-helpers: Convert vfio_dump_mapping to trace events, Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 7/9] util/vfio-helpers: Let qemu_vfio_dma_map() propagate Error, Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 8/9] util/vfio-helpers: Let qemu_vfio_do_mapping() propagate Error, Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 9/9] util/vfio-helpers: Let qemu_vfio_verify_mappings() use error_report(), Philippe Mathieu-Daudé, 2020/10/14
- [PATCH 5/9] util/vfio-helpers: Improve DMA trace events, Philippe Mathieu-Daudé, 2020/10/14
- Re: [PATCH 0/9] util/vfio-helpers: Improve debugging experience, Fam Zheng, 2020/10/14