qemu-cr16/include/hw/arm
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
..
allwinner-a10.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
allwinner-h3.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
allwinner-r40.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
armsse-version.h hw/arm/armsse: Introduce SSE subsystem version property 2021-03-08 17:20:01 +00:00
armsse.h hw/arm: Set number of MPU regions correctly for an505, an521, an524 2023-08-31 11:07:02 +01:00
armv7m.h hw/arm/armv7m: alias the NVIC "num-prio-bits" property 2024-01-09 14:42:40 +00:00
aspeed.h hw/arm/aspeed: Add second SPI chip to Aspeed model 2025-07-03 17:36:45 +02:00
aspeed_soc.h hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC 2025-05-05 09:38:55 +02:00
bcm2835_peripherals.h hw/arm: Connect OTP device to BCM2835 2024-07-01 12:48:55 +01:00
bcm2836.h hw/arm/bcm2853_peripherals: Split out common part of peripherals 2024-02-27 13:01:42 +00:00
bcm2838.h hw/arm/bcm2838: Add GIC-400 to BCM2838 SoC 2024-02-27 13:01:42 +00:00
bcm2838_peripherals.h hw/arm/bcm2838_peripherals: Add clock_isp stub 2024-02-27 13:01:42 +00:00
boot.h hw/arm: make cpu targeted by arm_load_kernel the primary CPU. 2025-06-13 11:31:28 +01:00
bsa.h target/arm: Implement SEL2 physical and virtual timers 2025-03-07 10:08:21 +00:00
digic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
exynos4210.h hw/arm/exynos4210: Get arm_boot_info declaration from 'hw/arm/boot.h' 2023-10-19 13:01:52 +01:00
fdt.h hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation 2015-06-19 14:17:44 +01:00
fsl-imx6.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
fsl-imx6ul.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
fsl-imx7.h hw/pci-host/designware: Expose MSI IRQ 2025-01-27 13:50:14 +00:00
fsl-imx8mp.h hw/arm/fsl-imx8mp: Remove unused define 2025-03-31 16:25:59 +02:00
fsl-imx25.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
fsl-imx31.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
linux-boot-if.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
max78000_soc.h MAX78000: Add AES to SOC 2025-07-08 17:31:59 +01:00
msf2-soc.h hw/arm/msf2: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
npcm7xx.h hw/misc: Move NPCM7XX CLK to NPCM CLK 2025-02-20 15:22:22 +00:00
npcm8xx.h hw/arm: Add GMAC devices to NPCM8XX SoC 2025-05-29 17:45:09 +01:00
nrf51.h hw/arm/nrf51: Add NRF51_PERIPHERAL_SIZE definition 2020-05-11 11:05:11 +01:00
nrf51_soc.h hw/arm/nrf51: Rename ARMv7MState 'cpu' -> 'armv7m' 2025-01-27 12:58:26 +00:00
omap.h hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
primecell.h
raspberrypi-fw-defs.h hw/misc: Implement mailbox properties for customer OTP and device specific private keys 2024-07-01 12:48:55 +01:00
raspi_platform.h hw/arm: Add memory region for BCM2837 RPiVid ASB 2024-02-27 13:01:42 +00:00
sharpsl.h hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
smmu-common.h hw/arm/virt: Allow user-creatable SMMUv3 dev instantiation 2025-09-16 17:31:54 +01:00
smmuv3.h hw/arm/smmuv3: Add knob to choose translation stage and enable stage-2 2023-05-30 15:50:16 +01:00
soc_dma.h hw/arm: Replace TABs for spaces in OMAP board and device code 2025-05-14 14:29:47 +01:00
stm32f100_soc.h hw/arm/stm32f100: Report error when incorrect CPU is used 2023-11-20 15:30:59 +00:00
stm32f205_soc.h hw/arm/stm32f205_soc: Don't leak TYPE_OR_IRQ objects 2025-08-30 16:38:47 +01:00
stm32f405_soc.h hw/arm/stm32f405: Add RCC device to stm32f405 SoC 2024-10-15 11:29:45 +01:00
stm32l4x5_soc.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
virt.h hw/arm/virt-acpi-build: Re-arrange SMMUv3 IORT build 2025-09-16 17:31:54 +01:00
xlnx-versal.h hw/arm/xlnx: Connect secondary CGEM IRQs 2024-10-01 13:55:38 +01:00
xlnx-zynqmp.h hw/arm/xlnx: Connect secondary CGEM IRQs 2024-10-01 13:55:38 +01:00