qemu-cr16/include/hw
Shameer Kolothum 66d2f665e1 hw/arm/virt: Allow user-creatable SMMUv3 dev instantiation
Allow cold-plugging of an SMMUv3 device on the virt machine when no
global (legacy) SMMUv3 is present or when a virtio-iommu is specified.

This user-created SMMUv3 device is tied to a specific PCI bus provided
by the user, so ensure the IOMMU ops are configured accordingly.

Due to current limitations in QEMU’s device tree support, specifically
its inability to properly present pxb-pcie based root complexes and
their devices, the device tree support for the new SMMUv3 device is
limited to cases where it is attached to the default pcie.0 root complex.

Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nathan Chen <nathanc@nvidia.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Signed-off-by: Shameer Kolothum <skolothumtho@nvidia.com>
Reviewed-by: Donald Dutile <ddutile@redhat.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Message-id: 20250829082543.7680-8-skolothumtho@nvidia.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2025-09-16 17:31:54 +01:00
..
acpi hw/arm/virt: Minor code reshuffling in create_acpi_ged 2025-07-15 02:56:40 -04:00
adc
arm hw/arm/virt: Allow user-creatable SMMUv3 dev instantiation 2025-09-16 17:31:54 +01:00
audio
block hw/block: Drop unused nand.c 2025-05-29 17:45:13 +01:00
char MAX78000: UART Implementation 2025-07-08 17:31:38 +01:00
core add cpu_test_interrupt()/cpu_set_interrupt() helpers and use them tree wide 2025-08-29 12:48:14 +02:00
cpu
cxl hw/cxl: mailbox-utils: 0x5604 - FMAPI Initiate DC Add 2025-07-15 02:56:40 -04:00
display Load ramfb vgabios on x86 only. 2025-07-21 12:24:36 -04:00
dma include/hw/dma/xlnx_dpdma: Remove dependency on console.h 2025-05-14 11:50:42 +02:00
firmware
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 hw/hyperv/hyperv.h: header cleanup 2025-05-08 14:22:12 +02:00
i2c include/hw: replace FSF postal address with licenses URL 2025-06-26 00:42:37 +02:00
i386 hw: add compat machines for 10.2 2025-08-27 07:07:53 +02:00
ide include/system: Move exec/ioport.h to system/ioport.h 2025-04-23 14:08:21 -07:00
input
intc hw/intc/arm_gicv3_kvm: preserve pending interrupts during cpr 2025-08-30 16:37:22 +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 include/system: Move exec/ioport.h to system/ioport.h 2025-04-23 14:08:21 -07:00
loongarch hw/loongarch/virt: Remove global variables about memmap tables 2025-06-10 15:01:41 +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 MAX78000: AES implementation 2025-07-08 17:31:59 +01:00
net include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
nubus include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
nvram hw/nvram/fw_cfg: Remove legacy FW_CFG_ORDER_OVERRIDE 2025-05-30 09:52:08 +02:00
openrisc hw/openrisc: Support monitor dumpdtb command 2025-02-24 15:03:42 +00:00
pci hw/pci: Introduce pci_setup_iommu_per_bus() for per-bus IOMMU ops retrieval 2025-09-16 17:31:54 +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 hw/pci-host/gpex-acpi: Use GED acpi pcihp property 2025-07-15 02:56:40 -04:00
ppc ppc/xive2: Implement PHYS ring VP push TIMA op 2025-07-21 08:03:53 +02:00
remote include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
riscv hw/riscv: Initial support for BOSC's Xiangshan Kunminghu FPGA prototype 2025-07-04 21:09:49 +10:00
rtc
rx
s390x hw/s390x: add Control-Program Identification to QOM 2025-06-25 17:04:40 +02:00
scsi esp.c: only allow ESP commands permitted in the current asc_mode 2025-07-15 00:25:21 +02: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 include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
sparc
ssi hw/ssi: Document ssi_transfer() method 2025-09-02 17:57:05 +02:00
timer include/hw: replace FSF postal address with licenses URL 2025-06-26 00:42:37 +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: add include/hw/uefi/var-service.h 2025-03-04 12:01:42 +01:00
usb hw/usb/hcd-dwc3: Align global registers size with Linux 2025-02-25 15:32:58 +00:00
vfio vfio/pci: preserve pending interrupts 2025-08-09 00:06:48 +02:00
virtio UI-related for 10.1 2025-07-16 07:07:05 -04:00
vmapple hw/vmapple/virtio-blk: Add support for apple virtio-blk 2025-03-04 14:45:34 +01:00
watchdog
xen hw/xen/arch_hvm: Unify x86 and ARM variants 2025-07-15 19:10:15 +02:00
xtensa include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
boards.h hw: add compat machines for 10.2 2025-08-27 07:07:53 +02:00
clock.h clock: clear callback on unparent 2024-12-10 18:49:24 +01:00
elf_ops.h.inc
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/nvram/fw_cfg: Remove legacy FW_CFG_ORDER_OVERRIDE 2025-05-30 09:52:08 +02:00
nmi.h
or-irq.h
platform-bus.h
ptimer.h
qdev-clock.h
qdev-core.h hw/qdev: Factor qdev_hotunplug_allowed() out 2025-01-13 17:16:03 +01:00
qdev-dma.h
qdev-properties-system.h hw/display: Allow injection of virtio-gpu EDID name 2025-07-15 10:22:33 +04:00
qdev-properties.h qdev-properties: Add DEFINE_PROP_ON_OFF_AUTO_BIT64() 2025-07-14 05:25:34 -04:00
register.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
registerfields.h
resettable.h
stream.h
sysbus.h hw/core/sysbus: Introduce sysbus_mmio_map_name() helper 2025-07-15 02:56:40 -04:00
usb.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
vmstate-if.h