[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: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration |
Date: |
Sun, 04 May 2014 23:56:41 +1000 |
User-agent: |
Mozilla/5.0 (X11; Linux i686 on x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
On 03/14/2014 03:18 PM, Alexey Kardashevskiy wrote:
> 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? :)
I understand that the first and last patches of the series are wrong but I
would still like others to get in upstream. How to proceed now? Repost them
all again? Thanks.
>
>
> 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(-)
>
--
Alexey
- Re: [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration,
Alexey Kardashevskiy <=