On Thu, 26 Sep 2019 11:38:08 +1000 David Gibson <da...@gibson.dropbear.id.au> wrote:
> On Wed, Sep 25, 2019 at 06:07:40PM +0200, Greg Kurz wrote: > > Recent patch "spapr/irq: Only claim VALID interrupts at the KVM level" > > broke migration of older machine types started with ic-mode=xive: > > > > qemu-system-ppc64: KVM_SET_DEVICE_ATTR failed: Group 3 attr > > 0x0000000000001300: Invalid argument > > qemu-system-ppc64: error while loading state for instance 0x0 of device > > 'spapr' > > qemu-system-ppc64: load of migration failed: Operation not permitted > > > > This is because we should set the interrupt source in KVM at post load, > > since we no longer do it unconditionaly at reset time for all interrupts. > > > > Signed-off-by: Greg Kurz <gr...@kaod.org> > > --- > > > > David, > > > > I guess you should probably fold this fix directly into Cedric's > > patch (currently SHA1 966d526cdfd9 in ppc-for-4.2) to avoid > > bisection breakage. > > Done. > Ok, I see it in ppc-for-4.2. Just one cosmetic nit, missing ']' in the updated changelog: [dwg: Folded in fix up from Greg Kurz > > --- > > hw/intc/spapr_xive_kvm.c | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c > > index 71b88d7797bc..2006f96aece1 100644 > > --- a/hw/intc/spapr_xive_kvm.c > > +++ b/hw/intc/spapr_xive_kvm.c > > @@ -678,6 +678,17 @@ int kvmppc_xive_post_load(SpaprXive *xive, int > > version_id) > > continue; > > } > > > > + /* > > + * We can only restore the source config if the source has been > > + * previously set in KVM. Since we don't do that for all interrupts > > + * at reset time anymore, let's do it now. > > + */ > > + kvmppc_xive_source_reset_one(&xive->source, i, &local_err); > > + if (local_err) { > > + error_report_err(local_err); > > + return -1; > > + } > > + > > kvmppc_xive_set_source_config(xive, i, &xive->eat[i], &local_err); > > if (local_err) { > > error_report_err(local_err); > > >
pgpQ0dJ4DaQZK.pgp
Description: OpenPGP digital signature