[libvirt] [PATCH qom-cpu 6/9] target-i386: Add "feature-words" property
Eric Blake
eblake at redhat.com
Mon Apr 22 20:37:06 UTC 2013
On 04/22/2013 01:00 PM, Eduardo Habkost wrote:
> This property will be useful for libvirt, as libvirt already has logic
> based on low-level feature bits (not feature names), so it will be
> really easy to convert the current libvirt logic to something using the
> "feature-words" property.
>
> The property will have two main use cases:
> - Checking host capabilities, by checking the features of the "host"
> CPU model
> - Checking which features are enabled on each CPU model
>
> Example output:
>
> $ ./QMP/qmp --path=/tmp/m qom-get --path=/machine/unattached/device[1] --property=feature-words
If I'm not mistaken, the QMP counterpart that libvirt will use is:
{ "execute":"qom-get",
"arguments": { "path":"/machine/unattached/device[1]",
"property":"feature-words" } }
> item[0].cpuid-register: EDX
> item[0].cpuid-input-eax: 2147483658
> item[0].features: 0
> item[1].cpuid-register: EAX
> item[1].cpuid-input-eax: 1073741825
> item[1].features: 0
> item[2].cpuid-register: EDX
> item[2].cpuid-input-eax: 3221225473
> item[2].features: 0
> item[3].cpuid-register: ECX
> item[3].cpuid-input-eax: 2147483649
> item[3].features: 101
> item[4].cpuid-register: EDX
> item[4].cpuid-input-eax: 2147483649
> item[4].features: 563346425
> item[5].cpuid-register: EBX
> item[5].cpuid-input-eax: 7
> item[5].features: 0
> item[5].cpuid-input-ecx: 0
> item[6].cpuid-register: ECX
> item[6].cpuid-input-eax: 1
> item[6].features: 2155880449
> item[7].cpuid-register: EDX
> item[7].cpuid-input-eax: 1
> item[7].features: 126614521
And this would then be returned as a JSON array containing struct
members looking like this:
> +{ 'type': 'X86CPUFeatureWordInfo',
> + 'data': { 'cpuid-input-eax': 'int',
> + '*cpuid-input-ecx': 'int',
> + 'cpuid-register': 'X86CPURegister32',
> + 'features': 'int' } }
Looks reasonable (and better than what we've had in the past!), although
I'll let Jiri Denemark give final say on whether it meets libvirt's needs.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130422/3c920042/attachment-0001.sig>
More information about the libvir-list
mailing list