From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56064) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVx4X-000611-QL for qemu-devel@nongnu.org; Fri, 04 Apr 2014 01:53:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVx4M-0006F2-PS for qemu-devel@nongnu.org; Fri, 04 Apr 2014 01:53:49 -0400 Received: from mail-pd0-f182.google.com ([209.85.192.182]:47961) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVx4M-0006Eo-IY for qemu-devel@nongnu.org; Fri, 04 Apr 2014 01:53:38 -0400 Received: by mail-pd0-f182.google.com with SMTP id y10so2853029pdj.13 for ; Thu, 03 Apr 2014 22:53:37 -0700 (PDT) Message-ID: <533E48DC.8060406@ozlabs.ru> Date: Fri, 04 Apr 2014 16:53:32 +1100 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <1394770689-29039-1-git-send-email-aik@ozlabs.ru> In-Reply-To: <1394770689-29039-1-git-send-email-aik@ozlabs.ru> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/8] spapr: fix IOMMU and XICS/IRQs migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, Alexander Graf , =?UTF-8?B?QW5kcmU=?= =?UTF-8?B?YXMgRsOkcmJlcg==?= 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? :) Alex, ping? > > > 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