mirror of
https://github.com/anrieff/libcpuid
synced 2025-10-03 11:01:30 +00:00
Add initial support for ARM CPUs running in AArch32 mode
Related to #96 Kernel modules to access AArch32 registers will be added in a separate commit.
This commit is contained in:
parent
7b0e6ba085
commit
ea9ada7118
9 changed files with 2506 additions and 444 deletions
171
tests/arm/armv7a/cortex-a15-qemu.txt
Normal file
171
tests/arm/armv7a/cortex-a15-qemu.txt
Normal file
|
@ -0,0 +1,171 @@
|
|||
_________________ Logical CPU #0 _________________
|
||||
arm_midr=00000000414fc0f0
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002414fc0f0
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10201105
|
||||
arm_id_mmfr1=20000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #1 _________________
|
||||
arm_midr=00000000414fc0f0
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002414fc0f0
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10201105
|
||||
arm_id_mmfr1=20000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #2 _________________
|
||||
arm_midr=00000000414fc0f0
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002414fc0f0
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10201105
|
||||
arm_id_mmfr1=20000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #3 _________________
|
||||
arm_midr=00000000414fc0f0
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002414fc0f0
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10201105
|
||||
arm_id_mmfr1=20000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
--------------------------------------------------------------------------------
|
||||
ARM
|
||||
general
|
||||
65
|
||||
4
|
||||
3087
|
||||
0
|
||||
1
|
||||
4
|
||||
Eagle
|
||||
advmultu advmults jazelle thumb2 debugv7p1 thumbee divide lpae
|
171
tests/arm/armv7a/cortex-a7-qemu.txt
Normal file
171
tests/arm/armv7a/cortex-a7-qemu.txt
Normal file
|
@ -0,0 +1,171 @@
|
|||
_________________ Logical CPU #0 _________________
|
||||
arm_midr=00000000410fc075
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002410fc075
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10101105
|
||||
arm_id_mmfr1=40000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #1 _________________
|
||||
arm_midr=00000000410fc075
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002410fc075
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10101105
|
||||
arm_id_mmfr1=40000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #2 _________________
|
||||
arm_midr=00000000410fc075
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002410fc075
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10101105
|
||||
arm_id_mmfr1=40000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
_________________ Logical CPU #3 _________________
|
||||
arm_midr=00000000410fc075
|
||||
arm_mpidr=0000000180000000
|
||||
arm_revidr=00000002410fc075
|
||||
arm_id_afr0=00000000
|
||||
arm_id_dfr0=02000505
|
||||
arm_id_dfr1=00000000
|
||||
arm_id_isar0=02101110
|
||||
arm_id_isar1=13112111
|
||||
arm_id_isar2=21232041
|
||||
arm_id_isar3=11112131
|
||||
arm_id_isar4=10011142
|
||||
arm_id_isar5=00000000
|
||||
arm_id_isar6=00000000
|
||||
arm_id_mmfr0=10101105
|
||||
arm_id_mmfr1=40000000
|
||||
arm_id_mmfr2=01240000
|
||||
arm_id_mmfr3=02102211
|
||||
arm_id_mmfr4=00000000
|
||||
arm_id_mmfr5=00000000
|
||||
arm_id_pfr0=00001131
|
||||
arm_id_pfr1=00010001
|
||||
arm_id_pfr2=00000000
|
||||
arm_id_aa64afr0=0000000000000000
|
||||
arm_id_aa64afr1=0000000000000000
|
||||
arm_id_aa64dfr0=0000000000000000
|
||||
arm_id_aa64dfr1=0000000000000000
|
||||
arm_id_aa64isar0=0000000000000000
|
||||
arm_id_aa64isar1=0000000000000000
|
||||
arm_id_aa64isar2=0000000000000000
|
||||
arm_id_aa64mmfr0=0000000000000000
|
||||
arm_id_aa64mmfr1=0000000000000000
|
||||
arm_id_aa64mmfr2=0000000000000000
|
||||
arm_id_aa64mmfr3=0000000000000000
|
||||
arm_id_aa64mmfr4=0000000000000000
|
||||
arm_id_aa64pfr0=0000000000000000
|
||||
arm_id_aa64pfr1=0000000000000000
|
||||
arm_id_aa64pfr2=0000000000000000
|
||||
arm_id_aa64smfr0=0000000000000000
|
||||
arm_id_aa64zfr0=0000000000000000
|
||||
--------------------------------------------------------------------------------
|
||||
ARM
|
||||
general
|
||||
65
|
||||
0
|
||||
3079
|
||||
5
|
||||
1
|
||||
4
|
||||
Kingfisher
|
||||
advmultu advmults jazelle thumb2 debugv7p1 thumbee divide lpae
|
|
@ -85,4 +85,4 @@ general
|
|||
1
|
||||
4
|
||||
Perseus
|
||||
advsimd crc32 doublelock pmull sha1 lse rdm fp16 i8mm sha3 sha512 sm3 sm4 sve fcma fpaccombine jscvt pacqarma5 pauth bbm dit dotprod fhm lrcpc2 lse2 bti dpb2 frintts flagm2 mte rng sb ssbs2 bf16 dgh sve2 sve_bitperm sve_pmull128 sve_sha3 sve_sm4 sme
|
||||
advsimd crc32 doublelock pmull sha1 lse rdm fp16 i8mm sha3 sha512 sm3 sm4 sve fcma fpaccombine jscvt pacqarma5 pauth bbm dit dotprod fhm lrcpc2 lse2 bti dpb2 frintts flagm2 mte rng sb ssbs2 bf16 dgh sve2 sve_bitperm sve_pmull128 sve_sha3 sve_sm4
|
||||
|
|
|
@ -15,7 +15,9 @@ def readRawFile():
|
|||
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
|
||||
"arm_midr", "arm_mpidr", "arm_revidr", # ARM common
|
||||
"arm_id_afr", "arm_id_dfr", "arm_id_isar", "arm_id_mmfr", "arm_id_pfr", # ARM (AArch32)
|
||||
"arm_id_aa64afr", "arm_id_aa64dfr", "arm_id_aa64isar", "arm_id_aa64mmfr", "arm_id_aa64pfr", "arm_id_aa64smfr", "arm_id_aa64zfr" # ARM (AArch64)
|
||||
]
|
||||
ignore = ["MSR Register"]
|
||||
good = False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue