qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 0/6] Add runnability info to query-cpu-defini


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH v2 0/6] Add runnability info to query-cpu-definitions
Date: Mon, 20 Jun 2016 17:09:18 -0300
User-agent: Mutt/1.6.1 (2016-04-27)

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 <address@hidden>
> Cc: Michael Mueller <address@hidden>
> Cc: Christian Borntraeger <address@hidden>
> Cc: Cornelia Huck <address@hidden>
> Cc: Jiri Denemark <address@hidden>
> Cc: address@hidden
> 
> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]