qemu-e2k/hw/arm
Yi Liu ba7d12eb8c hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps
This patch modifies pci_setup_iommu() to set PCIIOMMUOps
instead of setting PCIIOMMUFunc. PCIIOMMUFunc is used to
get an address space for a PCI device in vendor specific
way. The PCIIOMMUOps still offers this functionality. But
using PCIIOMMUOps leaves space to add more iommu related
vendor specific operations.

Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Eric Auger <eric.auger@redhat.com>
Cc: Yi Sun <yi.y.sun@linux.intel.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Eric Auger <eric.auger@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Hervé Poussineau <hpoussin@reactos.org>
Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: BALATON Zoltan <balaton@eik.bme.hu>
Cc: Elena Ufimtseva <elena.ufimtseva@oracle.com>
Cc: Jagannathan Raman <jag.raman@oracle.com>
Cc: Matthew Rosato <mjrosato@linux.ibm.com>
Cc: Eric Farman <farman@linux.ibm.com>
Cc: Halil Pasic <pasic@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Helge Deller <deller@gmx.de>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
[ clg: - refreshed on latest QEMU
       - included hw/remote/iommu.c
       - documentation update
       - asserts in pci_setup_iommu()
       - removed checks on iommu_bus->iommu_ops->get_address_space
       - included Elroy PCI host (PA-RISC) ]
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2023-11-03 09:20:31 +01:00
..
allwinner-a10.c
allwinner-h3.c
allwinner-r40.c hw/arm/allwinner: Clean up local variable shadowing 2023-09-29 10:07:15 +02:00
armsse.c hw/arm/armv7m: Clean up local variable shadowing 2023-09-29 10:07:15 +02:00
armv7m.c target/arm: Move feature test functions to their own header 2023-10-27 11:44:32 +01:00
aspeed_ast10x0.c hw/arm/aspeed: Move AspeedSoCState::armv7m to Aspeed10x0SoCState 2023-10-25 09:52:44 +02:00
aspeed_ast2400.c hw/arm/aspeed: Move AspeedSoCState::cpu/vic to Aspeed2400SoCState 2023-10-25 09:52:44 +02:00
aspeed_ast2600.c hw/arm/aspeed: Move AspeedSoCState::a7mpcore to Aspeed2600SoCState 2023-10-25 09:52:44 +02:00
aspeed_eeprom.c hw/arm/aspeed: Add VPD data for Rainier machine 2023-06-15 18:35:57 +02:00
aspeed_eeprom.h hw/arm/aspeed: Add VPD data for Rainier machine 2023-06-15 18:35:57 +02:00
aspeed_soc_common.c hw/arm/aspeed: Check 'memory' link is set in common aspeed_soc_realize 2023-10-25 09:52:44 +02:00
aspeed.c hw/arm/aspeed: Dynamically allocate AspeedMachineState::soc field 2023-10-25 09:52:44 +02:00
bananapi_m2u.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
bcm2835_peripherals.c
bcm2836.c
boot.c target/arm/arm-powerctl: Correctly init CPUs when powered on to lower EL 2023-10-19 14:32:13 +01:00
collie.c
cubieboard.c hw/arm/allwinner-a10: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
digic_boards.c
digic.c
exynos4_boards.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
exynos4210.c
fby35.c hw/arm/aspeed: Move AspeedSoCState::a7mpcore to Aspeed2600SoCState 2023-10-25 09:52:44 +02:00
fsl-imx6.c
fsl-imx6ul.c Add i.MX6UL missing devices. 2023-08-31 09:45:16 +01:00
fsl-imx7.c Add i.MX7 SRC device implementation 2023-08-31 09:45:17 +01:00
fsl-imx25.c
fsl-imx31.c
gumstix.c
highbank.c
imx25_pdk.c hw/arm/fsl-imx25: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
integratorcp.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
Kconfig hw/arm: xlnx-versal-virt: Add AMD/Xilinx TRNG device 2023-11-02 14:42:03 +00:00
kzm.c hw/arm/fsl-imx31: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
mainstone.c
mcimx6ul-evk.c hw/arm/fsl-imx6ul: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
mcimx7d-sabre.c hw/arm/fsl-imx7: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
meson.build hw/arm/aspeed: Move AspeedSoCState::cpu/vic to Aspeed2400SoCState 2023-10-25 09:52:44 +02:00
microbit.c
mps2-tz.c hw/arm: Set number of MPU regions correctly for an505, an521, an524 2023-08-31 11:07:02 +01:00
mps2.c
msf2-soc.c
msf2-som.c
musca.c
musicpal.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
netduino2.c
netduinoplus2.c
npcm7xx_boards.c
npcm7xx.c
nrf51_soc.c
nseries.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
olimex-stm32-h405.c
omap1.c
omap2.c audio: propagate Error * out of audio_init 2023-10-03 10:29:40 +02:00
omap_sx1.c
orangepi.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
palm.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
pxa2xx_gpio.c hw/arm/pxa2xx_gpio: Pass CPU using QOM link property 2023-11-02 13:36:45 +00:00
pxa2xx_pic.c hw/intc/pxa2xx: Factor pxa2xx_pic_realize() out of pxa2xx_pic_init() 2023-10-27 12:48:57 +01:00
pxa2xx.c hw/arm/pxa2xx: Realize PXA2XX_I2C device before accessing it 2023-10-27 12:48:57 +01:00
raspi.c
realview.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
sabrelite.c hw/arm/fsl-imx6: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
sbsa-ref.c target/arm: Implement Neoverse N2 CPU model 2023-10-27 11:41:13 +01:00
smmu-common.c hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
smmu-internal.h
smmuv3-internal.h hw/arm/smmuv3: Update ID register bit field definitions 2023-10-19 14:32:13 +01:00
smmuv3.c hw/arm/smmuv3: Advertise SMMUv3.1-XNX feature 2023-10-19 14:32:13 +01:00
spitz.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
stellaris.c hw/input/stellaris_gamepad: Convert to qemu_input_handler_register() 2023-11-02 12:52:06 +00:00
stm32f100_soc.c
stm32f205_soc.c
stm32f405_soc.c
stm32vldiscovery.c
strongarm.c
strongarm.h
tosa.c
trace-events
trace.h
versatilepb.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
vexpress.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00
virt-acpi-build.c {include/}hw/arm: refactor virt PPI logic 2023-10-19 14:32:12 +01:00
virt.c target/arm: Implement Neoverse N2 CPU model 2023-10-27 11:41:13 +01:00
xen_arm.c xen_arm: Initialize RAM and add hi/low memory regions 2023-08-30 18:23:08 -07:00
xilinx_zynq.c hw/arm: Avoid using 'first_cpu' when first ARM CPU is reachable 2023-10-27 12:50:12 +01:00
xlnx-versal-virt.c hw/arm/xlnx-versal: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
xlnx-versal.c hw/arm: xlnx-versal-virt: Add AMD/Xilinx TRNG device 2023-11-02 14:42:03 +00:00
xlnx-zcu102.c hw/arm/xlnx-zynqmp: Remove 'hw/arm/boot.h' from header 2023-10-27 12:42:13 +01:00
xlnx-zynqmp.c
z2.c hw/arm: Support machine-default audiodev with fallback 2023-10-03 10:29:39 +02:00