qemu-cr16/include/hw
Zhenzhong Duan 43b8c43397 intel_iommu: Handle PASID cache invalidation
Adds a new entry VTDPASIDCacheEntry in VTDAddressSpace to cache the pasid
entry and track PASID usage and future PASID tagged DMA address translation
support in vIOMMU.

When guest triggers pasid cache invalidation, QEMU will capture it and
update or invalidate pasid cache.

vIOMMU emulator could figure out the reason by fetching latest guest pasid
entry in memory and compare it with cached PASID entry if it's valid.

Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20251017093602.525338-2-zhenzhong.duan@intel.com>
2025-11-09 08:23:48 -05:00
..
acpi qapi/acpi-hest: add an interface to do generic CPER error injection 2025-10-05 08:06:32 -04:00
adc hw/adc: Remove MAX111X device 2024-10-15 15:16:17 +01:00
arm hw/arm/aspeed: Rename and export connect_serial_hds_to_uarts() as aspeed_connect_serial_hds_to_uarts() 2025-11-04 09:27:59 +01:00
audio audio: move audio.h under include/qemu/ 2025-10-30 22:56:51 +04:00
block block: enable stats-intervals for storage devices 2025-10-29 12:10:09 +01:00
char * char: rename CharBackend->CharFrontend 2025-10-29 10:43:56 +01:00
core exec/cpu: Declare cpu_memory_rw_debug() in 'hw/core/cpu.h' and document 2025-11-03 11:59:32 +01:00
cpu
cxl hw/cxl: mailbox-utils: 0x5604 - FMAPI Initiate DC Add 2025-07-15 02:56:40 -04:00
display audio: move audio.h under include/qemu/ 2025-10-30 22:56:51 +04:00
dma include/hw/dma/xlnx_dpdma: Remove dependency on console.h 2025-05-14 11:50:42 +02:00
firmware hw/smbios: allow clearing the VM bit in SMBIOS table 0 2025-10-05 08:17:08 -04:00
fsi include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
gpio hw/gpio/aspeed: Fix definition of AspeedGPIOClass 2025-06-10 12:59:09 +02:00
hyperv include/hw/hyperv: Add MSHV ABI header definitions 2025-10-08 19:17:29 +02:00
i2c include/hw: replace FSF postal address with licenses URL 2025-06-26 00:42:37 +02:00
i386 intel_iommu: Handle PASID cache invalidation 2025-11-09 08:23:48 -05:00
ide include/system: Move exec/ioport.h to system/ioport.h 2025-04-23 14:08:21 -07:00
input qom: remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE 2025-10-28 08:08:04 +01:00
intc hw/int/loongarch: Include missing 'system/memory.h' header 2025-10-28 08:19:18 +01:00
ipack hw/ipack: Remove legacy qemu_allocate_irqs() use 2025-01-31 19:36:44 +01:00
ipmi include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
isa audio: move audio.h under include/qemu/ 2025-10-30 22:56:51 +04:00
loongarch hw/loongarch/virt: Sort order by hardware device base address 2025-10-15 11:07:37 +08:00
m68k include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
mem include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
mips include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
misc * char: rename CharBackend->CharFrontend 2025-10-29 10:43:56 +01:00
net hw/hppa: Enable LASI i82596 network on 715 machine 2025-11-04 16:14:51 +01:00
nubus include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
nvram hw/core/register: remove the calls to `register_finalize_block' 2025-10-21 20:16:46 +02:00
openrisc hw/openrisc: Support monitor dumpdtb command 2025-02-24 15:03:42 +00:00
pci hw/nvme: connect SPDM over NVMe Security Send/Recv 2025-10-30 07:07:14 +01:00
pci-bridge hw/pci-bridge/cxl-upstream: Add properties to control link speed and width 2024-11-04 16:03:24 -05:00
pci-host qom: remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE 2025-10-28 08:08:04 +01:00
ppc ppc/spapr: Cleanup MSI IRQ number handling 2025-10-30 12:45:32 +05:30
remote include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
riscv hw/riscv: Widen OpenSBI dynamic info struct 2025-10-28 08:19:18 +01:00
rtc hw/i386: move rtc-reset-reinjection command out of hw/rtc 2024-05-10 15:45:15 +02:00
rx hw/rx/rx62n: Only call qdev_get_gpio_in() when necessary 2024-02-15 16:58:46 +01:00
s390x hw/s390x/ccw: Remove SCLPDevice::increment_size field 2025-10-21 15:47:21 +02:00
scsi qom: remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE 2025-10-28 08:08:04 +01:00
sd hw/sd/sdcard: Remove support for spec v1.10 2025-09-02 17:56:37 +02:00
sensor
sh4 include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
southbridge x86: ich9: fix default value of 'No Reboot' bit in GCS 2025-10-05 09:01:08 -04:00
sparc hw/sparc/grlib: split out the headers for each peripherals 2024-02-15 16:58:46 +01:00
ssi hw/ssi: Document ssi_transfer() method 2025-09-02 17:57:05 +02:00
timer hw/pcspk: use explicitly the required PIT types 2025-10-22 08:55:28 +02:00
tricore include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
uefi hw/uefi: Include missing 'system/memory.h' header 2025-10-28 08:19:18 +01:00
usb hw/usb/hcd-dwc3: Align global registers size with Linux 2025-02-25 15:32:58 +00:00
vfio qom: remove redundant typedef when use OBJECT_DECLARE_SIMPLE_TYPE 2025-10-28 08:08:04 +01:00
virtio * char: rename CharBackend->CharFrontend 2025-10-29 10:43:56 +01:00
vmapple hw/vmapple/virtio-blk: Add support for apple virtio-blk 2025-03-04 14:45:34 +01:00
watchdog aspeed/wdt: Add AST2700 support 2024-06-16 21:08:54 +02:00
xen hw/xen: Avoid non-inclusive language in params.h 2025-10-28 16:52:13 +03:00
xtensa include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
boards.h hw/boards: Introduce DEFINE_MACHINE_WITH_INTERFACE_ARRAY() macro 2025-10-21 20:09:56 +02:00
clock.h clock: clear callback on unparent 2024-12-10 18:49:24 +01:00
elf_ops.h.inc hw/elf_ops: Rename elf_ops.h -> elf_ops.h.inc 2024-04-25 12:48:12 +02:00
fw-path-provider.h
hotplug.h
hw.h meson: Only allow CONFIG_USER_ONLY from certain source sets 2025-04-23 14:08:44 -07:00
irq.h hw/irq: New qemu_init_irq_child() function 2025-09-02 17:57:05 +02:00
loader-fit.h hw/mips/boston: Support dumpdtb monitor commands 2025-02-24 15:03:42 +00:00
loader.h hw/core/loader: capture Error from load_image_targphys 2025-10-28 08:19:18 +01:00
nmi.h
or-irq.h
platform-bus.h
ptimer.h
qdev-clock.h
qdev-core.h hw/qdev: Have qdev_get_gpio_out_connector() take const DeviceState arg 2025-10-28 08:19:18 +01:00
qdev-dma.h
qdev-properties-system.h audio: remove QEMUSoundCard 2025-10-30 22:56:28 +04:00
qdev-properties.h qdev: Change PropertyInfo method print() to return malloc'ed string 2025-10-28 14:50:07 +01:00
register.h hw/core/register: remove the `register_finalize_block' function 2025-10-21 20:16:46 +02:00
registerfields.h
resettable.h reset: Add RESET_TYPE_WAKEUP 2024-09-24 11:33:35 +02:00
stream.h
sysbus.h hw/sysbus: Have various helpers take a const SysBusDevice argument 2025-10-28 08:19:18 +01:00
usb.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
vmstate-if.h