Ping? No other feedback on this? On Mon, Jun 06, 2016 at 05:05:37PM -0300, Eduardo Habkost wrote: > This series extends query-cpu-definitions to include an extra > field: "unavailable-features". The new field can be used to find > out reasons that prevent the CPU model from running in the > current host. > > This will return information based on the current machine and > accelerator only. In the future we may extend these mechanisms to > allow querying other machines and other accelerators without > restarting QEMU, but it will require some reorganization of > QEMU's main code. > > This series is based on my 'x86-next' branch, at: > git://github.com/ehabkost/qemu.git x86-next > > Changes v1 -> v2: > * Fixed documentation to say "(since 2.7)" > * Removed @runnable field, improved documentation > > Example command output: > > { "return": [ > { > "unavailable-features": [ "kvm" ], > "name": "host" > }, > { > "unavailable-features": [], > "name": "qemu64" > }, > { > "unavailable-features": [], > "name": "qemu32" > }, > { > "unavailable-features": ["npt", "fxsr-opt", "vme"], > "name": "phenom" > }, > { > "unavailable-features": ["vme"], > "name": "pentium3" > }, > { > "unavailable-features": ["vme"], > "name": "pentium2" > }, > { > "unavailable-features": ["vme"], > "name": "pentium" > }, > { > "unavailable-features": ["vme"], > "name": "n270" > }, > { > "unavailable-features": ["vme"], > "name": "kvm64" > }, > { > "unavailable-features": ["vme"], > "name": "kvm32" > }, > { > "unavailable-features": ["vme"], > "name": "coreduo" > }, > { > "unavailable-features": ["vme"], > "name": "core2duo" > }, > { > "unavailable-features": ["vme"], > "name": "athlon" > }, > { > "unavailable-features": ["vme"], > "name": "Westmere" > }, > { > "unavailable-features": ["xsavec", "3dnowprefetch", "rdseed", "rtm", "invpcid", "erms", "avx2", "hle", "rdrand", "f16c", "avx", "tsc-deadline", "x2apic", "pcid", "fma", "vme"], > "name": "Skylake-Client" > }, > { > "unavailable-features": ["avx", "tsc-deadline", "x2apic", "vme"], > "name": "SandyBridge" > }, > { > "unavailable-features": ["vme"], > "name": "Penryn" > }, > { > "unavailable-features": ["tbm", "fma4", "xop", "3dnowprefetch", "misalignsse", "f16c", "avx", "fma", "vme"], > "name": "Opteron_G5" > }, > { > "unavailable-features": ["fma4", "xop", "3dnowprefetch", "misalignsse", "avx", "vme"], > "name": "Opteron_G4" > }, > { > "unavailable-features": ["misalignsse", "vme"], > "name": "Opteron_G3" > }, > { > "unavailable-features": ["vme"], > "name": "Opteron_G2" > }, > { > "unavailable-features": ["vme"], > "name": "Opteron_G1" > }, > { > "unavailable-features": ["vme"], > "name": "Nehalem" > }, > { > "unavailable-features": ["erms", "rdrand", "f16c", "avx", "tsc-deadline", "x2apic", "vme"], > "name": "IvyBridge" > }, > { > "unavailable-features": ["rtm", "invpcid", "erms", "avx2", "hle", "rdrand", "f16c", "avx", "tsc-deadline", "x2apic", "pcid", "fma", "vme"], > "name": "Haswell" > }, > { > "unavailable-features": ["invpcid", "erms", "avx2", "rdrand", "f16c", "avx", "tsc-deadline", "x2apic", "pcid", "fma", "vme"], > "name": "Haswell-noTSX" > }, > { > "unavailable-features": ["vme"], > "name": "Conroe" > }, > { > "unavailable-features": ["3dnowprefetch", "rdseed", "rtm", "invpcid", "erms", "avx2", "hle", "rdrand", "f16c", "avx", "tsc-deadline", "x2apic", "pcid", "fma", "vme"], > "name": "Broadwell" > }, > { > "unavailable-features": ["3dnowprefetch", "rdseed", "invpcid", "erms", "avx2", "rdrand", "f16c", "avx", "tsc-deadline", "x2apic", "pcid", "fma", "vme"], > "name": "Broadwell-noTSX" > }, > { > "unavailable-features": ["vme"], > "name": "486" > } > ]} > > Cc: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> > Cc: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> > Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> > Cc: Cornelia Huck <cornelia.huck@xxxxxxxxxx> > Cc: Jiri Denemark <jdenemar@xxxxxxxxxx> > Cc: libvir-list@xxxxxxxxxx > > Eduardo Habkost (6): > target-i386: List CPU models using subclass list > target-i386: Move warning code outside x86_cpu_filter_features() > target-i386: Define CPUID filtering functions before x86_cpu_list() > qmp: Add runnability information to query-cpu-definitions > target-i386: Use "-" instead of "_" on all feature names > target-i386: Return runnability information on query-cpu-definitions > > qapi-schema.json | 23 ++++- > target-i386/cpu-qom.h | 4 + > target-i386/cpu.c | 262 +++++++++++++++++++++++++++++++++++--------------- > 3 files changed, 209 insertions(+), 80 deletions(-) > > -- > 2.5.5 > > -- Eduardo -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list