[libvirt] Gathering CPUID data for x86 CPUs

Hi all, I'm working on improving our host CPU detection logic and I'd like to gather test data for various CPUs and include them in the libvirt's CPU unit test to make sure I don't introduce regressions. If you are willing to help me, please, send me the output of the following command: grep 'model name' /proc/cpuinfo | head -n1; cpuid -1r on various i686/x86_64 hosts you might own? Older or unusual CPUs are more than welcome. The cpuid tool can be usually found in a package called "cpuid". If your distro does not provide such package and you are still willing to help, you can find the sources or binary packages at http://www.etallen.com/cpuid.html Private replies are preferred to reduce unnecessary mailing list traffic. Thanks a lot for your help, Jirka

On Thu, Jun 25, 2015 at 14:12:16 +0200, Jiri Denemark wrote:
Hi all,
I'm working on improving our host CPU detection logic and I'd like to gather test data for various CPUs and include them in the libvirt's CPU unit test to make sure I don't introduce regressions.
If you are willing to help me, please, send me the output of the following command:
grep 'model name' /proc/cpuinfo | head -n1; cpuid -1r
Oh, I forgot I'd also like to see what QEMU/KVM is thinking about the host CPU. If you have QEMU and KVM enabled on the hosts (or you are willing to do so), please, also send me the output of the following command: qemu-system-x86_64 -cpu host -machine accel=kvm -nodefaults -nographic \ -qmp unix:/tmp/socket,server,nowait & sleep 5; echo \ '{"execute":"qmp_capabilities"}{"execute":"qom-get","arguments":' \ '{"path":"/machine/unattached/device[0]","property":"feature-words"},' \ '"id":"feature-words"}{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"family"},"id":"family"}' \ '{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"model"},"id":"model"}' \ '{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"stepping"},"id":' \ '"stepping"}{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"model-id"},"id":' \ '"model-id"}{"execute":"quit"}' | nc -U /tmp/socket Replace qemu-system-x86_64 with the appropriate QEMU binary name (qemu-kvm, /usr/libexec/qemu-kvm, ...). BTW, none of these commands should require root privileges. Thanks a lot, Jirka

