mirror of
https://github.com/anrieff/libcpuid
synced 2025-10-03 11:01:30 +00:00
parent
ca0f64099b
commit
c5885699f0
37 changed files with 2709 additions and 279 deletions
87
tests/arm/armv8a/cortex-a53.test
Normal file
87
tests/arm/armv8a/cortex-a53.test
Normal file
|
@ -0,0 +1,87 @@
|
|||
_________________ Logical CPU #0 _________________
|
||||
arm_midr=00000000410fd030
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000010000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #1 _________________
|
||||
arm_midr=00000000410fd030
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000010000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #2 _________________
|
||||
arm_midr=00000000410fd030
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000010000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #3 _________________
|
||||
arm_midr=00000000410fd030
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000010000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
--------------------------------------------------------------------------------
|
||||
ARM
|
||||
efficiency
|
||||
65
|
||||
0
|
||||
3331
|
||||
0
|
||||
1
|
||||
4
|
||||
Apollo
|
||||
advsimd crc32 doublelock fp sve bbm fhm sel2
|
87
tests/arm/armv8a/cortex-a57-qemu.test
Normal file
87
tests/arm/armv8a/cortex-a57-qemu.test
Normal file
|
@ -0,0 +1,87 @@
|
|||
_________________ Logical CPU #0 _________________
|
||||
arm_midr=00000000411fd070
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000011120
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #1 _________________
|
||||
arm_midr=00000000411fd070
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000011120
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #2 _________________
|
||||
arm_midr=00000000411fd070
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000011120
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #3 _________________
|
||||
arm_midr=00000000411fd070
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000011120
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000011
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
--------------------------------------------------------------------------------
|
||||
ARM
|
||||
performance
|
||||
65
|
||||
1
|
||||
3335
|
||||
0
|
||||
1
|
||||
4
|
||||
Atlas
|
||||
advsimd crc32 doublelock fp pmull sha1 sha256 sm4 sve bbm dotprod fhm sel2
|
87
tests/arm/armv9a/neoverse-n2-qemu.test
Normal file
87
tests/arm/armv9a/neoverse-n2-qemu.test
Normal file
|
@ -0,0 +1,87 @@
|
|||
_________________ Logical CPU #0 _________________
|
||||
arm_midr=00000000410fd493
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=1021111110212120
|
||||
arm_id_aa64isar1=0011101101211052
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000100000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0001000100110011
|
||||
arm_id_aa64pfr1=0000000000000121
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000110100110021
|
||||
_________________ Logical CPU #1 _________________
|
||||
arm_midr=00000000410fd493
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=1021111110212120
|
||||
arm_id_aa64isar1=0011101101211052
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000100000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0001000100110011
|
||||
arm_id_aa64pfr1=0000000000000121
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000110100110021
|
||||
_________________ Logical CPU #2 _________________
|
||||
arm_midr=00000000410fd493
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=1021111110212120
|
||||
arm_id_aa64isar1=0011101101211052
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000100000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0001000100110011
|
||||
arm_id_aa64pfr1=0000000000000121
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000110100110021
|
||||
_________________ Logical CPU #3 _________________
|
||||
arm_midr=00000000410fd493
|
||||
arm_mpidr=0000000080000000
|
||||
arm_revidr=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000006
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=1021111110212120
|
||||
arm_id_aa64isar1=0011101101211052
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=00000111ff000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000100000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0001000100110011
|
||||
arm_id_aa64pfr1=0000000000000121
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000110100110021
|
||||
--------------------------------------------------------------------------------
|
||||
ARM
|
||||
general
|
||||
65
|
||||
0
|
||||
3401
|
||||
3
|
||||
1
|
||||
4
|
||||
Perseus
|
||||
advsimd crc32 csv2_1p1 doublelock pmull sha1 lse rdm f32mm fp16 sha512 sm4 sve fcma fpaccombine jscvt pacqarma5 pauth bbm dit fhm lrcpc2 sel2 bti dpb2 flagm2 mte rng ssbs2 bf16 dgh xs sve2 sve_bitperm sve_pmull128 sve_sha3 rme sme
|
|
@ -12,7 +12,11 @@ if len(args) != 3:
|
|||
def readRawFile():
|
||||
rawdata = []
|
||||
for line in open(args[1], "rt").readlines():
|
||||
lookfor = ["basic_cpuid", "ext_cpuid", "intel_fn4", "intel_fn11", "amd_fn8000001dh", "Logical CPU", "CPUID", "CPU#"]
|
||||
lookfor = [
|
||||
"Logical CPU", "CPUID", "CPU#", # common
|
||||
"basic_cpuid", "ext_cpuid", "intel_fn4", "intel_fn11", "amd_fn8000001dh", # x86
|
||||
"arm_midr", "arm_mpidr", "arm_revidr", "arm_id_aa64dfr", "arm_id_aa64isar", "arm_id_aa64mmfr", "arm_id_aa64pfr", "arm_id_aa64smfr", "arm_id_aa64zfr" # ARM
|
||||
]
|
||||
ignore = ["MSR Register"]
|
||||
good = False
|
||||
for match in lookfor:
|
||||
|
@ -35,6 +39,7 @@ def readResultFile():
|
|||
if s.find(":") == -1:
|
||||
continue
|
||||
numeric = ["family", "model", "stepping", "ext_family", "ext_model",
|
||||
"implementer", "variant", "part_num", "revision",
|
||||
"num_cores", "num_logical",
|
||||
"L1 D cache", "L1 I cache", "L2 cache", "L3 cache", "L4 cache",
|
||||
"L1D assoc.", "L1I assoc.", "L2 assoc.", "L3 assoc.", "L4 assoc.",
|
||||
|
|
|
@ -5,13 +5,16 @@ import os, sys, re, random
|
|||
|
||||
|
||||
### Constants:
|
||||
fields = [ "architecture", "purpose", "family", "model", "stepping", "extfamily",
|
||||
fields_x86 = [ "architecture", "purpose", "family", "model", "stepping", "extfamily",
|
||||
"extmodel", "cores", "logical",
|
||||
"l1d-cache", "l1i-cache", "l2-cache", "l3-cache", "l4-cache",
|
||||
"l1d-assoc", "l1i-assoc", "l2-assoc", "l3-assoc", "l4-assoc",
|
||||
"l1d-cacheline", "l1i-cacheline", "l2-cacheline", "l3-cacheline", "l4-cacheline",
|
||||
"l1d-instances", "l1i-instances", "l2-instances", "l3-instances", "l4-instances",
|
||||
"sse-size", "codename", "flags" ]
|
||||
fields_arm = [ "architecture", "purpose", "implementer", "variant", "part-num", "revision",
|
||||
"cores", "logical",
|
||||
"codename", "flags" ]
|
||||
|
||||
args = sys.argv
|
||||
fix = False
|
||||
|
@ -79,6 +82,13 @@ def do_test(inp, expected_out, binary, test_file_name, num_cpu_type):
|
|||
f = open(fninp, "wt")
|
||||
f.writelines([s + "\n" for s in inp])
|
||||
f.close()
|
||||
architecture = os.popen("%s --load=%s --architecture" % (binary, fninp)).read().splitlines()[-1]
|
||||
if architecture == "x86":
|
||||
fields = fields_x86
|
||||
elif architecture == "ARM":
|
||||
fields = fields_arm
|
||||
else:
|
||||
fields = []
|
||||
cmd = "%s --load=%s --outfile=%s %s" % (binary, fninp, fnoutp, " ".join(["--" + s for s in fields]))
|
||||
os.system(cmd)
|
||||
os.unlink(fninp)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue