diff options
author | Bharata B Rao | 2017-06-12 07:32:35 +0200 |
---|---|---|
committer | David Gibson | 2017-06-30 06:03:31 +0200 |
commit | d39c90f5f3ae23a6c8202eb6e1204ea84991e7f5 (patch) | |
tree | 8f433b37cc5944984c45374a181295fc3d77a10b /hw/ppc | |
parent | spapr: Add a "no HPT" encoding to HTAB migration stream (diff) | |
download | qemu-d39c90f5f3ae23a6c8202eb6e1204ea84991e7f5.tar.gz qemu-d39c90f5f3ae23a6c8202eb6e1204ea84991e7f5.tar.xz qemu-d39c90f5f3ae23a6c8202eb6e1204ea84991e7f5.zip |
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 <rnsastry@linux.vnet.ibm.com>
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Reviewed-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/ppc')
-rw-r--r-- | hw/ppc/spapr.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index f3e0b9b45c..6c276af09d 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1445,6 +1445,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); + bool radix = !!(spapr->patb_entry & PATBE1_GR); + bool gtse = !!(cpu->env.spr[SPR_LPCR] & LPCR_GTSE); + + err = kvmppc_configure_v3_mmu(cpu, radix, gtse, spapr->patb_entry); + if (err) { + error_report("Process table config unsupported by the host"); + return -EINVAL; + } + } + return err; } |