qemu/hw/arm
Eric Auger 549d400587 memory: allow memory_region_register_iommu_notifier() to fail
Currently, when a notifier is attempted to be registered and its
flags are not supported (especially the MAP one) by the IOMMU MR,
we generally abruptly exit in the IOMMU code. The failure could be
handled more nicely in the caller and especially in the VFIO code.

So let's allow memory_region_register_iommu_notifier() to fail as
well as notify_flag_changed() callback.

All sites implementing the callback are updated. This patch does
not yet remove the exit(1) in the amd_iommu code.

in SMMUv3 we turn the warning message into an error message saying
that the assigned device would not work properly.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-10-04 18:49:18 +02:00
..
allwinner-a10.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
armsse.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00
armv7m.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
aspeed_soc.c aspeed/scu: Introduce per-SoC SCU types 2019-09-13 16:05:01 +01:00
aspeed.c aspeed/smc: Add support for DMAs 2019-09-13 16:05:01 +01:00
bcm2835_peripherals.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
bcm2836.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
boot.c hw/arm/boot: Use the IEC binary prefix definitions 2019-09-27 11:44:39 +01:00
collie.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
cubieboard.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
digic_boards.c pflash: Clean up after commit 368a354f02, part 2 2019-03-11 22:53:44 +01:00
digic.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
exynos4_boards.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
exynos4210.c Include hw/boards.h a bit less 2019-08-16 13:31:53 +02:00
fsl-imx6.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
fsl-imx6ul.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
fsl-imx7.c hw/arm: Replace global smp variables with machine smp properties 2019-07-05 17:08:03 -03:00
fsl-imx25.c hw/arm/fsl-imx: Add the cpu as child of the SoC object 2019-09-03 16:20:34 +01:00
fsl-imx31.c hw/arm/fsl-imx: Add the cpu as child of the SoC object 2019-09-03 16:20:34 +01:00
gumstix.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
highbank.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
imx25_pdk.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
integratorcp.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
Kconfig hw/misc: Add a config switch for the "unimplemented" device 2019-08-20 09:11:17 +02:00
kzm.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
mainstone.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
Makefile.objs hw/arm: Add arm SBSA reference machine, skeleton part 2019-07-01 17:29:00 +01:00
mcimx6ul-evk.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
mcimx7d-sabre.c Machine + x86 queue, 2019-09-03 2019-09-04 14:44:54 +01:00
microbit.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
mps2-tz.c hw/arm: Use object_initialize_child for correct reference counting 2019-09-03 16:20:34 +01:00
mps2.c hw/arm/mps2: Use object_initialize_child for correct reference counting 2019-05-24 15:29:02 -03:00
msf2-soc.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
msf2-som.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
musca.c hw/arm: Use object_initialize_child for correct reference counting 2019-09-03 16:20:34 +01:00
musicpal.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
netduino2.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
nrf51_soc.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
nseries.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
omap1.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
omap2.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
omap_sx1.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
palm.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
pxa2xx_gpio.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
pxa2xx_pic.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
pxa2xx.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
raspi.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
realview.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
sabrelite.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
sbsa-ref.c numa: move numa global variable numa_info into MachineState 2019-09-03 11:26:55 -03:00
smmu-common.c hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
smmu-internal.h hw/arm/smmu-common: VMSAv8-64 page table walk 2018-05-04 18:05:51 +01:00
smmuv3-internal.h hw/arm/smmuv3: Remove spurious error messages on IOVA invalidations 2019-09-03 16:20:34 +01:00
smmuv3.c memory: allow memory_region_register_iommu_notifier() to fail 2019-10-04 18:49:18 +02:00
spitz.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
stellaris.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
stm32f205_soc.c Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
strongarm.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
strongarm.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
sysbus-fdt.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
tosa.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
vexpress.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
virt-acpi-build.c numa: move numa global variable numa_info into MachineState 2019-09-03 11:26:55 -03:00
virt.c numa: move numa global variable numa_info into MachineState 2019-09-03 11:26:55 -03:00
xilinx_zynq.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
xlnx-versal-virt.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
xlnx-versal.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
xlnx-zcu102.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00
xlnx-zynqmp.c hw/arm: Use ARM_CPU_TYPE_NAME() macro when appropriate 2019-09-03 16:20:34 +01:00
z2.c hw/arm: simplify arm_load_dtb 2019-09-03 11:26:55 -03:00