[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [RFC 17/17] pseries: Default to POWER8 compatibility mode
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [RFC 17/17] pseries: Default to POWER8 compatibility mode |
Date: |
Sun, 30 Oct 2016 22:58:11 +1100 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Sun, Oct 30, 2016 at 10:12:08PM +1100, David Gibson wrote:
> 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>
Ugh, sorry. When I said minimally tested I did mean that it passed
make check, but unfortunately I was sloppy and this last patch breaks
a bunch of stuff.
> ---
> 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);
--
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
- 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, 2016/10/30
- Re: [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