util/vfio-helpers: Trace PCI BAR region info
For debug purpose, trace BAR regions info. Reviewed-by: Fam Zheng <fam@euphon.net> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20201103020733.2303148-4-philmd@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Tested-by: Eric Auger <eric.auger@redhat.com>
This commit is contained in:
parent
3d87c2d943
commit
df058222e7
@ -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 0x%x (region addr 0x%"PRIx64" size 0x%"PRIx64")"
|
||||
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 0x%x (region addr 0x%"PRIx64" size 0x%"PRIx64")"
|
||||
qemu_vfio_region_info(const char *desc, uint64_t region_ofs, uint64_t region_size, uint32_t cap_offset) "region '%s' addr 0x%"PRIx64" size 0x%"PRIx64" cap_ofs 0x%"PRIx32
|
||||
|
@ -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);
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user