[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v2 4/4] spapr: Fix migration of Radix guests
From: |
Bharata B Rao |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2 4/4] spapr: Fix migration of Radix guests |
Date: |
Fri, 19 May 2017 12:06:14 +0530 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
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 <address@hidden>
> Signed-off-by: Bharata B Rao <address@hidden>
> ---
> 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:
>From 937c51cac73b4211ef153c1f5940215960383494 Mon Sep 17 00:00:00 2001
From: Bharata B Rao <address@hidden>
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 <address@hidden>
Signed-off-by: Bharata B Rao <address@hidden>
---
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;
}
--
2.7.4
- [Qemu-devel] [RFC PATCH v2 1/4] migration: Introduce unregister_savevm_live(), (continued)