qemu-patch-raspberry4/hw/i386
Peter Xu 552a1e01a4 intel_iommu: fix migration breakage on mr switch
Migration is broken after the vfio integration work:

qemu-kvm: AHCI: Failed to start FIS receive engine: bad FIS receive buffer address
qemu-kvm: Failed to load ich9_ahci:ahci
qemu-kvm: error while loading state for instance 0x0 of device '0000:00:1f.2/ich9_ahci'
qemu-kvm: load of migration failed: Operation not permitted

The problem is that vfio work introduced dynamic memory region
switching (actually it is also used for future PT mode), and this memory
region layout is not properly delivered to destination when migration
happens. Solution is to rebuild the layout in post_load.

Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1459906
Fixes: 558e0024 ("intel_iommu: allow dynamic switch of IOMMU region")
Reviewed-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2017-07-03 22:29:49 +03:00
..
kvm i386/kvm/pci-assign: Use errp directly rather than local_err 2017-07-03 22:29:49 +03:00
xen xen: use get_uint() for "max-ram-below-4g" property 2017-06-20 14:31:33 +02:00
acpi-build.c hw/acpi: remove dead acpi code 2017-07-03 22:29:49 +03:00
acpi-build.h Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
amd_iommu.c pci: Make errp the last parameter of pci_add_capability() 2017-07-03 22:29:49 +03:00
amd_iommu.h i386: amd_iommu: fix MMIO register count and access 2016-12-16 01:14:38 +02:00
intel_iommu.c intel_iommu: fix migration breakage on mr switch 2017-07-03 22:29:49 +03:00
intel_iommu_internal.h intel_iommu: cleanup vtd_{do_}iommu_translate() 2017-06-16 18:44:55 +03:00
kvmvapic.c kvmvapic: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
Makefile.objs hw/i386: Introduce AMD IOMMU 2016-09-24 01:02:00 +03:00
multiboot.c multiboot: copy the cmdline verbatim, unescape module strings 2016-12-22 16:00:26 +01:00
multiboot.h refer to FWCfgState explicitly 2013-06-02 18:14:02 +03:00
pc.c QAPI patches for 2017-06-09 2017-06-22 11:34:39 +01:00
pc_piix.c migration: move skip_section_footers 2017-06-28 11:18:39 +02:00
pc_q35.c migration: migration.h was not needed 2017-05-18 19:20:59 +02:00
pc_sysfw.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
pci-assign-load-rom.c pci-assign: avoid pointless stat 2017-01-24 23:26:53 +03:00
trace-events intel_iommu: relax iq tail check on VTD_GCMD_QIE enable 2017-07-03 22:29:48 +03:00
x86-iommu.c intel_iommu: support passthrough (PT) 2017-05-25 21:25:27 +03:00