[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration |
Date: |
Thu, 20 Mar 2014 02:25:54 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 |
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
- [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 3/8] xics: add find_server, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 6/8] spapr: move interrupt allocator to xics, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 1/8] spapr-iommu: add a bus for spapr-iommu devices, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 7/8] spapr: remove @next_irq, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 4/8] xics: add pre_load() hook to ICSStateClass, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 5/8] xics: disable flags reset on xics reset, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 8/8] xics: enable interrupt configuration reset on migration, Alexey Kardashevskiy, 2014/03/14
- [Qemu-devel] [PATCH 2/8] xics: add flags for interrupts, Alexey Kardashevskiy, 2014/03/14
- Re: [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration,
Andreas Färber <=