|
|
76daa3 |
From bd40310ce834bf1d80f7dbc254fd6a341b45866b Mon Sep 17 00:00:00 2001
|
|
|
76daa3 |
From: Laurent Vivier <lvivier@redhat.com>
|
|
|
76daa3 |
Date: Tue, 4 Jul 2017 16:32:58 +0200
|
|
|
76daa3 |
Subject: [PATCH 3/4] spapr: Fix migration of Radix guests
|
|
|
76daa3 |
|
|
|
76daa3 |
RH-Author: Laurent Vivier <lvivier@redhat.com>
|
|
|
76daa3 |
Message-id: <20170704163258.9846-4-lvivier@redhat.com>
|
|
|
76daa3 |
Patchwork-id: 75707
|
|
|
76daa3 |
O-Subject: [Pegas-1.0 qemu-kvm PATCH 3/3] spapr: Fix migration of Radix guests
|
|
|
76daa3 |
Bugzilla: 1456287
|
|
|
76daa3 |
RH-Acked-by: David Gibson <dgibson@redhat.com>
|
|
|
76daa3 |
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
|
|
76daa3 |
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
76daa3 |
|
|
|
76daa3 |
From: Bharata B Rao <bharata@linux.vnet.ibm.com>
|
|
|
76daa3 |
|
|
|
76daa3 |
Fix migration of radix guests by ensuring that we issue
|
|
|
76daa3 |
KVM_PPC_CONFIGURE_V3_MMU for radix case post migration.
|
|
|
76daa3 |
|
|
|
76daa3 |
Reported-by: Nageswara R Sastry <rnsastry@linux.vnet.ibm.com>
|
|
|
76daa3 |
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
|
|
|
76daa3 |
Reviewed-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
|
|
|
76daa3 |
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
|
|
76daa3 |
(cherry picked from commit d39c90f5f3ae23a6c8202eb6e1204ea84991e7f5)
|
|
|
76daa3 |
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
|
|
|
76daa3 |
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
76daa3 |
---
|
|
|
76daa3 |
hw/ppc/spapr.c | 12 ++++++++++++
|
|
|
76daa3 |
1 file changed, 12 insertions(+)
|
|
|
76daa3 |
|
|
|
76daa3 |
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
|
|
|
76daa3 |
index c322666..07c28d4 100644
|
|
|
76daa3 |
--- a/hw/ppc/spapr.c
|
|
|
76daa3 |
+++ b/hw/ppc/spapr.c
|
|
|
76daa3 |
@@ -1461,6 +1461,18 @@ static int spapr_post_load(void *opaque, int version_id)
|
|
|
76daa3 |
err = spapr_rtc_import_offset(spapr->rtc, spapr->rtc_offset);
|
|
|
76daa3 |
}
|
|
|
76daa3 |
|
|
|
76daa3 |
+ if (spapr->patb_entry) {
|
|
|
76daa3 |
+ PowerPCCPU *cpu = POWERPC_CPU(first_cpu);
|
|
|
76daa3 |
+ bool radix = !!(spapr->patb_entry & PATBE1_GR);
|
|
|
76daa3 |
+ bool gtse = !!(cpu->env.spr[SPR_LPCR] & LPCR_GTSE);
|
|
|
76daa3 |
+
|
|
|
76daa3 |
+ err = kvmppc_configure_v3_mmu(cpu, radix, gtse, spapr->patb_entry);
|
|
|
76daa3 |
+ if (err) {
|
|
|
76daa3 |
+ error_report("Process table config unsupported by the host");
|
|
|
76daa3 |
+ return -EINVAL;
|
|
|
76daa3 |
+ }
|
|
|
76daa3 |
+ }
|
|
|
76daa3 |
+
|
|
|
76daa3 |
return err;
|
|
|
76daa3 |
}
|
|
|
76daa3 |
|
|
|
76daa3 |
--
|
|
|
76daa3 |
1.8.3.1
|
|
|
76daa3 |
|