On 05/07/19 23:44, Eduardo Habkost wrote: > On Fri, Jul 05, 2019 at 11:32:07PM +0200, Paolo Bonzini wrote: >> On 05/07/19 22:37, Eduardo Habkost wrote: >>> Filtering and reporting is separate because >>> x86_cpu_filter_features() is also called from a QMP command >>> handler that is not supposed to generate any warnings on stderr >>> (query-cpu-model-expansion). >> >> But that one should not set check_cpuid or enforce_cpuid, should it? > > check_cpuid is set to true by default.
Ok, that's what I missed. >> >> (I can still split the filtering and reporting if you prefer). > > Maybe it will work if we just add a 'bool verbose' parameter to > x86_cpu_filter_features(). > > x86_cpu_realizefn() would call: > x86_cpu_filter_features(cpu, cpu->check_cpuid); ... "|| cpu->enforce_cpuid". > x86_cpu_class_check_missing_features() would call: > x86_cpu_filter_features(cpu, false); Or set check_cpuid to false there after creating the object? Paolo