On 06/27/2018 02:14 AM, David Gibson wrote: > On Tue, Jun 26, 2018 at 06:37:12PM +0200, Cédric Le Goater wrote: > 1;5202;0c> On 06/26/2018 03:27 PM, Greg Kurz wrote: >>> On Mon, 25 Jun 2018 11:17:13 +0200 >>> Cédric Le Goater <c...@kaod.org> wrote: >>> >>>> Hello, >>>> >>> >>> Hello, >>> >>> Sorry I didn't manage to look at this before it got merged :) >>> >>>> It makes the class hierarchy much cleaner and removes duplicated >>>> code. As we are touching the location of the objects states, migration >>>> compatibility was checked and the following tests were performed under >>>> KVM : >>>> >>>> qemu-3.0 (pseries-3.0) -> qemu-3.0 (pseries-3.0) OK >>>> qemu-3.0 (pseries-2.12) -> qemu-2.12 (pseries-2.12) OK >>>> qemu-3.0 (pseries-2.11) -> qemu-2.11 (pseries-2.11) OK >>>> qemu-3.0 (pseries-2.10) -> qemu-2.10 (pseries-2.10) OK >>>> qemu-3.0 (pseries-2.9) -> qemu-2.9 (pseries-2.9) OK >>>> qemu-3.0 (pseries-2.8) -> qemu-2.8 (pseries-2.8) OK >>>> qemu-3.0 (pseries-2.7) -> qemu-2.7 (pseries-2.7) FAIL >>> >>> What's the failure ? >> >> qemu-system-ppc64: error while loading state for instance 0x0 of device 'cpu' >> qemu-system-ppc64: load of migration failed: Invalid argument >> >> and to be more precise : >> >> qemu-3.0 (pseries-2.7) -> qemu-2.7 (pseries-2.7) FAIL >> qemu-2.12 (pseries-2.7) -> qemu-2.7 (pseries-2.7) FAIL >> qemu-2.11 (pseries-2.7) -> qemu-2.7 (pseries-2.7) FAIL >> qemu-2.10 (pseries-2.7) -> qemu-2.7 (pseries-2.7) FAIL >> qemu-2.9 (pseries-2.7) -> qemu-2.7 (pseries-2.7) FAIL >> qemu-2.8 (pseries-2.7) -> qemu-2.7 (pseries-2.7) FAIL >> qemu-2.7 (pseries-2.7) -> qemu-2.7 (pseries-2.7) OK >> >> >> So it has been a while. > > Yeah, IIRC that's a known problem. If you try 2.7.1, I think it will work.
I was using a 2.7.1. C. > >> >> C. >> >> >>> >>>> >>>> and back : >>>> >>>> qemu-3.0 (pseries-3.0) <- qemu-3.0 (pseries-3.0) OK >>>> qemu-3.0 (pseries-2.12) <- qemu-2.12 (pseries-2.12) OK >>>> qemu-3.0 (pseries-2.11) <- qemu-2.11 (pseries-2.11) OK >>>> qemu-3.0 (pseries-2.10) <- qemu-2.10 (pseries-2.10) OK >>>> qemu-3.0 (pseries-2.9) <- qemu-2.9 (pseries-2.9) OK >>>> qemu-3.0 (pseries-2.8) <- qemu-2.8 (pseries-2.8) OK >>>> qemu-3.0 (pseries-2.7) <- qemu-2.7 (pseries-2.7) OK >>>> >>>> under TCG, same scenarios were run but up to 2.10 only, in which case >>>> the migration fails for other reasons. >>>> >>>> I wouldn't mind some extra cross checking from someone else. >>>> >>>> Thanks, >>>> >>>> C. >>>> >>>> Changes since v2: >>>> >>>> - split the patch in smaller units. The migration tests were not >>>> rerun because the code is very much the same. make check was run on >>>> each patch. >>>> >>>> >>>> Cédric Le Goater (5): >>>> ppc/xics: introduce a parent_realize in ICSStateClass >>>> ppc/xics: move the instance_init handler under the ics-base class >>>> ppx/xics: introduce a parent_reset in ICSStateClass >>>> ppc/xics: move the vmstate structures under the ics-base class >>>> ppc/xics: rework the ICS classes inheritance tree >>>> >>>> include/hw/ppc/xics.h | 4 +- >>>> hw/intc/xics.c | 164 >>>> ++++++++++++++++++++++++++++---------------------- >>>> hw/intc/xics_kvm.c | 46 +++++++------- >>>> hw/ppc/spapr.c | 2 +- >>>> 4 files changed, 121 insertions(+), 95 deletions(-) >>>> >>> >> >