Having only migratable flags reported by default on the "host" CPU model is safer for the following reasons:
* Existing users may expect "-cpu host" to be migration-safe, if they take care of always using compatible host CPUs, host kernels, and QEMU versions. * Users who don't care aboug migration and want to enable all features supported by the host kernel can simply change their setup to use migratable=no. Without this change, people using "-cpu host" will stop being able to migrate, because now "invtsc" is getting enabled by default. We are not setting migratable=yes by default on all X86CPU subclasses, because users should be able to get non-migratable features enabled if they ask for them explicitly. Reviewed-by: Marcelo Tosatti <mtosa...@redhat.com> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- For a discussion about why it makes sense to set it by default, see: http://marc.info/?l=qemu-devel&m=139838802220184&w=2 --- target-i386/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 61e8800..1395473 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -1243,7 +1243,7 @@ static int cpu_x86_fill_model_id(char *str) static X86CPUDefinition host_cpudef; static Property host_x86_cpu_properties[] = { - DEFINE_PROP_BOOL("migratable", X86CPU, migratable, false), + DEFINE_PROP_BOOL("migratable", X86CPU, migratable, true), DEFINE_PROP_END_OF_LIST() }; -- 1.9.0