xref: /qemu/hw/vfio/trace-events (revision b49f4755)
1# See docs/devel/tracing.rst for syntax documentation.
2
3# pci.c
4vfio_intx_interrupt(const char *name, char line) " (%s) Pin %c"
5vfio_intx_eoi(const char *name) " (%s) EOI"
6vfio_intx_enable_kvm(const char *name) " (%s) KVM INTx accel enabled"
7vfio_intx_disable_kvm(const char *name) " (%s) KVM INTx accel disabled"
8vfio_intx_update(const char *name, int new_irq, int target_irq) " (%s) IRQ moved %d -> %d"
9vfio_intx_enable(const char *name) " (%s)"
10vfio_intx_disable(const char *name) " (%s)"
11vfio_msi_interrupt(const char *name, int index, uint64_t addr, int data) " (%s) vector %d 0x%"PRIx64"/0x%x"
12vfio_msix_vector_do_use(const char *name, int index) " (%s) vector %d used"
13vfio_msix_vector_release(const char *name, int index) " (%s) vector %d released"
14vfio_msix_enable(const char *name) " (%s)"
15vfio_msix_pba_disable(const char *name) " (%s)"
16vfio_msix_pba_enable(const char *name) " (%s)"
17vfio_msix_disable(const char *name) " (%s)"
18vfio_msix_fixup(const char *name, int bar, uint64_t start, uint64_t end) " (%s) MSI-X region %d mmap fixup [0x%"PRIx64" - 0x%"PRIx64"]"
19vfio_msix_relo(const char *name, int bar, uint64_t offset) " (%s) BAR %d offset 0x%"PRIx64""
20vfio_msi_enable(const char *name, int nr_vectors) " (%s) Enabled %d MSI vectors"
21vfio_msi_disable(const char *name) " (%s)"
22vfio_pci_load_rom(const char *name, unsigned long size, unsigned long offset, unsigned long flags) "Device %s ROM:\n  size: 0x%lx, offset: 0x%lx, flags: 0x%lx"
23vfio_rom_read(const char *name, uint64_t addr, int size, uint64_t data) " (%s, 0x%"PRIx64", 0x%x) = 0x%"PRIx64
24vfio_pci_size_rom(const char *name, int size) "%s ROM size 0x%x"
25vfio_vga_write(uint64_t addr, uint64_t data, int size) " (0x%"PRIx64", 0x%"PRIx64", %d)"
26vfio_vga_read(uint64_t addr, int size, uint64_t data) " (0x%"PRIx64", %d) = 0x%"PRIx64
27vfio_pci_read_config(const char *name, int addr, int len, int val) " (%s, @0x%x, len=0x%x) 0x%x"
28vfio_pci_write_config(const char *name, int addr, int val, int len) " (%s, @0x%x, 0x%x, len=0x%x)"
29vfio_msi_setup(const char *name, int pos) "%s PCI MSI CAP @0x%x"
30vfio_msix_early_setup(const char *name, int pos, int table_bar, int offset, int entries, bool noresize) "%s PCI MSI-X CAP @0x%x, BAR %d, offset 0x%x, entries %d, noresize %d"
31vfio_check_pcie_flr(const char *name) "%s Supports FLR via PCIe cap"
32vfio_check_pm_reset(const char *name) "%s Supports PM reset"
33vfio_check_af_flr(const char *name) "%s Supports FLR via AF cap"
34vfio_pci_hot_reset(const char *name, const char *type) " (%s) %s"
35vfio_pci_hot_reset_has_dep_devices(const char *name) "%s: hot reset dependent devices:"
36vfio_pci_hot_reset_dep_devices(int domain, int bus, int slot, int function, int group_id) "\t%04x:%02x:%02x.%x group %d"
37vfio_pci_hot_reset_result(const char *name, const char *result) "%s hot reset: %s"
38vfio_populate_device_config(const char *name, unsigned long size, unsigned long offset, unsigned long flags) "Device %s config:\n  size: 0x%lx, offset: 0x%lx, flags: 0x%lx"
39vfio_populate_device_get_irq_info_failure(const char *errstr) "VFIO_DEVICE_GET_IRQ_INFO failure: %s"
40vfio_attach_device(const char *name, int group_id) " (%s) group %d"
41vfio_detach_device(const char *name, int group_id) " (%s) group %d"
42vfio_mdev(const char *name, bool is_mdev) " (%s) is_mdev %d"
43vfio_add_ext_cap_dropped(const char *name, uint16_t cap, uint16_t offset) "%s 0x%x@0x%x"
44vfio_pci_reset(const char *name) " (%s)"
45vfio_pci_reset_flr(const char *name) "%s FLR/VFIO_DEVICE_RESET"
46vfio_pci_reset_pm(const char *name) "%s PCI PM Reset"
47vfio_pci_emulated_vendor_id(const char *name, uint16_t val) "%s 0x%04x"
48vfio_pci_emulated_device_id(const char *name, uint16_t val) "%s 0x%04x"
49vfio_pci_emulated_sub_vendor_id(const char *name, uint16_t val) "%s 0x%04x"
50vfio_pci_emulated_sub_device_id(const char *name, uint16_t val) "%s 0x%04x"
51
52# pci-quirks.c
53vfio_quirk_rom_in_denylist(const char *name, uint16_t vid, uint16_t did) "%s %04x:%04x"
54vfio_quirk_generic_window_address_write(const char *name, const char * region_name, uint64_t data) "%s %s 0x%"PRIx64
55vfio_quirk_generic_window_data_read(const char *name, const char * region_name, uint64_t data) "%s %s 0x%"PRIx64
56vfio_quirk_generic_window_data_write(const char *name, const char * region_name, uint64_t data) "%s %s 0x%"PRIx64
57vfio_quirk_generic_mirror_read(const char *name, const char * region_name, uint64_t addr, uint64_t data) "%s %s 0x%"PRIx64": 0x%"PRIx64
58vfio_quirk_generic_mirror_write(const char *name, const char * region_name, uint64_t addr, uint64_t data) "%s %s 0x%"PRIx64": 0x%"PRIx64
59vfio_quirk_ati_3c3_read(const char *name, uint64_t data) "%s 0x%"PRIx64
60vfio_quirk_ati_3c3_probe(const char *name) "%s"
61vfio_quirk_ati_bar4_probe(const char *name) "%s"
62vfio_quirk_ati_bar2_probe(const char *name) "%s"
63vfio_quirk_nvidia_3d0_state(const char *name, const char *state) "%s %s"
64vfio_quirk_nvidia_3d0_read(const char *name, uint8_t offset, unsigned size, uint64_t val) " (%s, @0x%x, len=0x%x) 0x%"PRIx64
65vfio_quirk_nvidia_3d0_write(const char *name, uint8_t offset, uint64_t data, unsigned size) "(%s, @0x%x, 0x%"PRIx64", len=0x%x)"
66vfio_quirk_nvidia_3d0_probe(const char *name) "%s"
67vfio_quirk_nvidia_bar5_state(const char *name, const char *state) "%s %s"
68vfio_quirk_nvidia_bar5_probe(const char *name) "%s"
69vfio_quirk_nvidia_bar0_msi_ack(const char *name) "%s"
70vfio_quirk_nvidia_bar0_probe(const char *name) "%s"
71vfio_quirk_rtl8168_fake_latch(const char *name, uint64_t val) "%s 0x%"PRIx64
72vfio_quirk_rtl8168_msix_write(const char *name, uint16_t offset, uint64_t val) "%s MSI-X table write[0x%x]: 0x%"PRIx64
73vfio_quirk_rtl8168_msix_read(const char *name, uint16_t offset, uint64_t val) "%s MSI-X table read[0x%x]: 0x%"PRIx64
74vfio_quirk_rtl8168_probe(const char *name) "%s"
75
76vfio_quirk_ati_bonaire_reset_skipped(const char *name) "%s"
77vfio_quirk_ati_bonaire_reset_no_smc(const char *name) "%s"
78vfio_quirk_ati_bonaire_reset_timeout(const char *name) "%s"
79vfio_quirk_ati_bonaire_reset_done(const char *name) "%s"
80vfio_quirk_ati_bonaire_reset(const char *name) "%s"
81vfio_ioeventfd_exit(const char *name, uint64_t addr, unsigned size, uint64_t data) "%s+0x%"PRIx64"[%d]:0x%"PRIx64
82vfio_ioeventfd_handler(const char *name, uint64_t addr, unsigned size, uint64_t data) "%s+0x%"PRIx64"[%d] -> 0x%"PRIx64
83vfio_ioeventfd_init(const char *name, uint64_t addr, unsigned size, uint64_t data, bool vfio) "%s+0x%"PRIx64"[%d]:0x%"PRIx64" vfio:%d"
84vfio_pci_igd_opregion_enabled(const char *name) "%s"
85
86# igd.c
87vfio_pci_igd_bar4_write(const char *name, uint32_t index, uint32_t data, uint32_t base) "%s [0x%03x] 0x%08x -> 0x%08x"
88vfio_pci_igd_bdsm_enabled(const char *name, int size) "%s %dMB"
89vfio_pci_igd_host_bridge_enabled(const char *name) "%s"
90vfio_pci_igd_lpc_bridge_enabled(const char *name) "%s"
91
92# common.c
93vfio_region_write(const char *name, int index, uint64_t addr, uint64_t data, unsigned size) " (%s:region%d+0x%"PRIx64", 0x%"PRIx64 ", %d)"
94vfio_region_read(char *name, int index, uint64_t addr, unsigned size, uint64_t data) " (%s:region%d+0x%"PRIx64", %d) = 0x%"PRIx64
95vfio_iommu_map_notify(const char *op, uint64_t iova_start, uint64_t iova_end) "iommu %s @ 0x%"PRIx64" - 0x%"PRIx64
96vfio_listener_region_skip(const char *name, uint64_t start, uint64_t end) "SKIPPING %s 0x%"PRIx64" - 0x%"PRIx64
97vfio_spapr_group_attach(int groupfd, int tablefd) "Attached groupfd %d to liobn fd %d"
98vfio_listener_region_add_iommu(uint64_t start, uint64_t end) "region_add [iommu] 0x%"PRIx64" - 0x%"PRIx64
99vfio_listener_region_add_ram(uint64_t iova_start, uint64_t iova_end, void *vaddr) "region_add [ram] 0x%"PRIx64" - 0x%"PRIx64" [%p]"
100vfio_known_safe_misalignment(const char *name, uint64_t iova, uint64_t offset_within_region, uintptr_t page_size) "Region \"%s\" iova=0x%"PRIx64" offset_within_region=0x%"PRIx64" qemu_real_host_page_size=0x%"PRIxPTR
101vfio_listener_region_add_no_dma_map(const char *name, uint64_t iova, uint64_t size, uint64_t page_size) "Region \"%s\" 0x%"PRIx64" size=0x%"PRIx64" is not aligned to 0x%"PRIx64" and cannot be mapped for DMA"
102vfio_listener_region_del(uint64_t start, uint64_t end) "region_del 0x%"PRIx64" - 0x%"PRIx64
103vfio_device_dirty_tracking_update(uint64_t start, uint64_t end, uint64_t min, uint64_t max) "section 0x%"PRIx64" - 0x%"PRIx64" -> update [0x%"PRIx64" - 0x%"PRIx64"]"
104vfio_device_dirty_tracking_start(int nr_ranges, uint64_t min32, uint64_t max32, uint64_t min64, uint64_t max64, uint64_t minpci, uint64_t maxpci) "nr_ranges %d 32:[0x%"PRIx64" - 0x%"PRIx64"], 64:[0x%"PRIx64" - 0x%"PRIx64"], pci64:[0x%"PRIx64" - 0x%"PRIx64"]"
105vfio_disconnect_container(int fd) "close container->fd=%d"
106vfio_put_group(int fd) "close group->fd=%d"
107vfio_get_device(const char * name, unsigned int flags, unsigned int num_regions, unsigned int num_irqs) "Device %s flags: %u, regions: %u, irqs: %u"
108vfio_put_base_device(int fd) "close vdev->fd=%d"
109vfio_region_setup(const char *dev, int index, const char *name, unsigned long flags, unsigned long offset, unsigned long size) "Device %s, region %d \"%s\", flags: 0x%lx, offset: 0x%lx, size: 0x%lx"
110vfio_region_mmap_fault(const char *name, int index, unsigned long offset, unsigned long size, int fault) "Region %s mmaps[%d], [0x%lx - 0x%lx], fault: %d"
111vfio_region_mmap(const char *name, unsigned long offset, unsigned long end) "Region %s [0x%lx - 0x%lx]"
112vfio_region_exit(const char *name, int index) "Device %s, region %d"
113vfio_region_finalize(const char *name, int index) "Device %s, region %d"
114vfio_region_mmaps_set_enabled(const char *name, bool enabled) "Region %s mmaps enabled: %d"
115vfio_region_unmap(const char *name, unsigned long offset, unsigned long end) "Region %s unmap [0x%lx - 0x%lx]"
116vfio_region_sparse_mmap_header(const char *name, int index, int nr_areas) "Device %s region %d: %d sparse mmap entries"
117vfio_region_sparse_mmap_entry(int i, unsigned long start, unsigned long end) "sparse entry %d [0x%lx - 0x%lx]"
118vfio_get_dev_region(const char *name, int index, uint32_t type, uint32_t subtype) "%s index %d, %08x/%08x"
119vfio_legacy_dma_unmap_overflow_workaround(void) ""
120vfio_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
121vfio_iommu_map_dirty_notify(uint64_t iova_start, uint64_t iova_end) "iommu dirty @ 0x%"PRIx64" - 0x%"PRIx64
122
123# platform.c
124vfio_platform_realize(char *name, char *compat) "vfio device %s, compat = %s"
125vfio_platform_eoi(int pin, int fd) "EOI IRQ pin %d (fd=%d)"
126vfio_platform_intp_mmap_enable(int pin) "IRQ #%d still active, stay in slow path"
127vfio_platform_intp_interrupt(int pin, int fd) "Inject IRQ #%d (fd = %d)"
128vfio_platform_intp_inject_pending_lockheld(int pin, int fd) "Inject pending IRQ #%d (fd = %d)"
129vfio_platform_populate_interrupts(int pin, int count, int flags) "- IRQ index %d: count %d, flags=0x%x"
130vfio_intp_interrupt_set_pending(int index) "irq %d is set PENDING"
131vfio_platform_start_level_irqfd_injection(int index, int fd, int resamplefd) "IRQ index=%d, fd = %d, resamplefd = %d"
132vfio_platform_start_edge_irqfd_injection(int index, int fd) "IRQ index=%d, fd = %d"
133
134# spapr.c
135vfio_prereg_listener_region_add_skip(uint64_t start, uint64_t end) "0x%"PRIx64" - 0x%"PRIx64
136vfio_prereg_listener_region_del_skip(uint64_t start, uint64_t end) "0x%"PRIx64" - 0x%"PRIx64
137vfio_prereg_register(uint64_t va, uint64_t size, int ret) "va=0x%"PRIx64" size=0x%"PRIx64" ret=%d"
138vfio_prereg_unregister(uint64_t va, uint64_t size, int ret) "va=0x%"PRIx64" size=0x%"PRIx64" ret=%d"
139vfio_spapr_create_window(int ps, unsigned int levels, uint64_t ws, uint64_t off) "pageshift=0x%x levels=%u winsize=0x%"PRIx64" offset=0x%"PRIx64
140vfio_spapr_remove_window(uint64_t off) "offset=0x%"PRIx64
141
142# display.c
143vfio_display_edid_available(void) ""
144vfio_display_edid_link_up(void) ""
145vfio_display_edid_link_down(void) ""
146vfio_display_edid_update(uint32_t prefx, uint32_t prefy) "%ux%u"
147vfio_display_edid_write_error(void) ""
148
149# migration.c
150vfio_load_cleanup(const char *name) " (%s)"
151vfio_load_device_config_state(const char *name) " (%s)"
152vfio_load_state(const char *name, uint64_t data) " (%s) data 0x%"PRIx64
153vfio_load_state_device_data(const char *name, uint64_t data_size, int ret) " (%s) size 0x%"PRIx64" ret %d"
154vfio_migration_realize(const char *name) " (%s)"
155vfio_migration_set_state(const char *name, const char *state) " (%s) state %s"
156vfio_migration_state_notifier(const char *name, const char *state) " (%s) state %s"
157vfio_save_block(const char *name, int data_size) " (%s) data_size %d"
158vfio_save_cleanup(const char *name) " (%s)"
159vfio_save_complete_precopy(const char *name, int ret) " (%s) ret %d"
160vfio_save_device_config_state(const char *name) " (%s)"
161vfio_save_iterate(const char *name, uint64_t precopy_init_size, uint64_t precopy_dirty_size) " (%s) precopy initial size 0x%"PRIx64" precopy dirty size 0x%"PRIx64
162vfio_save_setup(const char *name, uint64_t data_buffer_size) " (%s) data buffer size 0x%"PRIx64
163vfio_state_pending_estimate(const char *name, uint64_t precopy, uint64_t postcopy, uint64_t precopy_init_size, uint64_t precopy_dirty_size) " (%s) precopy 0x%"PRIx64" postcopy 0x%"PRIx64" precopy initial size 0x%"PRIx64" precopy dirty size 0x%"PRIx64
164vfio_state_pending_exact(const char *name, uint64_t precopy, uint64_t postcopy, uint64_t stopcopy_size, uint64_t precopy_init_size, uint64_t precopy_dirty_size) " (%s) precopy 0x%"PRIx64" postcopy 0x%"PRIx64" stopcopy size 0x%"PRIx64" precopy initial size 0x%"PRIx64" precopy dirty size 0x%"PRIx64
165vfio_vmstate_change(const char *name, int running, const char *reason, const char *dev_state) " (%s) running %d reason %s device state %s"
166vfio_vmstate_change_prepare(const char *name, int running, const char *reason, const char *dev_state) " (%s) running %d reason %s device state %s"
167
168#iommufd.c
169
170iommufd_cdev_connect_and_bind(int iommufd, const char *name, int devfd, int devid) " [iommufd=%d] Successfully bound device %s (fd=%d): output devid=%d"
171iommufd_cdev_getfd(const char *dev, int devfd) " %s (fd=%d)"
172iommufd_cdev_attach_ioas_hwpt(int iommufd, const char *name, int devfd, int id) " [iommufd=%d] Successfully attached device %s (%d) to id=%d"
173iommufd_cdev_detach_ioas_hwpt(int iommufd, const char *name) " [iommufd=%d] Successfully detached %s"
174iommufd_cdev_fail_attach_existing_container(const char *msg) " %s"
175iommufd_cdev_alloc_ioas(int iommufd, int ioas_id) " [iommufd=%d] new IOMMUFD container with ioasid=%d"
176iommufd_cdev_device_info(char *name, int devfd, int num_irqs, int num_regions, int flags) " %s (%d) num_irqs=%d num_regions=%d flags=%d"
177iommufd_cdev_pci_hot_reset_dep_devices(int domain, int bus, int slot, int function, int dev_id) "\t%04x:%02x:%02x.%x devid %d"
178