1
0
Fork 0
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:
The Tumultuous Unicorn Of Darkness 2024-07-07 16:47:59 +02:00
commit ea9ada7118
No known key found for this signature in database
GPG key ID: 1E55EE2EFF18BC1A
9 changed files with 2506 additions and 444 deletions

View 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

View 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

View file

@ -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

View file

@ -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