Am 14.03.2014 05:18, schrieb Alexey Kardashevskiy: > This initial problem came form libvirt - it does not preserve > the device order when running QEMU. So it is easy to get source QEMU with: > -device spapr-vscsi,id=scsi1,reg=0x2000 -device > spapr-vscsi,id=scsi0,reg=0x3000 > and destination QEMU with: > -device spapr-vscsi,id=scsi0,reg=0x3000 -device > spapr-vscsi,id=scsi1,reg=0x2000 > > Since SPAPR IOMMU device does not have a bus, it is identified in > the migration stream as "spapr-iommu" and @instance_id which is assigned > as IOMMUs are created. This results in broken migration as @reg does not > match. > The first patch fixes this issue by adding a bus device and a bridge. > > However just 1/8 does not fix the migration as device creation order also > affects IRQs assigned to the devices, for both PCI and VIO. > 2/7..8/8 fix that by moving XICS IRQ management from SPAPR to XICS and > implementing migration support for the entire XICS IRQ map. > > As we are here, the patchset also prepares XICS to support multiple ICS > (interrupt servers). > > This is a bugfix patchset but it feels too big to go to 2.0, right? :)
Too big for tonight at least, yeah. :/ Regards, Andreas > > > Alexey Kardashevskiy (8): > spapr-iommu: add a bus for spapr-iommu devices > xics: add flags for interrupts > xics: add find_server > xics: add pre_load() hook to ICSStateClass > xics: disable flags reset on xics reset > spapr: move interrupt allocator to xics > spapr: remove @next_irq > xics: enable interrupt configuration reset on migration > > hw/intc/xics.c | 158 > +++++++++++++++++++++++++++++++++++++++++++++---- > hw/intc/xics_kvm.c | 9 +-- > hw/ppc/spapr.c | 73 +---------------------- > hw/ppc/spapr_events.c | 2 +- > hw/ppc/spapr_iommu.c | 59 +++++++++++++++++- > hw/ppc/spapr_pci.c | 8 +-- > hw/ppc/spapr_vio.c | 4 +- > include/hw/ppc/spapr.h | 18 +++--- > include/hw/ppc/xics.h | 8 ++- > trace-events | 4 ++ > 10 files changed, 238 insertions(+), 105 deletions(-) > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg