On Mon, May 25, 2015 at 04:16:14PM +0200, Paolo Bonzini wrote: > On 25/05/2015 16:06, Jan Kiszka wrote: > > static void pc_compat_2_3(MachineState *machine) > > { > > + x86_cpu_compat_set_features("Westmere", FEAT_6_EAX, 0, CPUID_6_EAX_ARAT); > > + x86_cpu_compat_set_features("SandyBridge", FEAT_6_EAX, 0, > > + CPUID_6_EAX_ARAT); > > + x86_cpu_compat_set_features("IvyBridge", FEAT_6_EAX, 0, CPUID_6_EAX_ARAT); > > + x86_cpu_compat_set_features("Haswell-noTSX", FEAT_6_EAX, 0, > > + CPUID_6_EAX_ARAT); > > + x86_cpu_compat_set_features("Haswell", FEAT_6_EAX, 0, CPUID_6_EAX_ARAT); > > + x86_cpu_compat_set_features("Broadwell-noTSC", FEAT_6_EAX, 0, > > + CPUID_6_EAX_ARAT); > > noTSX. > > Also, I think this doesn't cover Q35. Eduardo has patches to clean that > up so that (I think) less duplication is required. pc_compat_*() removal/deduplication will require a few PC cleanup series to be included first, so it may take a while. But PC_COMPAT_* is not duplicated, and with the feature flag property patch that is now in the x86 tree[1], you can use PC_COMPAT_2_3[2] to do the above, with something like: { .driver = TYPE_X86_CPU, .property = "arat", .value = "off" }, (As no CPU model had ARAT enabled in QEMU 2.3, setting it to off on TYPE_X86_CPU is simpler than enumerating the CPU models above). [1] https://github.com/ehabkost/qemu.git x86 [2] The following series defines PC_COMPAT_2_3: [PATCH v2 00/13] pc, hw, spapr: Cleanup of {HW, PC, SPAPR}_COMPAT_* macros -- Eduardo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html