On Fri, Jun 26, 2015 at 11:05:48AM +0200, Jiri Denemark wrote:
On Thu, Jun 25, 2015 at 14:12:16 +0200, Jiri Denemark wrote:
Hi all,
I'm working on improving our host CPU detection logic and I'd like to gather test data for various CPUs and include them in the libvirt's CPU unit test to make sure I don't introduce regressions.
If you are willing to help me, please, send me the output of the following command:
grep 'model name' /proc/cpuinfo | head -n1; cpuid -1r
Oh, I forgot I'd also like to see what QEMU/KVM is thinking about the host CPU. If you have QEMU and KVM enabled on the hosts (or you are willing to do so), please, also send me the output of the following command:
qemu-system-x86_64 -cpu host -machine accel=kvm -nodefaults -nographic \ -qmp unix:/tmp/socket,server,nowait & sleep 5; echo \ '{"execute":"qmp_capabilities"}{"execute":"qom-get","arguments":' \ '{"path":"/machine/unattached/device[0]","property":"feature-words"},' \ '"id":"feature-words"}{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"family"},"id":"family"}' \ '{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"model"},"id":"model"}' \ '{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"stepping"},"id":' \ '"stepping"}{"execute":"qom-get","arguments":{"path":' \ '"/machine/unattached/device[0]","property":"model-id"},"id":' \ '"model-id"}{"execute":"quit"}' | nc -U /tmp/socket
On some nice 8 year old hardware I have :-) model name : Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz CPU: 0x00000000 0x00: eax=0x0000000a ebx=0x756e6547 ecx=0x6c65746e edx=0x49656e69 0x00000001 0x00: eax=0x000006fb ebx=0x01020800 ecx=0x0000e3fd edx=0xbfebfbff 0x00000002 0x00: eax=0x05b0b101 ebx=0x005657f0 ecx=0x00000000 edx=0x2cb43049 0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x00000004 0x00: eax=0x04000121 ebx=0x01c0003f ecx=0x0000003f edx=0x00000001 0x00000004 0x01: eax=0x04000122 ebx=0x01c0003f ecx=0x0000003f edx=0x00000001 0x00000004 0x02: eax=0x04004143 ebx=0x03c0003f ecx=0x00000fff edx=0x00000001 0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003 edx=0x00000220 0x00000006 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000001 edx=0x00000000 0x00000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x00000008 0x00: eax=0x00000400 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x0000000a 0x00: eax=0x07280202 ebx=0x00000000 ecx=0x00000000 edx=0x00000503 0x80000000 0x00: eax=0x80000008 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000001 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000001 edx=0x20100800 0x80000002 0x00: eax=0x65746e49 ebx=0x2952286c ecx=0x726f4320 edx=0x4d542865 0x80000003 0x00: eax=0x44203229 ebx=0x43206f75 ecx=0x20205550 edx=0x45202020 0x80000004 0x00: eax=0x30353836 ebx=0x20402020 ecx=0x30302e33 edx=0x007a4847 0x80000005 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000006 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x10008040 edx=0x00000000 0x80000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000008 0x00: eax=0x00003024 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80860000 0x00: eax=0x07280202 ebx=0x00000000 ecx=0x00000000 edx=0x00000503 0xc0000000 0x00: eax=0x07280202 ebx=0x00000000 ecx=0x00000000 edx=0x00000503 {"QMP": {"version": {"qemu": {"micro": 0, "minor": 3, "major": 2}, "package": " (qemu-2.3.0-5.fc22)"}, "capabilities": []}} {"return": {}} {"return": [{"cpuid-register": "EAX", "cpuid-input-ecx": 1, "cpuid-input-eax": 13, "features": 0}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483658, "features": 0}, {"cpuid-register": "EAX", "cpuid-input-eax": 1073741825, "features": 16777467}, {"cpuid-register": "EDX", "cpuid-input-eax": 3221225473, "features": 0}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483655, "features": 0}, {"cpuid-register": "ECX", "cpuid-input-eax": 2147483649, "features": 1}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483649, "features": 537921536}, {"cpuid-register": "EBX", "cpuid-input-ecx": 0, "cpuid-input-eax": 7, "features": 2}, {"cpuid-register": "ECX", "cpuid-input-eax": 1, "features": 2166366721}, {"cpuid-register": "EDX", "cpuid-input-eax": 1, "features": 260832255}], "id": "feature-words"} {"return": 6, "id": "family"} {"return": 15, "id": "model"} {"return": 11, "id": "stepping"} {"return": "Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz", "id": "model-id"} And some 7 year old AMD hardware # grep 'model name' /proc/cpuinfo | head -n1; cpuid -1r model name : Quad-Core AMD Opteron(tm) Processor 2350 CPU: 0x00000000 0x00: eax=0x00000005 ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65 0x00000001 0x00: eax=0x00100f23 ebx=0x01040800 ecx=0x00802009 edx=0x178bfbff 0x00000002 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003 edx=0x00000000 0x80000000 0x00: eax=0x8000001a ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65 0x80000001 0x00: eax=0x00100f23 ebx=0x00000b2f ecx=0x000007ff edx=0xefd3fbff 0x80000002 0x00: eax=0x64617551 ebx=0x726f432d ecx=0x4d412065 edx=0x704f2044 0x80000003 0x00: eax=0x6f726574 ebx=0x6d74286e ecx=0x72502029 edx=0x7365636f 0x80000004 0x00: eax=0x20726f73 ebx=0x30353332 ecx=0x00000000 edx=0x00000000 0x80000005 0x00: eax=0xff30ff10 ebx=0xff30ff20 ecx=0x40020140 edx=0x40020140 0x80000006 0x00: eax=0x20800000 ebx=0x42004200 ecx=0x02008140 edx=0x0010a140 0x80000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x000001f9 0x80000008 0x00: eax=0x00003030 ebx=0x00000000 ecx=0x00002003 edx=0x00000000 0x80000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x8000000a 0x00: eax=0x00000001 ebx=0x00000040 ecx=0x00000000 edx=0x00000007 0x8000000b 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x8000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x8000000d 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x8000000e 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x8000000f 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000010 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000011 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000012 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000013 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000014 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000015 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000016 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000017 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000018 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000019 0x00: eax=0xf0300000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x8000001a 0x00: eax=0x00000003 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80860000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0xc0000000 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 {"QMP": {"version": {"qemu": {"micro": 3, "minor": 1, "major": 2}, "package": " (qemu-2.1.3-7.fc21)"}, "capabilities": []}} {"return": {}} {"return": [{"cpuid-register": "EDX", "cpuid-input-eax": 2147483658, "features": 1}, {"cpuid-register": "EAX", "cpuid-input-eax": 1073741825, "features": 16777467}, {"cpuid-register": "EDX", "cpuid-input-eax": 3221225473, "features": 0}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483655, "features": 0}, {"cpuid-register": "ECX", "cpuid-input-eax": 2147483649, "features": 1015}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483649, "features": 3864004608}, {"cpuid-register": "EBX", "cpuid-input-ecx": 0, "cpuid-input-eax": 7, "features": 0}, {"cpuid-register": "ECX", "cpuid-input-eax": 1, "features": 2174754817}, {"cpuid-register": "EDX", "cpuid-input-eax": 1, "features": 126614527}], "id": "feature-words"} {"return": 16, "id": "family"} {"return": 2, "id": "model"} {"return": 3, "id": "stepping"} {"return": "Quad-Core AMD Opteron(tm) Processor 2350", "id": "model-id"} And modern hardware model name : Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz CPU: 0x00000000 0x00: eax=0x0000000d ebx=0x756e6547 ecx=0x6c65746e edx=0x49656e69 0x00000001 0x00: eax=0x000306a9 ebx=0x03100800 ecx=0x7fbae3ff edx=0xbfebfbff 0x00000002 0x00: eax=0x76035a01 ebx=0x00f0b2ff ecx=0x00000000 edx=0x00ca0000 0x00000003 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x00000004 0x00: eax=0x1c004121 ebx=0x01c0003f ecx=0x0000003f edx=0x00000000 0x00000004 0x01: eax=0x1c004122 ebx=0x01c0003f ecx=0x0000003f edx=0x00000000 0x00000004 0x02: eax=0x1c004143 ebx=0x01c0003f ecx=0x000001ff edx=0x00000000 0x00000004 0x03: eax=0x1c03c163 ebx=0x02c0003f ecx=0x00001fff edx=0x00000006 0x00000005 0x00: eax=0x00000040 ebx=0x00000040 ecx=0x00000003 edx=0x00021120 0x00000006 0x00: eax=0x00000077 ebx=0x00000002 ecx=0x00000009 edx=0x00000000 0x00000007 0x00: eax=0x00000000 ebx=0x00000281 ecx=0x00000000 edx=0x00000000 0x00000008 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x00000009 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x0000000a 0x00: eax=0x07300403 ebx=0x00000000 ecx=0x00000000 edx=0x00000603 0x0000000b 0x00: eax=0x00000001 ebx=0x00000002 ecx=0x00000100 edx=0x00000003 0x0000000b 0x01: eax=0x00000004 ebx=0x00000008 ecx=0x00000201 edx=0x00000003 0x0000000c 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x0000000d 0x00: eax=0x00000007 ebx=0x00000340 ecx=0x00000340 edx=0x00000000 0x0000000d 0x02: eax=0x00000100 ebx=0x00000240 ecx=0x00000000 edx=0x00000000 0x0000000d 0x3e: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000000 0x00: eax=0x80000008 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000001 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000001 edx=0x28100800 0x80000002 0x00: eax=0x20202020 ebx=0x6e492020 ecx=0x286c6574 edx=0x43202952 0x80000003 0x00: eax=0x2865726f ebx=0x20294d54 ecx=0x332d3769 edx=0x51303437 0x80000004 0x00: eax=0x5043204d ebx=0x20402055 ecx=0x30372e32 edx=0x007a4847 0x80000005 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80000006 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x01006040 edx=0x00000000 0x80000007 0x00: eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000100 0x80000008 0x00: eax=0x00003024 ebx=0x00000000 ecx=0x00000000 edx=0x00000000 0x80860000 0x00: eax=0x00000007 ebx=0x00000340 ecx=0x00000340 edx=0x00000000 0xc0000000 0x00: eax=0x00000007 ebx=0x00000340 ecx=0x00000340 edx=0x00000000 {"QMP": {"version": {"qemu": {"micro": 0, "minor": 3, "major": 2}, "package": " (qemu-2.3.0-5.fc22)"}, "capabilities": []}} {"return": {}} {"return": [{"cpuid-register": "EAX", "cpuid-input-ecx": 1, "cpuid-input-eax": 13, "features": 1}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483658, "features": 0}, {"cpuid-register": "EAX", "cpuid-input-eax": 1073741825, "features": 16777467}, {"cpuid-register": "EDX", "cpuid-input-eax": 3221225473, "features": 0}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483655, "features": 0}, {"cpuid-register": "ECX", "cpuid-input-eax": 2147483649, "features": 1}, {"cpuid-register": "EDX", "cpuid-input-eax": 2147483649, "features": 672139264}, {"cpuid-register": "EBX", "cpuid-input-ecx": 0, "cpuid-input-eax": 7, "features": 643}, {"cpuid-register": "ECX", "cpuid-input-eax": 1, "features": 4156170787}, {"cpuid-register": "EDX", "cpuid-input-eax": 1, "features": 260832255}], "id": "feature-words"} {"return": 6, "id": "family"} {"return": 58, "id": "model"} {"return": 9, "id": "stepping"} {"return": " Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz", "id": "model-id"} Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
participants (2)
-
Daniel P. Berrange
-
Jiri Denemark