qemu/include/hw
Joao Martins dddfd8d667 vfio/iommufd: Probe and request hwpt dirty tracking capability
In preparation to using the dirty tracking UAPI, probe whether the IOMMU
supports dirty tracking. This is done via the data stored in
hiod::caps::hw_caps initialized from GET_HW_INFO.

Qemu doesn't know if VF dirty tracking is supported when allocating
hardware pagetable in iommufd_cdev_autodomains_get(). This is because
VFIODevice migration state hasn't been initialized *yet* hence it can't pick
between VF dirty tracking vs IOMMU dirty tracking. So, if IOMMU supports
dirty tracking it always creates HWPTs with IOMMU_HWPT_ALLOC_DIRTY_TRACKING
even if later on VFIOMigration decides to use VF dirty tracking instead.

Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
[ clg: - Fixed vbasedev->iommu_dirty_tracking assignment in
         iommufd_cdev_autodomains_get()
       - Added warning for heterogeneous dirty page tracking support
	 in iommufd_cdev_autodomains_get() ]
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
2024-07-23 17:14:52 +02:00
..
acpi
adc aspeed/adc: Add AST2700 support 2024-07-21 07:46:38 +02:00
arm aspeed: Introduce a AspeedSoCClass 'boot_from_emmc' handler 2024-07-21 07:46:38 +02:00
audio
block
char
core * target/i386/tcg: fixes for seg_helper.c 2024-07-17 15:40:28 +10:00
cpu
cris
cxl hw/mem/cxl_type3: Add DPA range validation for accesses to DC regions 2024-07-01 17:16:04 -04:00
display
dma
firmware hw/smbios: Remove 'uuid_encoded' argument from smbios_set_defaults() 2024-06-19 12:40:49 +02:00
fsi
gpio hw/gpio/aspeed: Add reg_table_count to AspeedGPIOClass 2024-07-02 07:52:43 +02:00
hyperv
i2c hw/i2c/aspeed: rename the I2C class pool attribute to share_pool 2024-07-21 07:46:38 +02:00
i386 hw: skip registration of outdated versioned machine types 2024-07-02 06:58:37 +02:00
ide
input
intc hw/loongarch: Remove unimplemented extioi INT_encode mode 2024-07-19 10:40:04 +08:00
ipack
ipmi
isa
loongarch hw/loongarch: Modify flash block size to 256K 2024-07-19 10:40:04 +08:00
m68k
mem hw/mem/memory-device: Remove legacy_align from memory_device_pre_plug() 2024-06-19 12:40:49 +02:00
mips
misc aspeed/scu: Add boot-from-eMMC HW strapping bit for AST2600 SoC 2024-07-21 07:46:38 +02:00
net hw/net:ftgmac100: introduce TX and RX ring base address high registers to support 64 bits 2024-07-09 08:05:44 +02:00
nubus
nvram hw/nvram: Add BCM2835 OTP device 2024-07-01 12:48:55 +01:00
openrisc
pci pcie_sriov: Register VFs after migration 2024-07-03 18:14:07 -04:00
pci-bridge
pci-host hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info() 2024-06-19 12:40:49 +02:00
ppc hw/ppc: Avoid using Monitor in pic_print_info() 2024-06-19 12:40:49 +02:00
remote
riscv hw/riscv/virt.c: add address-cells in create_fdt_one_aplic() 2024-06-26 22:32:29 +10:00
rtc
rx
s390x hw/intc/s390_flic: Fix interrupt controller migration on s390x with TCG 2024-07-02 08:02:01 +02:00
scsi
sd hw/sd/sdcard: Basis for eMMC support 2024-07-16 20:26:47 +02:00
sensor
sh4
southbridge
sparc
ssi aspeed/smc: support different memory region ops for SMC flash region 2024-06-16 21:08:54 +02:00
timer
tricore
usb
vfio vfio/iommufd: Probe and request hwpt dirty tracking capability 2024-07-23 17:14:52 +02:00
virtio hw/virtio: Fix the de-initialization of vhost-user devices 2024-07-03 18:14:06 -04:00
watchdog aspeed/wdt: Add AST2700 support 2024-06-16 21:08:54 +02:00
xen hw/xen: detect when running inside stubdomain 2024-07-01 14:57:18 +02:00
xtensa
boards.h include/hw: temporarily disable deletion of versioned machine types 2024-07-02 06:58:31 +02:00
clock.h
elf_ops.h.inc
fw-path-provider.h
hotplug.h
hw.h
irq.h
loader-fit.h
loader.h loader: remove load_image_gzipped function as its not used anywhere 2024-07-16 20:04:08 +02:00
nmi.h
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h
qdev-clock.h
qdev-core.h include/hw/qdev-core.h: Correct and clarify gpio doc comments 2024-07-16 20:04:08 +02:00
qdev-dma.h
qdev-properties-system.h
qdev-properties.h
register.h
registerfields.h
resettable.h
stream.h
sysbus.h
usb.h
vmstate-if.h