Am 05.11.2013 10:52, schrieb Paolo Bonzini: > Il 05/11/2013 10:16, Alexander Graf ha scritto: >> >> On 05.11.2013, at 10:06, Paolo Bonzini <pbonz...@redhat.com> wrote: >> >>> Il 30/09/2013 14:57, Alexey Kardashevskiy ha scritto: >>>>>> Why is the option under -machine instead of -cpu? >>>> Because it is still the same CPU and the guest will still read the real >>>> PVR from the hardware (which it may not support but this is why we need >>>> compatibility mode). >>> >>> How do you support migration from a newer to an older CPU then? I think >>> the guest should never see anything about the hardware CPU model. >> >> POWER can't model that. It always leaks the host CPU information into the >> guest. It's the guest kernel's responsibility to not expose that change to >> user space. >> >> Yes, it's broken :). I'm not even sure there is any sensible way to do live >> migration between different CPU types. > > Still in my opinion it should be "-cpu", not "-machine". Even if it's > just a "virtual" CPU model.
PowerPC currently does not have -cpu option parsing. If you need to implement it, I would ask for a generic hook in CPUClass set by TYPE_POWERPC_CPU, so that the logic does not get hardcoded in cpu_init, and for the p=v parsing logic to be so generic as to just set property p to value v on the CPU instance. I.e. please make the compatibility settings a static property or dynamic property of the CPU. Maybe the parsing code could even live in generic qom/cpu.c, overridden by x86/sparc and reused for arm? Somewhere down my to-do list but patches appreciated... Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg