From 5aedd53624a7bc61f0976a6897d362f2777ddd1c Mon Sep 17 00:00:00 2001 From: Xorg Date: Sun, 7 Jul 2019 20:03:45 +0200 Subject: [PATCH] Add more test files for AMD Zen CPUs Dumps found on http://instlatx64.atw.hu/ --- tests/amd/zen+/ryzen7-pinnacle-ridge.test | 85 +++++++++++++++++++ tests/amd/zen+/threadripper-colfax.test | 85 +++++++++++++++++++ tests/amd/zen/epyc-naples.test | 85 +++++++++++++++++++ .../{ryzen3.test => ryzen3-raven-ridge.test} | 0 tests/amd/zen/ryzen5-raven-ridge.test | 85 +++++++++++++++++++ tests/amd/zen/ryzen5-summit-ridge.test | 85 +++++++++++++++++++ .../{ryzen7.test => ryzen7-summit-ridge.test} | 0 tests/amd/zen/threadripper-whitehaven.test | 85 +++++++++++++++++++ tests/convert_instlatx64.c | 62 ++++++++++++++ 9 files changed, 572 insertions(+) create mode 100644 tests/amd/zen+/ryzen7-pinnacle-ridge.test create mode 100644 tests/amd/zen+/threadripper-colfax.test create mode 100644 tests/amd/zen/epyc-naples.test rename tests/amd/zen/{ryzen3.test => ryzen3-raven-ridge.test} (100%) create mode 100644 tests/amd/zen/ryzen5-raven-ridge.test create mode 100644 tests/amd/zen/ryzen5-summit-ridge.test rename tests/amd/zen/{ryzen7.test => ryzen7-summit-ridge.test} (100%) create mode 100644 tests/amd/zen/threadripper-whitehaven.test create mode 100644 tests/convert_instlatx64.c diff --git a/tests/amd/zen+/ryzen7-pinnacle-ridge.test b/tests/amd/zen+/ryzen7-pinnacle-ridge.test new file mode 100644 index 0000000..387dd9e --- /dev/null +++ b/tests/amd/zen+/ryzen7-pinnacle-ridge.test @@ -0,0 +1,85 @@ +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[1]=00800f82 00100800 7ed8320b 178bfbff +basic_cpuid[2]=00000000 00000000 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[5]=00000040 00000040 00000003 00000011 +basic_cpuid[6]=00000004 00000000 00000001 00000000 +basic_cpuid[7]=00000000 209c01a9 00000000 00000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=00000000 00000000 00000000 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[1]=00800f82 20000000 35c233ff 2fd3fbff +ext_cpuid[2]=20444d41 657a7952 2037206e 30303732 +ext_cpuid[2]=20444d41 657a7952 2037206e 30303732 +ext_cpuid[3]=69452058 2d746867 65726f43 6f725020 +ext_cpuid[3]=69452058 2d746867 65726f43 6f725020 +ext_cpuid[4]=73736563 2020726f 20202020 00202020 +ext_cpuid[4]=73736563 2020726f 20202020 00202020 +ext_cpuid[5]=ff40ff40 ff40ff40 20080140 40040140 +ext_cpuid[6]=26006400 66006400 02006140 00808140 +ext_cpuid[7]=00000000 0000001b 00000000 00006799 +ext_cpuid[8]=00003030 00000007 0000400f 00000000 +ext_cpuid[9]=00000000 00000000 00000000 00000000 +ext_cpuid[10]=00000001 00008000 00000000 0001bcff +ext_cpuid[11]=00000000 00000000 00000000 00000000 +ext_cpuid[12]=00000000 00000000 00000000 00000000 +ext_cpuid[13]=00000000 00000000 00000000 00000000 +ext_cpuid[14]=00000000 00000000 00000000 00000000 +ext_cpuid[15]=00000000 00000000 00000000 00000000 +ext_cpuid[16]=00000000 00000000 00000000 00000000 +ext_cpuid[17]=00000000 00000000 00000000 00000000 +ext_cpuid[18]=00000000 00000000 00000000 00000000 +ext_cpuid[19]=00000000 00000000 00000000 00000000 +ext_cpuid[20]=00000000 00000000 00000000 00000000 +ext_cpuid[21]=00000000 00000000 00000000 00000000 +ext_cpuid[22]=00000000 00000000 00000000 00000000 +ext_cpuid[23]=00000000 00000000 00000000 00000000 +ext_cpuid[24]=00000000 00000000 00000000 00000000 +ext_cpuid[25]=f040f040 00000000 00000000 00000000 +ext_cpuid[26]=00000003 00000000 00000000 00000000 +ext_cpuid[27]=000003ff 00000000 00000000 00000000 +ext_cpuid[28]=00000000 00000000 00000000 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=0001c163 03c0003f 00001fff 00000001 +ext_cpuid[29]=0001c163 03c0003f 00001fff 00000001 +ext_cpuid[30]=00000000 00000100 00000000 00000000 +ext_cpuid[31]=0000000f 0000016f 0000000f 00000000 +-------------------------------------------------------------------------------- +15 +8 +2 +23 +8 +8 +16 +32 +64 +512 +16384 +-1 +8 +8 +16 +-1 +64 +64 +64 +-1 +128 (authoritative) +Ryzen 7 (Pinnacle Ridge) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 diff --git a/tests/amd/zen+/threadripper-colfax.test b/tests/amd/zen+/threadripper-colfax.test new file mode 100644 index 0000000..6d410a6 --- /dev/null +++ b/tests/amd/zen+/threadripper-colfax.test @@ -0,0 +1,85 @@ +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[1]=00800f82 00400800 7ed8320b 178bfbff +basic_cpuid[2]=00000000 00000000 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[5]=00000040 00000040 00000003 00000011 +basic_cpuid[6]=00000004 00000000 00000001 00000000 +basic_cpuid[7]=00000000 209c01a9 00000000 00000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=00000000 00000000 00000000 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[1]=00800f82 70000000 35c233ff 2fd3fbff +ext_cpuid[2]=20444d41 657a7952 6854206e 64616572 +ext_cpuid[2]=20444d41 657a7952 6854206e 64616572 +ext_cpuid[3]=70706972 32207265 57303939 32332058 +ext_cpuid[3]=70706972 32207265 57303939 32332058 +ext_cpuid[4]=726f432d 72502065 7365636f 00726f73 +ext_cpuid[4]=726f432d 72502065 7365636f 00726f73 +ext_cpuid[5]=ff40ff40 ff40ff40 20080140 40040140 +ext_cpuid[6]=36006400 56006400 02006140 0200c140 +ext_cpuid[7]=00000000 0000001b 00000000 00006799 +ext_cpuid[8]=00003030 00001007 0000603f 00000000 +ext_cpuid[9]=00000000 00000000 00000000 00000000 +ext_cpuid[10]=00000001 00008000 00000000 0001bcff +ext_cpuid[11]=00000000 00000000 00000000 00000000 +ext_cpuid[12]=00000000 00000000 00000000 00000000 +ext_cpuid[13]=00000000 00000000 00000000 00000000 +ext_cpuid[14]=00000000 00000000 00000000 00000000 +ext_cpuid[15]=00000000 00000000 00000000 00000000 +ext_cpuid[16]=00000000 00000000 00000000 00000000 +ext_cpuid[17]=00000000 00000000 00000000 00000000 +ext_cpuid[18]=00000000 00000000 00000000 00000000 +ext_cpuid[19]=00000000 00000000 00000000 00000000 +ext_cpuid[20]=00000000 00000000 00000000 00000000 +ext_cpuid[21]=00000000 00000000 00000000 00000000 +ext_cpuid[22]=00000000 00000000 00000000 00000000 +ext_cpuid[23]=00000000 00000000 00000000 00000000 +ext_cpuid[24]=00000000 00000000 00000000 00000000 +ext_cpuid[25]=f040f040 00000000 00000000 00000000 +ext_cpuid[26]=00000003 00000000 00000000 00000000 +ext_cpuid[27]=000003ff 00000000 00000000 00000000 +ext_cpuid[28]=00000000 00000000 00000000 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=0001c163 03c0003f 00001fff 00000001 +ext_cpuid[29]=0001c163 03c0003f 00001fff 00000001 +ext_cpuid[30]=00000000 00000100 00000300 00000000 +ext_cpuid[31]=0000000f 0000016f 0000000f 00000001 +-------------------------------------------------------------------------------- +15 +8 +2 +23 +8 +32 +64 +32 +64 +512 +65536 +-1 +8 +8 +64 +-1 +64 +64 +64 +-1 +128 (authoritative) +Threadripper (Colfax) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 diff --git a/tests/amd/zen/epyc-naples.test b/tests/amd/zen/epyc-naples.test new file mode 100644 index 0000000..01ae0dc --- /dev/null +++ b/tests/amd/zen/epyc-naples.test @@ -0,0 +1,85 @@ +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[1]=00800f12 00400800 7ed8320b 178bfbff +basic_cpuid[2]=00000000 00000000 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[5]=00000040 00000040 00000003 00000011 +basic_cpuid[6]=00000004 00000000 00000001 00000000 +basic_cpuid[7]=00000000 209c01a9 00000000 00000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=00000000 00000000 00000000 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[1]=00800f12 40000000 35c233ff 2fd3fbff +ext_cpuid[2]=20444d41 43595045 35353720 33205031 +ext_cpuid[2]=20444d41 43595045 35353720 33205031 +ext_cpuid[3]=6f432d32 50206572 65636f72 726f7373 +ext_cpuid[3]=6f432d32 50206572 65636f72 726f7373 +ext_cpuid[4]=20202020 20202020 20202020 00202020 +ext_cpuid[4]=20202020 20202020 20202020 00202020 +ext_cpuid[5]=ff40ff40 ff40ff40 20080140 40040140 +ext_cpuid[6]=36006400 56006400 02006140 0200c140 +ext_cpuid[7]=00000000 0000001b 00000000 00006799 +ext_cpuid[8]=00003030 00000007 0000603f 00000000 +ext_cpuid[9]=00000000 00000000 00000000 00000000 +ext_cpuid[10]=00000001 00008000 00000000 0001bcff +ext_cpuid[11]=00000000 00000000 00000000 00000000 +ext_cpuid[12]=00000000 00000000 00000000 00000000 +ext_cpuid[13]=00000000 00000000 00000000 00000000 +ext_cpuid[14]=00000000 00000000 00000000 00000000 +ext_cpuid[15]=00000000 00000000 00000000 00000000 +ext_cpuid[16]=00000000 00000000 00000000 00000000 +ext_cpuid[17]=00000000 00000000 00000000 00000000 +ext_cpuid[18]=00000000 00000000 00000000 00000000 +ext_cpuid[19]=00000000 00000000 00000000 00000000 +ext_cpuid[20]=00000000 00000000 00000000 00000000 +ext_cpuid[21]=00000000 00000000 00000000 00000000 +ext_cpuid[22]=00000000 00000000 00000000 00000000 +ext_cpuid[23]=00000000 00000000 00000000 00000000 +ext_cpuid[24]=00000000 00000000 00000000 00000000 +ext_cpuid[25]=f040f040 00000000 00000000 00000000 +ext_cpuid[26]=00000003 00000000 00000000 00000000 +ext_cpuid[27]=000003ff 00000000 00000000 00000000 +ext_cpuid[28]=00000000 00000000 00000000 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=0001c163 03c0003f 00001fff 00000001 +ext_cpuid[29]=0001c163 03c0003f 00001fff 00000001 +ext_cpuid[30]=00000000 00000100 00000300 00000000 +ext_cpuid[31]=0000000f 0000016f 0000000f 00000001 +-------------------------------------------------------------------------------- +15 +1 +2 +23 +1 +32 +64 +32 +64 +512 +65536 +-1 +8 +8 +64 +-1 +64 +64 +64 +-1 +128 (authoritative) +EPYC (Naples) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 diff --git a/tests/amd/zen/ryzen3.test b/tests/amd/zen/ryzen3-raven-ridge.test similarity index 100% rename from tests/amd/zen/ryzen3.test rename to tests/amd/zen/ryzen3-raven-ridge.test diff --git a/tests/amd/zen/ryzen5-raven-ridge.test b/tests/amd/zen/ryzen5-raven-ridge.test new file mode 100644 index 0000000..b3d50b4 --- /dev/null +++ b/tests/amd/zen/ryzen5-raven-ridge.test @@ -0,0 +1,85 @@ +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[1]=00810f10 00080800 7ed8320b 178bfbff +basic_cpuid[2]=00000000 00000000 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[5]=00000040 00000040 00000003 00000011 +basic_cpuid[6]=00000004 00000000 00000001 00000000 +basic_cpuid[7]=00000000 209c01a9 00000000 00000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=00000000 00000000 00000000 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[1]=00810f10 20000000 35c233ff 2fd3fbff +ext_cpuid[2]=20444d41 657a7952 2035206e 30303432 +ext_cpuid[2]=20444d41 657a7952 2035206e 30303432 +ext_cpuid[3]=69772047 52206874 6f656461 6556206e +ext_cpuid[3]=69772047 52206874 6f656461 6556206e +ext_cpuid[4]=47206167 68706172 20736369 00202020 +ext_cpuid[4]=47206167 68706172 20736369 00202020 +ext_cpuid[5]=ff40ff40 ff40ff40 20080140 40040140 +ext_cpuid[6]=26006400 66006400 02006140 00208140 +ext_cpuid[7]=00000000 0000001b 00000000 00006599 +ext_cpuid[8]=00003030 00001007 00004007 00000000 +ext_cpuid[9]=00000000 00000000 00000000 00000000 +ext_cpuid[10]=00000001 00008000 00000000 0001bcff +ext_cpuid[11]=00000000 00000000 00000000 00000000 +ext_cpuid[12]=00000000 00000000 00000000 00000000 +ext_cpuid[13]=00000000 00000000 00000000 00000000 +ext_cpuid[14]=00000000 00000000 00000000 00000000 +ext_cpuid[15]=00000000 00000000 00000000 00000000 +ext_cpuid[16]=00000000 00000000 00000000 00000000 +ext_cpuid[17]=00000000 00000000 00000000 00000000 +ext_cpuid[18]=00000000 00000000 00000000 00000000 +ext_cpuid[19]=00000000 00000000 00000000 00000000 +ext_cpuid[20]=00000000 00000000 00000000 00000000 +ext_cpuid[21]=00000000 00000000 00000000 00000000 +ext_cpuid[22]=00000000 00000000 00000000 00000000 +ext_cpuid[23]=00000000 00000000 00000000 00000000 +ext_cpuid[24]=00000000 00000000 00000000 00000000 +ext_cpuid[25]=f040f040 00000000 00000000 00000000 +ext_cpuid[26]=00000003 00000000 00000000 00000000 +ext_cpuid[27]=000003ff 00000000 00000000 00000000 +ext_cpuid[28]=00000000 00000000 00000000 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=0001c163 03c0003f 00000fff 00000001 +ext_cpuid[29]=0001c163 03c0003f 00000fff 00000001 +ext_cpuid[30]=00000000 00000100 00000000 00000000 +ext_cpuid[31]=0000000f 0000016f 0000000f 00000000 +-------------------------------------------------------------------------------- +15 +1 +0 +23 +17 +4 +8 +32 +64 +512 +4096 +-1 +8 +8 +16 +-1 +64 +64 +64 +-1 +128 (authoritative) +Ryzen 5 (Raven Ridge) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 diff --git a/tests/amd/zen/ryzen5-summit-ridge.test b/tests/amd/zen/ryzen5-summit-ridge.test new file mode 100644 index 0000000..7bc44f2 --- /dev/null +++ b/tests/amd/zen/ryzen5-summit-ridge.test @@ -0,0 +1,85 @@ +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[1]=00800f11 00080800 7ed8320b 178bfbff +basic_cpuid[2]=00000000 00000000 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[5]=00000040 00000040 00000003 00000000 +basic_cpuid[6]=00000004 00000000 00000001 00000000 +basic_cpuid[7]=00000000 209c01a9 00000000 00000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=00000000 00000000 00000000 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[1]=00800f11 20000000 35c233ff 2fd3fbff +ext_cpuid[2]=20444d41 657a7952 2035206e 30303531 +ext_cpuid[2]=20444d41 657a7952 2035206e 30303531 +ext_cpuid[3]=75512058 432d6461 2065726f 636f7250 +ext_cpuid[3]=75512058 432d6461 2065726f 636f7250 +ext_cpuid[4]=6f737365 20202072 20202020 00202020 +ext_cpuid[4]=6f737365 20202072 20202020 00202020 +ext_cpuid[5]=ff40ff40 ff40ff40 20080140 40040140 +ext_cpuid[6]=26006400 66006400 02006140 00808140 +ext_cpuid[7]=00000000 0000001b 00000000 00006599 +ext_cpuid[8]=00003030 00000007 00004007 00000000 +ext_cpuid[9]=00000000 00000000 00000000 00000000 +ext_cpuid[10]=00000001 00008000 00000000 0001bcff +ext_cpuid[11]=00000000 00000000 00000000 00000000 +ext_cpuid[12]=00000000 00000000 00000000 00000000 +ext_cpuid[13]=00000000 00000000 00000000 00000000 +ext_cpuid[14]=00000000 00000000 00000000 00000000 +ext_cpuid[15]=00000000 00000000 00000000 00000000 +ext_cpuid[16]=00000000 00000000 00000000 00000000 +ext_cpuid[17]=00000000 00000000 00000000 00000000 +ext_cpuid[18]=00000000 00000000 00000000 00000000 +ext_cpuid[19]=00000000 00000000 00000000 00000000 +ext_cpuid[20]=00000000 00000000 00000000 00000000 +ext_cpuid[21]=00000000 00000000 00000000 00000000 +ext_cpuid[22]=00000000 00000000 00000000 00000000 +ext_cpuid[23]=00000000 00000000 00000000 00000000 +ext_cpuid[24]=00000000 00000000 00000000 00000000 +ext_cpuid[25]=f040f040 00000000 00000000 00000000 +ext_cpuid[26]=00000003 00000000 00000000 00000000 +ext_cpuid[27]=000003ff 00000000 00000000 00000000 +ext_cpuid[28]=00000000 00000000 00000000 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=0000c163 03c0003f 00001fff 00000001 +ext_cpuid[29]=0000c163 03c0003f 00001fff 00000001 +ext_cpuid[30]=00000000 00000100 00000000 00000000 +ext_cpuid[31]=00000007 0000016f 0000000f 00000000 +-------------------------------------------------------------------------------- +15 +1 +1 +23 +1 +4 +8 +32 +64 +512 +16384 +-1 +8 +8 +16 +-1 +64 +64 +64 +-1 +128 (authoritative) +Ryzen 5 (Summit Ridge) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 diff --git a/tests/amd/zen/ryzen7.test b/tests/amd/zen/ryzen7-summit-ridge.test similarity index 100% rename from tests/amd/zen/ryzen7.test rename to tests/amd/zen/ryzen7-summit-ridge.test diff --git a/tests/amd/zen/threadripper-whitehaven.test b/tests/amd/zen/threadripper-whitehaven.test new file mode 100644 index 0000000..97f6f5d --- /dev/null +++ b/tests/amd/zen/threadripper-whitehaven.test @@ -0,0 +1,85 @@ +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[0]=0000000d 68747541 444d4163 69746e65 +basic_cpuid[1]=00800f11 00180800 7ed8320b 178bfbff +basic_cpuid[2]=00000000 00000000 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[5]=00000040 00000040 00000003 00000000 +basic_cpuid[6]=00000004 00000000 00000001 00000000 +basic_cpuid[7]=00000000 209c01a9 00000000 00000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=00000000 00000000 00000000 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=00000007 00000340 00000340 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=0000000f 00000340 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +basic_cpuid[13]=00000100 00000240 00000000 00000000 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[0]=8000001f 68747541 444d4163 69746e65 +ext_cpuid[1]=00800f11 70000000 35c233ff 2fd3fbff +ext_cpuid[2]=20444d41 657a7952 6854206e 64616572 +ext_cpuid[2]=20444d41 657a7952 6854206e 64616572 +ext_cpuid[3]=70706972 31207265 58303239 2d323120 +ext_cpuid[3]=70706972 31207265 58303239 2d323120 +ext_cpuid[4]=65726f43 6f725020 73736563 0020726f +ext_cpuid[4]=65726f43 6f725020 73736563 0020726f +ext_cpuid[5]=ff40ff40 ff40ff40 20080140 40040140 +ext_cpuid[6]=36006400 56006400 02006140 0100a140 +ext_cpuid[7]=00000000 0000001b 00000000 00006599 +ext_cpuid[8]=00003030 00000007 00005017 00000000 +ext_cpuid[9]=00000000 00000000 00000000 00000000 +ext_cpuid[10]=00000001 00008000 00000000 0001bcff +ext_cpuid[11]=00000000 00000000 00000000 00000000 +ext_cpuid[12]=00000000 00000000 00000000 00000000 +ext_cpuid[13]=00000000 00000000 00000000 00000000 +ext_cpuid[14]=00000000 00000000 00000000 00000000 +ext_cpuid[15]=00000000 00000000 00000000 00000000 +ext_cpuid[16]=00000000 00000000 00000000 00000000 +ext_cpuid[17]=00000000 00000000 00000000 00000000 +ext_cpuid[18]=00000000 00000000 00000000 00000000 +ext_cpuid[19]=00000000 00000000 00000000 00000000 +ext_cpuid[20]=00000000 00000000 00000000 00000000 +ext_cpuid[21]=00000000 00000000 00000000 00000000 +ext_cpuid[22]=00000000 00000000 00000000 00000000 +ext_cpuid[23]=00000000 00000000 00000000 00000000 +ext_cpuid[24]=00000000 00000000 00000000 00000000 +ext_cpuid[25]=f040f040 00000000 00000000 00000000 +ext_cpuid[26]=00000003 00000000 00000000 00000000 +ext_cpuid[27]=000003ff 00000000 00000000 00000000 +ext_cpuid[28]=00000000 00000000 00000000 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004121 01c0003f 0000003f 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004122 00c0003f 000000ff 00000000 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=00004143 01c0003f 000003ff 00000002 +ext_cpuid[29]=00014163 03c0003f 00001fff 00000001 +ext_cpuid[29]=00014163 03c0003f 00001fff 00000001 +ext_cpuid[30]=00000000 00000100 00000100 00000000 +ext_cpuid[31]=00000007 0000016f 0000000f 00000001 +-------------------------------------------------------------------------------- +15 +1 +1 +23 +1 +12 +24 +32 +64 +512 +32768 +-1 +8 +8 +32 +-1 +64 +64 +64 +-1 +128 (authoritative) +Threadripper (Whitehaven) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 diff --git a/tests/convert_instlatx64.c b/tests/convert_instlatx64.c new file mode 100644 index 0000000..6b6be9f --- /dev/null +++ b/tests/convert_instlatx64.c @@ -0,0 +1,62 @@ +/* This program can be used to convert CPUID Dump from http://instlatx64.atw.hu/ + * To build: gcc convert_instlatx64.c -o convert_instlatx64 + * To run: ./convert_instlatx64 + * Then, you can use the create_test.py script to create the test file */ + +#include +#include +#include + +#define LINE_LEN 53 +#define FILENAME_LEN 32 +#define CMD_LEN 256 +#define EXT_CPUID 0x80000000 + +int main(int argc, char *argv[]) +{ + uint32_t addr, eax, ebx, ecx, edx; + char line[LINE_LEN], raw_filename[FILENAME_LEN], report_filename[FILENAME_LEN], cmd[CMD_LEN]; + FILE *fin = NULL, *fout = NULL; + + if(argc < 3) + { + fprintf(stderr, "Usage: %s \n", argv[0]); + return 1; + } + + snprintf(raw_filename, FILENAME_LEN, "%s.raw", argv[2]); + snprintf(report_filename, FILENAME_LEN, "%s_report.txt", argv[2]); + + if((fin = fopen(argv[1], "r")) == NULL) + { + perror("Failed to open input file"); + return 1; + } + + if((fout = fopen(raw_filename, "w")) == NULL) + { + perror("Failed to open output file"); + return 1; + } + + while(fgets(line, LINE_LEN, fin) != NULL) + { + sscanf(line, "CPUID %x: %x-%x-%x-%x", &addr, &eax, &ebx, &ecx, &edx); + if(((addr < EXT_CPUID) && (addr >= 32)) || ((addr >= EXT_CPUID) && (addr - EXT_CPUID >= 32))) + continue; + + if(addr < EXT_CPUID) + fprintf(fout, "basic_cpuid[%d]", addr); + else + fprintf(fout, "ext_cpuid[%d]", addr - EXT_CPUID); + fprintf(fout, "=%08x %08x %08x %08x\n", eax, ebx, ecx, edx); + } + + fclose(fout); + snprintf(cmd, CMD_LEN, "cpuid_tool --load=%s --report --outfile=%s", raw_filename, report_filename); + system(cmd); + printf("Done. Use the following command to create the test file:\n"); + printf("./create_test.py %s %s > %s.test\n", raw_filename, report_filename, argv[2]); + + return 0; +}