From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57498) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WQRkB-00034d-IA for qemu-devel@nongnu.org; Wed, 19 Mar 2014 21:26:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WQRk4-0005m2-7q for qemu-devel@nongnu.org; Wed, 19 Mar 2014 21:26:03 -0400 Message-ID: <532A43A2.1030408@suse.de> Date: Thu, 20 Mar 2014 02:25:54 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= 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=ISO-8859-15 Content-Transfer-Encoding: quoted-printable 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: Alexey Kardashevskiy , qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, Alexander Graf 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 wi= th: > -device spapr-vscsi,id=3Dscsi1,reg=3D0x2000 -device spapr-vscsi,id=3Dsc= si0,reg=3D0x3000 > and destination QEMU with: > -device spapr-vscsi,id=3Dscsi0,reg=3D0x3000 -device spapr-vscsi,id=3Dsc= si1,reg=3D0x2000 >=20 > Since SPAPR IOMMU device does not have a bus, it is identified in > the migration stream as "spapr-iommu" and @instance_id which is assigne= d > as IOMMUs are created. This results in broken migration as @reg does no= t match. > The first patch fixes this issue by adding a bus device and a bridge. >=20 > However just 1/8 does not fix the migration as device creation order al= so > 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. >=20 > As we are here, the patchset also prepares XICS to support multiple ICS > (interrupt servers). >=20 > 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 >=20 >=20 > 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 >=20 > 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(-) >=20 --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg