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/icc-bridge/icc/child[0] \--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
8e8aba5 target-i386: Add "feature-words" property to X86CPU
Makefile.objs | 7 +++++-
qapi-schema.json | 32 ++++++++++++++++++++++++
target-i386/cpu.c | 70 ++++++++++++++++++++++++++++++++++++++++++++---------
3 files changed, 96 insertions(+), 13 deletions(-)
Upstream: git.qemu.org