From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37490) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WgwuX-0006Rf-Po for qemu-devel@nongnu.org; Sun, 04 May 2014 09:57:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WgwuO-0005k7-GH for qemu-devel@nongnu.org; Sun, 04 May 2014 09:56:57 -0400 Received: from mail-pa0-f50.google.com ([209.85.220.50]:62532) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WgwuO-0005jc-AT for qemu-devel@nongnu.org; Sun, 04 May 2014 09:56:48 -0400 Received: by mail-pa0-f50.google.com with SMTP id fb1so813814pad.37 for ; Sun, 04 May 2014 06:56:46 -0700 (PDT) Message-ID: <53664719.7060001@ozlabs.ru> Date: Sun, 04 May 2014 23:56:41 +1000 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? :) 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