The CPUID data in *-{disabled,enabled}.xml convert feature names from the corresponding *.json file into raw CPUID and MSR data and thus some of them may need to be updated when new features are added into the CPU map. Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> --- src/cpu_map/x86_features.xml | 7 +++++++ tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml | 1 + .../x86_64-cpuid-Core-i7-5600U-arat-disabled.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml | 1 + .../x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 1 + .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml | 1 + .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml | 1 + .../cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | 1 + .../cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml | 2 +- .../x86_64-cpuid-Xeon-Platinum-8268-disabled.xml | 3 ++- 16 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 8525ae0fa5..e91a7b5055 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -1,3 +1,10 @@ +<!-- + After adding new features, update existing test files with + + for json in tests/cputestdata/x86_64-cpuid-*.json; do + tests/cputestdata/cpu-cpuid.py diff $json + done +--> <cpus> <!-- standard features, EDX --> <feature name='fpu'> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml index 510cd97a5b..040c0df183 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i5-6600-disabled.xml @@ -1,5 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml index 601554a815..edce01618a 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-arat-disabled.xml @@ -2,5 +2,6 @@ <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml index 4a0477f788..fa9571c29d 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-disabled.xml @@ -1,5 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml index 5c9cfa9bd6..91ae45d24b 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-5600U-ibrs-disabled.xml @@ -1,6 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0c000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x0c000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml index fcdcc97e0e..ce51903e53 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml @@ -1,6 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml index 747d725acf..d9045c88d5 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml @@ -4,4 +4,5 @@ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> + <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml index af43fca98d..429d84d031 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml @@ -4,4 +4,5 @@ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x08000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> + <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml index 747d725acf..d9045c88d5 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml @@ -4,4 +4,5 @@ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> + <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml index b085050618..7dbacf982d 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml @@ -5,4 +5,5 @@ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c23008' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> + <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000001' ecx='0x00000000' edx='0x00000000'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml index 4a0477f788..fa9571c29d 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml @@ -1,5 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml index 85369d755c..40ee740aa8 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2623-v4-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x08000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000000' edx='0x08000000'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml index d904808cec..3ffb246167 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E5-2650-v4-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000000' edx='0x00000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml index a5b85a15c2..c65c3caecf 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-5115-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000008' edx='0x08000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000008' edx='0x08000000'/> <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml index b5c70a9dc4..9b84b8fb47 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Gold-6148-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x00001000' ecx='0x00000008' edx='0x00000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000008' edx='0x00000000'/> <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml index 32522eb9af..7d719a8b52 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-disabled.xml @@ -1,7 +1,8 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000010' edx='0x28000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000010' edx='0x28000400'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> + <msr index='0x10a' edx='0x00000000' eax='0x00000020'/> </cpudata> -- 2.27.0