Am 15.08.2013 17:58, schrieb Alexander Graf: > > On 15.08.2013, at 17:48, Andreas Färber wrote: > >> Am 15.08.2013 17:30, schrieb Alexander Graf: >>> >>> On 15.08.2013, at 17:11, Andreas Färber wrote: >>> >>>> Am 15.08.2013 15:12, schrieb Anthony Liguori: >>>>> Everyone is talking past each other and no one is addressing the real >>>>> problem. There are two distinct issues here: >>>>> >>>>> 1) We have two ABIs that cannot be changed unless there's a very good >>>>> reason to. Alexey's original patch breaks both. The guest ABI >>>>> cannot change given a fixed command line. >>>>> >>>>> IOW, the exposed PVR value for -cpu POWER7 cannot change across >>>>> versions of QEMU or when running on different hardware. This breaks >>>>> live migration and save/resume. >>>>> >>>>> We also cannot break the command line interface. If the last version >>>>> of QEMU supported -cpu POWER7_v2.1, then we must continue to support >>>>> that. >>>> >>>> 1a) How should -cpu 0xDEADBEEF or -cpu DEADBEEF behave. >>>> >>>> I expect it to error out as before >>>> rather than applying the same fuzz/mask that -cpu host might. >>> >>> I actually think it'd make sense to apply the same fuzz/mask, don't you >>> think? >> >> I think "-cpu host" has the semantics of give-me-what-the-host-has. But >> -cpu 0xDEADBEEF is asking for PVR DEADBEEF and having it silently return >> a guest-visible DEADBEBE is going to be undesired. > > -cpu host on 0xDEADBEEF should give us a 0xDEADBEEF cpu. -cpu 0xDEADBEEF > should give us a 0xDEADBEEF cpu :).
Then we mustn't tweak translate_init.c:cpu_class_by_pvr() to return deviating results! Which is what the change to ppc_cpu_compare_class_pvr() is essentially resulting in if I am not completely off track. And therefore my calling to handle this at a higher level (KVM init), where the user's intentions are clear, rather than to blur our internal API. Otherwise the _by_pvr() function would need to create a new class or modify an existing one when the function can't know what the function call was actually intended for. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg