Table shows some information about cpu cores designed by Arm company (as they provide TRM documentation).
AArch32 support column can be hard to understand so let me list used values and try to provide some descriptions.
value name | description |
---|---|
EL0-EL3 | AArch32 support on all exception levels |
EL0-EL2 | AArch32 support on all exception levels except L3 (X-Gene 1/2) |
EL0-EL2/3 | some cpu core revisions lack EL3 (X-Gene 1/2/3) |
NO/EL0-EL3 | support level depends on cpu core revision (Cortex-A510) |
EL0-EL3? | AArch32 support on all exception levels but needs to be confirmed (usually cores based on Arm Cortex-A designs) |
EL0 | AArch32 support only in userspace |
NO | AArch32 is not supported at all |
(empty field) | AArch32 support needs to be checked with documentation |
You need AArch32 support at EL1 to run 32-bit KVM guest.
Table is maintained by Marcin Juszkiewicz — AArch64/Arm developer working at Red Hat.
Sources used to generate table are available in git repository at github. Patches are always welcomed.
Table generated on 11 November 2024 16:33 UTC.
CPU core name | architecture level | ID number | AArch32 support | physical memory address size (bits) | virtual memory address size (bits) | supported page sizes | SVE vector length |
---|---|---|---|---|---|---|---|
Cortex-A34 | v8.0 | 0xd02 | NO | 40 | 4k, 16k, 64k | ||
Cortex-A53 | v8.0 | 0xd03 | EL0-EL3 | 40 | 4k, 64k | ||
Cortex-A35 | v8.0 | 0xd04 | EL0-EL3 | 40 | 4k, 16k, 64k | ||
Cortex-A55 | v8.2 | 0xd05 | EL0-EL3 | 40 | 48 | 4k, 16k, 64k | |
Cortex-A65 | v8.2 | 0xd06 | NO | 44 | 48 | 4k, 16k, 64k | |
Cortex-A57 | v8.0 | 0xd07 | EL0-EL3 | 44 | 4k, 64k | ||
Cortex-A72 | v8.0 | 0xd08 | EL0-EL3 | 44 | 4k, 64k | ||
Cortex-A73 | v8.0 | 0xd09 | EL0-EL3 | 40 | 4k, 16k, 64k | ||
Cortex-A75 | v8.2 | 0xd0a | EL0-EL3 | 44 | 4k, 16k, 64k | ||
Cortex-A76 | v8.2 | 0xd0b | EL0 | 40 | 48 | 4k, 16k, 64k | |
Neoverse-N1 | v8.2 | 0xd0c | EL0 | 48 | 48 | 4k, 16k, 64k | |
Cortex-A77 | v8.2 | 0xd0d | EL0 | 40 | 48 | 4k, 16k, 64k | |
Cortex-A76AE | v8.2 | 0xd0e | EL0 | 40 | 48 | 4k, 16k, 64k | |
Neoverse-V1 | v8.4 | 0xd40 | EL0 | 48 | 48 | 4k, 16k, 64k | 256 |
Cortex-A78 | v8.2 | 0xd41 | EL0 | 40 | 48 | 4k, 16k, 64k | |
Cortex-A78AE | v8.2 | 0xd42 | EL0 | 48 | 48 | 4k, 16k, 64k | |
Cortex-A65AE | v8.2 | 0xd43 | NO | 44 | 48 | 4k, 16k, 64k | |
Cortex-X1 | v8.2 | 0xd44 | EL0 | 40 | 48 | 4k, 16k, 64k | |
Cortex-A510 | v9.0 | 0xd46 | NO/EL0 | 40 | 48 | 4k, 16k, 64k | 128 |
Cortex-A710 | v9.0 | 0xd47 | EL0 | 40 | 48 | 4k, 16k, 64k | 128 |
Cortex-X2 | v9.0 | 0xd48 | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Neoverse-N2 | v9.0 | 0xd49 | EL0 | 48 | 48 | 4k, 16k, 64k | 128 |
Neoverse-E1 | v8.2 | 0xd4a | NO | 44 | 48 | 4k, 16k, 64k | |
Cortex-A78C | v8.2 | 0xd4b | EL0 | 40 | 48 | 4k, 16k, 64k | |
Cortex-X1C | v8.2 | 0xd4c | EL0 | 40 | 48 | 4k, 16k, 64k | |
Cortex-A715 | v9.0 | 0xd4d | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Cortex-X3 | v9.0 | 0xd4e | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Neoverse-V2 | v9.0 | 0xd4f | NO | 48 | 48 | 4k, 16k, 64k | 128 |
Cortex-A520 | v9.2 | 0xd80 | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Cortex-A720 | v9.2 | 0xd81 | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Cortex-X4 | v9.2 | 0xd82 | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Neoverse-V3 | v9.2 | 0xd84 | NO | 48 | 48 | 4k, 16k, 64k | 128 |
Cortex-X925 | v9.2 | 0xd85 | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Cortex-A725 | v9.2 | 0xd87 | NO | 40 | 48 | 4k, 16k, 64k | 128 |
Neoverse-N3 | v9.2 | 0xd8e | NO | 48 | 48 | 4k, 16k, 64k | 128 |