qemu/include/exec
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
..
user
address-spaces.h
cpu-all.h cputlb: Move ROM handling from I/O path to TLB path 2019-09-25 10:42:51 -07:00
cpu-common.h cputlb: Move NOTDIRTY handling from I/O path to TLB path 2019-09-25 10:43:22 -07:00
cpu-defs.h include/exec/cpu-defs.h: fix typo 2019-09-03 16:20:35 +01:00
cpu_ldst.h
cpu_ldst_template.h
cpu_ldst_useronly_template.h
cputlb.h
exec-all.h cputlb: Partially inline memory_region_section_get_iotlb 2019-09-25 10:44:27 -07:00
gdbstub.h
gen-icount.h
helper-gen.h
helper-head.h
helper-proto.h
helper-tcg.h
hwaddr.h
ioport.h
log.h
memattrs.h cputlb: Byte swap memory transaction attribute 2019-09-03 08:30:39 -07:00
memop.h cputlb: Replace size and endian operands for MemOp 2019-09-03 08:30:39 -07:00
memory-internal.h cputlb: Merge and move memory_notdirty_write_{prepare,complete} 2019-09-25 10:44:29 -07:00
memory.h memory: allow memory_region_register_iommu_notifier() to fail 2019-10-04 18:49:18 +02:00
memory_ldst.inc.h
memory_ldst_cached.inc.h
memory_ldst_phys.inc.h
poison.h
ram_addr.h migration/postcopy: unsentmap is not necessary for postcopy 2019-09-25 15:51:19 +01:00
ramlist.h
softmmu-semi.h
target_page.h
tb-context.h
tb-hash.h
tb-lookup.h
translator.h