qemu/backends
Zhenzhong Duan 98962d6298 vfio/iommufd: Add properties and handlers to TYPE_HOST_IOMMU_DEVICE_IOMMUFD
Enhance HostIOMMUDeviceIOMMUFD object with 3 new members, specific
to the iommufd BE + 2 new class functions.

IOMMUFD BE includes IOMMUFD handle, devid and hwpt_id. IOMMUFD handle
and devid are used to allocate/free ioas and hwpt. hwpt_id is used to
re-attach IOMMUFD backed device to its default VFIO sub-system created
hwpt, i.e., when vIOMMU is disabled by guest. These properties are
initialized in hiod::realize() after attachment.

2 new class functions are [at|de]tach_hwpt(). They are used to
attach/detach hwpt. VFIO and VDPA can have different implementions,
so implementation will be in sub-class instead of HostIOMMUDeviceIOMMUFD,
e.g., in HostIOMMUDeviceIOMMUFDVFIO.

Add two wrappers host_iommu_device_iommufd_[at|de]tach_hwpt to wrap the
two functions.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250604062115.4004200-3-zhenzhong.duan@intel.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2025-06-05 10:40:38 +02:00
..
tpm qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
confidential-guest-support.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-builtin.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-hmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
cryptodev-lkcf.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-vhost-user.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cryptodev-vhost.c cryptodev/vhost: allocate CryptoDevBackendVhost using g_mem0() 2025-02-21 07:18:42 -05:00
cryptodev.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
dbus-vmstate.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
dbus-vmstate1.xml docs: move D-Bus VMState documentation to source XML 2021-12-21 10:50:21 +04:00
host_iommu_device.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-epc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-file.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-memfd.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-ram.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem-shm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hostmem.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
iommufd.c vfio/iommufd: Add properties and handlers to TYPE_HOST_IOMMU_DEVICE_IOMMUFD 2025-06-05 10:40:38 +02:00
Kconfig backends: Initial support for SPDM socket support 2024-07-22 20:15:42 -04:00
meson.build util: exclude mmap-alloc.c from compilation target on Emscripten 2025-05-06 16:02:04 +02:00
rng-builtin.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rng-egd.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rng-random.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
rng.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
spdm-socket.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
trace-events backends/iommufd: Add a helper to invalidate user-managed HWPT 2025-06-05 10:40:38 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00