[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [RFC 17/17] pseries: Default to POWER8 compatibility mode
From: |
David Gibson |
Subject: |
[Qemu-ppc] [RFC 17/17] pseries: Default to POWER8 compatibility mode |
Date: |
Sun, 30 Oct 2016 22:12:08 +1100 |
Currently, the pseries machine defaults to running in the "raw" mode of
whatever the CPU version is - that is, without any compatibility options
enabled in the CPU.
However, migration is only really safe in "raw" mode if source and
destination have exactly the same cpu model. Since HV KVM exposes the
version of the host CPU to the guest, that means "raw" migration between
hosts with different minor revisions isn't strictly safe, although it
generally works in practice.
To allow this sort of migration in a more clearly defined way, instead
default to running in POWER8 compatibility mode - if an older CPU is used
that will automatically be downgraded to the higest available compatibility
mode.
Signed-off-by: David Gibson <address@hidden>
---
hw/ppc/spapr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 2aa0900..8c18dc8 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2194,6 +2194,7 @@ static void spapr_machine_initfn(Object *obj)
" (required for memory hot-unplug
support)",
NULL);
+ spapr->max_compat_pvr = CPU_POWERPC_LOGICAL_2_07; /* POWER8 */
object_property_add(obj, "max-cpu-compat", "str",
ppc_compat_prop_get, ppc_compat_prop_set,
NULL, &spapr->max_compat_pvr, &error_fatal);
--
2.7.4
- Re: [Qemu-ppc] [RFC 02/17] powernv: CPU compatibility modes don't make sense for powernv, (continued)
- [Qemu-ppc] [RFC 01/17] ppc: Remove some stub POWER6 models, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 14/17] pseries: Reset CPU compatibility mode, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 06/17] ppc: Rename cpu_version to compat_pvr, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 05/17] ppc: Clean up and QOMify hypercall emulation, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 08/17] ppc: Rewrite ppc_get_compat_smt_threads(), David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 12/17] ppc: Migrate compatibility mode, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 17/17] pseries: Default to POWER8 compatibility mode,
David Gibson <=
- [Qemu-ppc] [RFC 16/17] ppc: Remove counter-productive "sanity checks" in migration, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 04/17] pseries: Make cpu_update during CAS unconditional, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 15/17] ppc: Check that CPU model stays consistent across migration, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 03/17] pseries: Always use core objects for CPU construction, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 07/17] ppc: Rewrite ppc_set_compat(), David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 09/17] ppc: Validate compatibility modes when setting, David Gibson, 2016/10/30
- [Qemu-ppc] [RFC 10/17] pseries: Rewrite CAS PVR compatibility logic, David Gibson, 2016/10/30