qemu-devel
[Top][All Lists]
Advanced

[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: Fri, 04 Apr 2014 16:53:32 +1100
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.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? :)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]