Message ID | 20250206142307.921070-6-eric.auger@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Fix vIOMMU reset order | expand |
On 2/6/25 15:21, Eric Auger wrote: > To ease the debug of reset sequence, let's add a trace point > in vfio_reset_handler() > > Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > --- > hw/vfio/common.c | 1 + > hw/vfio/trace-events | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/hw/vfio/common.c b/hw/vfio/common.c > index f7499a9b74..173fb3a997 100644 > --- a/hw/vfio/common.c > +++ b/hw/vfio/common.c > @@ -1386,6 +1386,7 @@ void vfio_reset_handler(void *opaque) > { > VFIODevice *vbasedev; > > + trace_vfio_reset_handler(); > QLIST_FOREACH(vbasedev, &vfio_device_list, global_next) { > if (vbasedev->dev->realized) { > vbasedev->ops->vfio_compute_needs_reset(vbasedev); > diff --git a/hw/vfio/trace-events b/hw/vfio/trace-events > index cab1cf1de0..c5385e1a4f 100644 > --- a/hw/vfio/trace-events > +++ b/hw/vfio/trace-events > @@ -120,6 +120,7 @@ vfio_get_dev_region(const char *name, int index, uint32_t type, uint32_t subtype > vfio_legacy_dma_unmap_overflow_workaround(void) "" > vfio_get_dirty_bitmap(uint64_t iova, uint64_t size, uint64_t bitmap_size, uint64_t start, uint64_t dirty_pages) "iova=0x%"PRIx64" size= 0x%"PRIx64" bitmap_size=0x%"PRIx64" start=0x%"PRIx64" dirty_pages=%"PRIu64 > vfio_iommu_map_dirty_notify(uint64_t iova_start, uint64_t iova_end) "iommu dirty @ 0x%"PRIx64" - 0x%"PRIx64 > +vfio_reset_handler(void) "" > > # platform.c > vfio_platform_realize(char *name, char *compat) "vfio device %s, compat = %s"
diff --git a/hw/vfio/common.c b/hw/vfio/common.c index f7499a9b74..173fb3a997 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -1386,6 +1386,7 @@ void vfio_reset_handler(void *opaque) { VFIODevice *vbasedev; + trace_vfio_reset_handler(); QLIST_FOREACH(vbasedev, &vfio_device_list, global_next) { if (vbasedev->dev->realized) { vbasedev->ops->vfio_compute_needs_reset(vbasedev); diff --git a/hw/vfio/trace-events b/hw/vfio/trace-events index cab1cf1de0..c5385e1a4f 100644 --- a/hw/vfio/trace-events +++ b/hw/vfio/trace-events @@ -120,6 +120,7 @@ vfio_get_dev_region(const char *name, int index, uint32_t type, uint32_t subtype vfio_legacy_dma_unmap_overflow_workaround(void) "" vfio_get_dirty_bitmap(uint64_t iova, uint64_t size, uint64_t bitmap_size, uint64_t start, uint64_t dirty_pages) "iova=0x%"PRIx64" size= 0x%"PRIx64" bitmap_size=0x%"PRIx64" start=0x%"PRIx64" dirty_pages=%"PRIu64 vfio_iommu_map_dirty_notify(uint64_t iova_start, uint64_t iova_end) "iommu dirty @ 0x%"PRIx64" - 0x%"PRIx64 +vfio_reset_handler(void) "" # platform.c vfio_platform_realize(char *name, char *compat) "vfio device %s, compat = %s"
To ease the debug of reset sequence, let's add a trace point in vfio_reset_handler() Signed-off-by: Eric Auger <eric.auger@redhat.com> --- hw/vfio/common.c | 1 + hw/vfio/trace-events | 1 + 2 files changed, 2 insertions(+)