qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Fam Zheng <fam@euphon.net>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org, Max Reitz <mreitz@redhat.com>
Subject: Re: [PATCH 3/9] util/vfio-helpers: Trace PCI BAR region info
Date: Wed, 14 Oct 2020 14:42:25 +0200	[thread overview]
Message-ID: <739a3c0f-9fa6-1428-f2d2-52685cc9317e@redhat.com> (raw)
In-Reply-To: <fcfd9c11764d8c8d181eb62da0e307d1143ef1b2.camel@euphon.net>

On 10/14/20 2:23 PM, Fam Zheng wrote:
> 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?

Using GLib g_autofree qualifier.

> 
> 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
> 



  reply	other threads:[~2020-10-14 12:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-14 11:52 [PATCH 0/9] util/vfio-helpers: Improve debugging experience Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 1/9] util/vfio-helpers: Improve reporting unsupported IOMMU type Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 2/9] util/vfio-helpers: Trace PCI I/O config accesses Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 3/9] util/vfio-helpers: Trace PCI BAR region info Philippe Mathieu-Daudé
2020-10-14 12:23   ` Fam Zheng
2020-10-14 12:42     ` Philippe Mathieu-Daudé [this message]
2020-10-14 11:52 ` [PATCH 4/9] util/vfio-helpers: Trace where BARs are mapped Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 5/9] util/vfio-helpers: Improve DMA trace events Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 6/9] util/vfio-helpers: Convert vfio_dump_mapping to " Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 7/9] util/vfio-helpers: Let qemu_vfio_dma_map() propagate Error Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 8/9] util/vfio-helpers: Let qemu_vfio_do_mapping() " Philippe Mathieu-Daudé
2020-10-14 11:52 ` [PATCH 9/9] util/vfio-helpers: Let qemu_vfio_verify_mappings() use error_report() Philippe Mathieu-Daudé
2020-10-14 12:34 ` [PATCH 0/9] util/vfio-helpers: Improve debugging experience Fam Zheng
2020-10-14 12:42   ` Philippe Mathieu-Daudé
2020-10-14 12:50     ` Fam Zheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=739a3c0f-9fa6-1428-f2d2-52685cc9317e@redhat.com \
    --to=philmd@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=fam@euphon.net \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).