On Wed, 31 May 2017 12:57:48 +1000 David Gibson <da...@gibson.dropbear.id.au> wrote: > [...] > > All old non-pseries machine types already complain when started with > > a POWER7 or newer CPU. Providing the extra error message looks weird: > > > > qemu-system-ppc64 -machine ppce500 \ > > -cpu POWER7,compat=power6 > > qemu-system-ppc64: CPU 'compat' property is deprecated and has no effect; > > use max-cpu-compat machine property instead > > MMU model 983043 not supported by this machine. > > > > but I guess it's better than crashing. :) > > Well, sure POWER7 doesn't make sense for an e500 machine for other > reasons. But POWER7 or POWER8 _would_ make sense for powernv, where > compat= doesn't. >
The powernv machine type doesn't even support CPU features at all: chip_typename = g_strdup_printf(TYPE_PNV_CHIP "-%s", machine->cpu_model); if (!object_class_by_name(chip_typename)) { error_report("invalid CPU model '%s' for %s machine", machine->cpu_model, MACHINE_GET_CLASS(machine)->name); exit(1); } > > > > > > > > > > This means that patch 1 is no longer needed if I get things right but > > > > you probably want Markus to second that. > > > > > > > > > * Add a migration fix make cpu_synchronize_state() safe in post_load > > > > > handlers, which in turn fixes a bug in 5/5. > > > > > * A number of bugfixes and other tweaks suggested by feedback on v2. > > > > > > > > > > Changes since RFCv2: > > > > > * Many patches dropped, since they're already merged > > > > > * Rebased, fixed conflicts > > > > > * Restored support for backwards migration (wasn't as complicated as > > > > > I thought) > > > > > * Updated final patch's description to more accurately reflect the > > > > > logic > > > > > > > > > > Changes since RFCv1: > > > > > * Change CAS logic to prefer compatibility modes over raw mode > > > > > * Simplified by giving up on half-hearted attempts to maintain > > > > > backwards migration > > > > > * Folded migration stream changes into a single patch > > > > > * Removed some preliminary patches which are already merged > > > > > > > > > > David Gibson (4): > > > > > migration: Mark CPU states dirty before incoming migration/loadvm > > > > > pseries: Move CPU compatibility property to machine > > > > > pseries: Reset CPU compatibility mode > > > > > ppc: Rework CPU compatibility testing across migration > > > > > > > > > > Greg Kurz (1): > > > > > qapi: add explicit null to string input and output visitors > > > > > > > > > > cpus.c | 9 ++++ > > > > > hw/ppc/spapr.c | 8 +++- > > > > > hw/ppc/spapr_cpu_core.c | 62 +++++++++++++++++++++----- > > > > > hw/ppc/spapr_hcall.c | 8 ++-- > > > > > include/hw/ppc/spapr.h | 12 +++-- > > > > > include/sysemu/cpus.h | 1 + > > > > > include/sysemu/hax.h | 1 + > > > > > include/sysemu/hw_accel.h | 10 +++++ > > > > > include/sysemu/kvm.h | 1 + > > > > > kvm-all.c | 10 +++++ > > > > > migration/savevm.c | 2 + > > > > > qapi/string-input-visitor.c | 11 +++++ > > > > > qapi/string-output-visitor.c | 14 ++++++ > > > > > target/i386/hax-all.c | 10 +++++ > > > > > target/ppc/compat.c | 102 > > > > > +++++++++++++++++++++++++++++++++++++++++++ > > > > > target/ppc/cpu.h | 5 ++- > > > > > target/ppc/machine.c | 72 ++++++++++++++++++++++++++++-- > > > > > target/ppc/translate_init.c | 86 > > > > > +++++++++++------------------------- > > > > > 18 files changed, 340 insertions(+), 84 deletions(-) > > > > > > > > > > > > > > > > > > > > > > >
pgpJaWwdt5vVa.pgp
Description: OpenPGP digital signature