On Fri, May 19, 2017 at 12:06:14PM +0530, Bharata B Rao wrote: > On Fri, May 19, 2017 at 11:10:39AM +0530, Bharata B Rao wrote: > > Fix migration of radix guests by ensuring that we issue > > KVM_PPC_CONFIGURE_V3_MMU for radix case post migration. > > > > Reported-by: Nageswara R Sastry <rnsas...@linux.vnet.ibm.com> > > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > > --- > > hw/ppc/spapr.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > > index daf335c..8f20f14 100644 > > --- a/hw/ppc/spapr.c > > +++ b/hw/ppc/spapr.c > > @@ -1400,6 +1400,18 @@ static int spapr_post_load(void *opaque, int > > version_id) > > err = spapr_rtc_import_offset(&spapr->rtc, spapr->rtc_offset); > > } > > > > + if (spapr->patb_entry) { > > + PowerPCCPU *cpu = POWERPC_CPU(first_cpu); > > + if (kvmppc_has_cap_mmu_radix() && kvm_enabled()) { > > + err = kvmppc_configure_v3_mmu(cpu, SPAPR_PROC_TABLE_RADIX, > > + ((cpu->env.spr[SPR_LPCR] & LPCR_GTSE) ? > > SPAPR_PROC_TABLE_GTSE : > > + 0), spapr->patb_entry); > > Better to use explicit 'true' and 'false' in the above call. Here is > the updated patch:
Or just !!(cpu->env.spr[SPR_LPCR] & LPCR_GTSE) and avoid the ?: entirely. With this version you no longer need patch 3/4 AFAICT. > > >From 937c51cac73b4211ef153c1f5940215960383494 Mon Sep 17 00:00:00 2001 > From: Bharata B Rao <bhar...@linux.vnet.ibm.com> > Date: Tue, 16 May 2017 12:19:54 +0530 > Subject: [RFC PATCH v2.1 4/4] spapr: Fix migration of Radix guests > > Fix migration of radix guests by ensuring that we issue > KVM_PPC_CONFIGURE_V3_MMU for radix case post migration. > > Reported-by: Nageswara R Sastry <rnsas...@linux.vnet.ibm.com> > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > --- > hw/ppc/spapr.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index daf335c..69e184b 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -1400,6 +1400,18 @@ static int spapr_post_load(void *opaque, int > version_id) > err = spapr_rtc_import_offset(&spapr->rtc, spapr->rtc_offset); > } > > + if (spapr->patb_entry) { > + PowerPCCPU *cpu = POWERPC_CPU(first_cpu); > + if (kvmppc_has_cap_mmu_radix() && kvm_enabled()) { > + err = kvmppc_configure_v3_mmu(cpu, true, > + ((cpu->env.spr[SPR_LPCR] & LPCR_GTSE) ? true : false), > + spapr->patb_entry); > + } else { > + error_report("Radix guest is unsupported by the host"); > + return -EINVAL; > + } > + } > + > return err; > } > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature