| 1 | # See docs/devel/tracing.rst for syntax documentation. |
| 2 | # |
| 3 | # SPDX-License-Identifier: GPL-2.0-or-later |
| 4 | |
| 5 | # pci.c |
| 6 | vfio_intx_interrupt(const char *name, char line) " (%s) Pin %c" |
| 7 | vfio_pci_intx_eoi(const char *name) " (%s) EOI" |
| 8 | vfio_intx_enable_kvm(const char *name) " (%s) KVM INTx accel enabled" |
| 9 | vfio_intx_disable_kvm(const char *name) " (%s) KVM INTx accel disabled" |
| 10 | vfio_intx_update(const char *name, int new_irq, int target_irq) " (%s) IRQ moved %d -> %d" |
| 11 | vfio_intx_enable(const char *name) " (%s)" |
| 12 | vfio_intx_disable(const char *name) " (%s)" |
| 13 | vfio_msi_interrupt(const char *name, int index, uint64_t addr, int data) " (%s) vector %d 0x%"PRIx64"/0x%x" |
| 14 | vfio_msix_vector_do_use(const char *name, int index) " (%s) vector %d used" |
| 15 | vfio_msix_vector_release(const char *name, int index) " (%s) vector %d released" |
| 16 | vfio_msix_enable(const char *name) " (%s)" |
| 17 | vfio_msix_pba_disable(const char *name) " (%s)" |
| 18 | vfio_msix_pba_enable(const char *name) " (%s)" |
| 19 | vfio_msix_disable(const char *name) " (%s)" |
| 20 | vfio_msix_fixup(const char *name, int bar, uint64_t start, uint64_t end) " (%s) MSI-X region %d mmap fixup [0x%"PRIx64" - 0x%"PRIx64"]" |
| 21 | vfio_msix_relo(const char *name, int bar, uint64_t offset) " (%s) BAR %d offset 0x%"PRIx64"" |
| 22 | vfio_msi_enable(const char *name, int nr_vectors) " (%s) Enabled %d MSI vectors" |
| 23 | vfio_msi_disable(const char *name) " (%s)" |
| 24 | vfio_pci_load_rom(const char *name, unsigned long size, unsigned long offset, unsigned long flags) "Device '%s' ROM: size: 0x%lx, offset: 0x%lx, flags: 0x%lx" |
| 25 | vfio_rom_read(const char *name, uint64_t addr, int size, uint64_t data) " (%s, 0x%"PRIx64", 0x%x) = 0x%"PRIx64 |
| 26 | vfio_pci_size_rom(const char *name, int size) "%s ROM size 0x%x" |
| 27 | vfio_vga_write(uint64_t addr, uint64_t data, int size) " (0x%"PRIx64", 0x%"PRIx64", %d)" |
| 28 | vfio_vga_read(uint64_t addr, int size, uint64_t data) " (0x%"PRIx64", %d) = 0x%"PRIx64 |
| 29 | vfio_pci_read_config(const char *name, int addr, int len, int val) " (%s, @0x%x, len=0x%x) 0x%x" |
| 30 | vfio_pci_write_config(const char *name, int addr, int val, int len) " (%s, @0x%x, 0x%x, len=0x%x)" |
| 31 | vfio_msi_setup(const char *name, int pos) "%s PCI MSI CAP @0x%x" |
| 32 | vfio_msix_early_setup(const char *name, int pos, int table_bar, uint64_t offset, int entries, bool noresize) "%s PCI MSI-X CAP @0x%x, BAR %d, offset 0x%"PRIx64", entries %d, noresize %d" |
| 33 | vfio_check_pcie_flr(const char *name) "%s Supports FLR via PCIe cap" |
| 34 | vfio_check_pm_reset(const char *name) "%s Supports PM reset" |
| 35 | vfio_check_af_flr(const char *name) "%s Supports FLR via AF cap" |
| 36 | vfio_pci_hot_reset(const char *name, const char *type) " (%s) %s" |
| 37 | vfio_pci_hot_reset_has_dep_devices(const char *name) "%s: hot reset dependent devices:" |
| 38 | vfio_pci_hot_reset_dep_devices(int domain, int bus, int slot, int function, int group_id) "\t%04x:%02x:%02x.%x group %d" |
| 39 | vfio_pci_hot_reset_result(const char *name, const char *result) "%s hot reset: %s" |
| 40 | vfio_pci_populate_device_config(const char *name, unsigned long size, unsigned long offset, unsigned long flags) "Device '%s' config: size: 0x%lx, offset: 0x%lx, flags: 0x%lx" |
| 41 | vfio_pci_populate_device_get_irq_info_failure(const char *errstr) "VFIO_DEVICE_GET_IRQ_INFO failure: %s" |
| 42 | vfio_mdev(const char *name, bool is_mdev) " (%s) is_mdev %d" |
| 43 | vfio_pci_synthesize_pasid_cap(const char *name, uint16_t offset) "%s offset: 0x%x" |
| 44 | vfio_add_ext_cap_dropped(const char *name, uint16_t cap, uint16_t offset) "%s 0x%x@0x%x" |
| 45 | vfio_pci_reset(const char *name) " (%s)" |
| 46 | vfio_pci_reset_flr(const char *name) "%s FLR/VFIO_DEVICE_RESET" |
| 47 | vfio_pci_reset_pm(const char *name) "%s PCI PM Reset" |
| 48 | vfio_pci_emulated_vendor_id(const char *name, uint16_t val) "%s 0x%04x" |
| 49 | vfio_pci_emulated_device_id(const char *name, uint16_t val) "%s 0x%04x" |
| 50 | vfio_pci_emulated_sub_vendor_id(const char *name, uint16_t val) "%s 0x%04x" |
| 51 | vfio_pci_emulated_sub_device_id(const char *name, uint16_t val) "%s 0x%04x" |
| 52 | vfio_pci_emulated_class_code(const char *name, uint32_t val) "%s 0x%06x" |
| 53 | |
| 54 | # pci-quirks.c |
| 55 | vfio_quirk_rom_in_denylist(const char *name, uint16_t vid, uint16_t did) "%s %04x:%04x" |
| 56 | vfio_quirk_generic_window_address_write(const char *name, const char * region_name, uint64_t data) "%s %s 0x%"PRIx64 |
| 57 | vfio_quirk_generic_window_data_read(const char *name, const char * region_name, uint64_t data) "%s %s 0x%"PRIx64 |
| 58 | vfio_quirk_generic_window_data_write(const char *name, const char * region_name, uint64_t data) "%s %s 0x%"PRIx64 |
| 59 | vfio_quirk_generic_mirror_read(const char *name, const char * region_name, uint64_t addr, uint64_t data) "%s %s 0x%"PRIx64": 0x%"PRIx64 |
| 60 | vfio_quirk_generic_mirror_write(const char *name, const char * region_name, uint64_t addr, uint64_t data) "%s %s 0x%"PRIx64": 0x%"PRIx64 |
| 61 | vfio_quirk_ati_3c3_read(const char *name, uint64_t data) "%s 0x%"PRIx64 |
| 62 | vfio_quirk_ati_3c3_probe(const char *name) "%s" |
| 63 | vfio_quirk_ati_bar4_probe(const char *name) "%s" |
| 64 | vfio_quirk_ati_bar2_probe(const char *name) "%s" |
| 65 | vfio_quirk_nvidia_3d0_state(const char *name, const char *state) "%s %s" |
| 66 | vfio_quirk_nvidia_3d0_read(const char *name, uint8_t offset, unsigned size, uint64_t val) " (%s, @0x%x, len=0x%x) 0x%"PRIx64 |
| 67 | vfio_quirk_nvidia_3d0_write(const char *name, uint8_t offset, uint64_t data, unsigned size) "(%s, @0x%x, 0x%"PRIx64", len=0x%x)" |
| 68 | vfio_quirk_nvidia_3d0_probe(const char *name) "%s" |
| 69 | vfio_quirk_nvidia_bar5_state(const char *name, const char *state) "%s %s" |
| 70 | vfio_quirk_nvidia_bar5_probe(const char *name) "%s" |
| 71 | vfio_quirk_nvidia_bar0_msi_ack(const char *name) "%s" |
| 72 | vfio_quirk_nvidia_bar0_probe(const char *name) "%s" |
| 73 | vfio_quirk_rtl8168_fake_latch(const char *name, uint64_t val) "%s 0x%"PRIx64 |
| 74 | vfio_quirk_rtl8168_msix_write(const char *name, uint16_t offset, uint64_t val) "%s MSI-X table write[0x%x]: 0x%"PRIx64 |
| 75 | vfio_quirk_rtl8168_msix_read(const char *name, uint16_t offset, uint64_t val) "%s MSI-X table read[0x%x]: 0x%"PRIx64 |
| 76 | vfio_quirk_rtl8168_probe(const char *name) "%s" |
| 77 | |
| 78 | vfio_quirk_ati_bonaire_reset_skipped(const char *name) "%s" |
| 79 | vfio_quirk_ati_bonaire_reset_no_smc(const char *name) "%s" |
| 80 | vfio_quirk_ati_bonaire_reset_timeout(const char *name) "%s" |
| 81 | vfio_quirk_ati_bonaire_reset_done(const char *name) "%s" |
| 82 | vfio_quirk_ati_bonaire_reset(const char *name) "%s" |
| 83 | vfio_ioeventfd_exit(const char *name, uint64_t addr, unsigned size, uint64_t data) "%s+0x%"PRIx64"[%d]:0x%"PRIx64 |
| 84 | vfio_ioeventfd_handler(const char *name, uint64_t addr, unsigned size, uint64_t data) "%s+0x%"PRIx64"[%d] -> 0x%"PRIx64 |
| 85 | vfio_ioeventfd_init(const char *name, uint64_t addr, unsigned size, uint64_t data, bool vfio) "%s+0x%"PRIx64"[%d]:0x%"PRIx64" vfio:%d" |
| 86 | vfio_pci_igd_opregion_enabled(const char *name) "%s" |
| 87 | |
| 88 | # igd.c |
| 89 | vfio_pci_igd_bar4_write(const char *name, uint32_t index, uint32_t data, uint32_t base) "%s [0x%03x] 0x%08x -> 0x%08x" |
| 90 | vfio_pci_igd_bdsm_enabled(const char *name, int size) "%s %dMB" |
| 91 | vfio_pci_igd_host_bridge_enabled(const char *name) "%s" |
| 92 | vfio_pci_igd_lpc_bridge_enabled(const char *name) "%s" |
| 93 | vfio_pci_igd_vbios_patched(const char *name) "%s" |
| 94 | |
| 95 | # listener.c |
| 96 | vfio_iommu_map_notify(const char *op, uint64_t iova_start, uint64_t iova_end) "iommu %s @ 0x%"PRIx64" - 0x%"PRIx64 |
| 97 | vfio_listener_region_skip(const char *name, uint64_t start, uint64_t end) "SKIPPING %s 0x%"PRIx64" - 0x%"PRIx64 |
| 98 | vfio_spapr_group_attach(int groupfd, int tablefd) "Attached groupfd %d to liobn fd %d" |
| 99 | vfio_listener_region_add_iommu(const char* name, uint64_t start, uint64_t end) "region_add [iommu] %s 0x%"PRIx64" - 0x%"PRIx64 |
| 100 | vfio_listener_region_del_iommu(const char *name) "region_del [iommu] %s" |
| 101 | vfio_listener_region_add_ram(uint64_t iova_start, uint64_t iova_end, void *vaddr) "region_add [ram] 0x%"PRIx64" - 0x%"PRIx64" [%p]" |
| 102 | vfio_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 |
| 103 | vfio_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" |
| 104 | vfio_listener_region_skip_dma_map(const char *name, uint64_t iova, uint64_t size) "Region \"%s\" 0x%"PRIx64" size=0x%"PRIx64" marked to skip IOMMU mapping" |
| 105 | vfio_listener_region_del(uint64_t start, uint64_t end) "region_del 0x%"PRIx64" - 0x%"PRIx64 |
| 106 | vfio_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"]" |
| 107 | vfio_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"]" |
| 108 | vfio_iommu_map_dirty_notify(uint64_t iova_start, uint64_t iova_end) "iommu dirty @ 0x%"PRIx64" - 0x%"PRIx64 |
| 109 | vfio_iommu_map_dirty_notify_skip_ro(uint64_t iova_start, uint64_t iova_end) "iommu dirty @ 0x%"PRIx64" - 0x%"PRIx64 |
| 110 | |
| 111 | # container.c |
| 112 | vfio_container_query_dirty_bitmap(uint64_t iova, uint64_t size, uint64_t backend_flag, uint64_t bitmap_size, uint64_t translated_addr, uint64_t dirty_pages) "iova=0x%"PRIx64" size=0x%"PRIx64" backend_flag=0x%"PRIx64" bitmap_size=0x%"PRIx64" gpa=0x%"PRIx64" dirty_pages=%"PRIu64 |
| 113 | |
| 114 | # container-legacy.c |
| 115 | vfio_container_disconnect(int fd) "close container->fd=%d" |
| 116 | vfio_group_put(int fd) "close group->fd=%d" |
| 117 | vfio_device_get(const char * name, unsigned int flags, unsigned int num_regions, unsigned int num_irqs) "Device %s flags: %u, regions: %u, irqs: %u" |
| 118 | vfio_device_put(int fd) "close vdev->fd=%d" |
| 119 | |
| 120 | # region.c |
| 121 | vfio_region_write(const char *name, int index, uint64_t addr, uint64_t data, unsigned size) " (%s:region%d+0x%"PRIx64", 0x%"PRIx64 ", %d)" |
| 122 | vfio_region_read(char *name, int index, uint64_t addr, unsigned size, uint64_t data) " (%s:region%d+0x%"PRIx64", %d) = 0x%"PRIx64 |
| 123 | vfio_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" |
| 124 | vfio_region_dmabuf(const char *dev, int fd, int index, const char *name, unsigned long offset, unsigned long size) "Device %s, dmabuf fd %d region %d \"%s\", offset: 0x%lx, size: 0x%lx" |
| 125 | vfio_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" |
| 126 | vfio_region_mmap(const char *name, unsigned long offset, unsigned long end) "Region %s [0x%lx - 0x%lx]" |
| 127 | vfio_region_exit(const char *name, int index) "Device %s, region %d" |
| 128 | vfio_region_finalize(const char *name, int index) "Device %s, region %d" |
| 129 | vfio_region_mmaps_set_enabled(const char *name, bool enabled) "Region %s mmaps enabled: %d" |
| 130 | vfio_region_unmap(const char *name, unsigned long offset, unsigned long end) "Region %s unmap [0x%lx - 0x%lx]" |
| 131 | vfio_region_sparse_mmap_header(const char *name, int index, int nr_areas) "Device %s region %d: %d sparse mmap entries" |
| 132 | vfio_region_sparse_mmap_entry(int i, unsigned long start, unsigned long end) "sparse entry %d [0x%lx - 0x%lx]" |
| 133 | |
| 134 | # spapr.c |
| 135 | vfio_prereg_listener_region_add_skip(uint64_t start, uint64_t end) "0x%"PRIx64" - 0x%"PRIx64 |
| 136 | vfio_prereg_listener_region_del_skip(uint64_t start, uint64_t end) "0x%"PRIx64" - 0x%"PRIx64 |
| 137 | vfio_prereg_register(uint64_t va, uint64_t size, int ret) "va=0x%"PRIx64" size=0x%"PRIx64" ret=%d" |
| 138 | vfio_prereg_unregister(uint64_t va, uint64_t size, int ret) "va=0x%"PRIx64" size=0x%"PRIx64" ret=%d" |
| 139 | vfio_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 |
| 140 | vfio_spapr_remove_window(uint64_t off) "offset=0x%"PRIx64 |
| 141 | |
| 142 | # display.c |
| 143 | vfio_display_edid_available(void) "" |
| 144 | vfio_display_edid_link_up(void) "" |
| 145 | vfio_display_edid_link_down(void) "" |
| 146 | vfio_display_edid_update(uint32_t prefx, uint32_t prefy) "%ux%u" |
| 147 | vfio_display_edid_write_error(void) "" |
| 148 | |
| 149 | # migration.c |
| 150 | vfio_load_bufs_thread_start(const char *name) " (%s)" |
| 151 | vfio_load_bufs_thread_end(const char *name) " (%s)" |
| 152 | vfio_load_cleanup(const char *name) " (%s)" |
| 153 | vfio_load_device_config_state_start(const char *name) " (%s)" |
| 154 | vfio_load_device_config_state_end(const char *name) " (%s)" |
| 155 | vfio_load_state(const char *name, uint64_t data) " (%s) data 0x%"PRIx64 |
| 156 | vfio_load_state_device_data(const char *name, uint64_t data_size, int ret) " (%s) size %"PRIu64" ret %d" |
| 157 | vfio_load_state_device_buffer_incoming(const char *name, uint32_t idx) " (%s) idx %"PRIu32 |
| 158 | vfio_load_state_device_buffer_start(const char *name) " (%s)" |
| 159 | vfio_load_state_device_buffer_starved(const char *name, uint32_t idx) " (%s) idx %"PRIu32 |
| 160 | vfio_load_state_device_buffer_load_start(const char *name, uint32_t idx) " (%s) idx %"PRIu32 |
| 161 | vfio_load_state_device_buffer_load_end(const char *name, uint32_t idx) " (%s) idx %"PRIu32 |
| 162 | vfio_load_state_device_buffer_end(const char *name) " (%s)" |
| 163 | vfio_migration_init(const char *name, uint64_t mig_flags, bool precopy_info_v2_used, bool dirty_pages_supported) " (%s) mig_flags 0x%"PRIx64", precopy_info_v2_used %d, dirty_pages_supported %d" |
| 164 | vfio_migration_realize(const char *name) " (%s)" |
| 165 | vfio_migration_set_device_state(const char *name, const char *state) " (%s) state %s" |
| 166 | vfio_migration_set_state(const char *name, const char *new_state, const char *recover_state) " (%s) new state %s, recover state %s" |
| 167 | vfio_migration_state_notifier(const char *name, int state) " (%s) state %d" |
| 168 | vfio_query_precopy_size(const char *name, uint64_t init_size, uint64_t dirty_size, bool reinit, int ret) " (%s) init %"PRIu64", dirty %"PRIu64", reinit %d, ret %d" |
| 169 | vfio_query_precopy_size_request_switchover_ack(const char *name) " (%s)" |
| 170 | vfio_query_stop_copy_size(const char *name, uint64_t size, int ret) " (%s) stopcopy size %"PRIu64" ret %d" |
| 171 | vfio_save_block(const char *name, int data_size) " (%s) data_size %d" |
| 172 | vfio_save_block_precopy_empty_hit(const char *name) " (%s)" |
| 173 | vfio_save_cleanup(const char *name) " (%s)" |
| 174 | vfio_save_complete_precopy(const char *name, int ret) " (%s) ret %d" |
| 175 | vfio_save_complete_precopy_start(const char *name) " (%s)" |
| 176 | vfio_save_complete_precopy_thread_start(const char *name, const char *idstr, uint32_t instance_id) " (%s) idstr %s instance %"PRIu32 |
| 177 | vfio_save_complete_precopy_thread_end(const char *name, int ret) " (%s) ret %d" |
| 178 | vfio_save_device_config_state(const char *name) " (%s)" |
| 179 | vfio_save_iterate(const char *name, uint64_t precopy_init_size, uint64_t precopy_dirty_size) " (%s) precopy initial size %"PRIu64" precopy dirty size %"PRIu64 |
| 180 | vfio_save_iterate_start(const char *name) " (%s)" |
| 181 | vfio_save_setup(const char *name, uint64_t data_buffer_size) " (%s) data buffer size %"PRIu64 |
| 182 | vfio_state_pending(const char *name, uint64_t stopcopy_size, uint64_t precopy_init_size, uint64_t precopy_dirty_size, bool request_switchover_ack, bool exact, bool final) " (%s) stopcopy size %"PRIu64", precopy initial size %"PRIu64", precopy dirty size %"PRIu64", request switchover ack %d, exact %d, final %d" |
| 183 | vfio_send_init_data_flag(const char *name) " (%s)" |
| 184 | vfio_vmstate_change(const char *name, int running, const char *reason, const char *dev_state) " (%s) running %d reason %s device state %s" |
| 185 | vfio_vmstate_change_prepare(const char *name, int running, const char *reason, const char *dev_state) " (%s) running %d reason %s device state %s" |
| 186 | |
| 187 | #iommufd.c |
| 188 | |
| 189 | iommufd_cdev_connect_and_bind(int iommufd, const char *name, int devfd, int devid) " [iommufd=%d] Successfully bound device %s (fd=%d): output devid=%d" |
| 190 | iommufd_cdev_getfd(const char *dev, int devfd) " %s (fd=%d)" |
| 191 | iommufd_cdev_pasid_attach_ioas_hwpt(int iommufd, const char *name, int devfd, uint32_t pasid, int id) " [iommufd=%d] Successfully attached device %s (%d) pasid %u to id=%d" |
| 192 | iommufd_cdev_pasid_detach_ioas_hwpt(int iommufd, const char *name, uint32_t pasid) " [iommufd=%d] Successfully detached %s pasid %u" |
| 193 | iommufd_cdev_fail_attach_existing_container(const char *msg) " %s" |
| 194 | iommufd_cdev_alloc_ioas(int iommufd, int ioas_id) " [iommufd=%d] new IOMMUFD container with ioasid=%d" |
| 195 | iommufd_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" |
| 196 | iommufd_cdev_pci_hot_reset_dep_devices(int domain, int bus, int slot, int function, int dev_id) "\t%04x:%02x:%02x.%x devid %d" |
| 197 | |
| 198 | # cpr-iommufd.c |
| 199 | vfio_cpr_find_device(uint32_t ioas_id, int devid, uint32_t hwpt_id) "ioas_id %u, devid %d, hwpt_id %u" |
| 200 | |
| 201 | # device.c |
| 202 | vfio_device_get_region_info_type(const char *name, int index, uint32_t type, uint32_t subtype) "%s index %d, %08x/%08x" |
| 203 | vfio_device_reset_handler(void) "" |
| 204 | vfio_device_attach(const char *name, int group_id) " (%s) group %d" |
| 205 | vfio_device_detach(const char *name, int group_id) " (%s) group %d" |