5.6.8 ElfDwarf canonical register numbers

This table lists the canonical register numbers that Arm® cores expose in ResourceInfo.registerInfo.canonicalRn, using the ElfDwarf scheme.


  • The C++ IrisSupportLib header file, iris/IrisElfDwarfArm.h contains symbolic constants for the canonical register numbers. They are listed in the Constant column.
  • Only a small subset of the registers that Arm cores expose have canonical register numbers and DWARF register numbers assigned. Other registers can be discovered by name, for example PC, or by tag, for example ResourceInfo.registerInfo.tags.isPc.

Table 5-2 ElfDwarf canonical register numbers for Arm cores

canonicalRn value a Register b Arch name c Arch number d Dwarf register e Constant f
0x2800000000+n Rn (n=0-15) EM_ARM 40 0+n iris::ElfDwarf::ARM_R0+n
0x2800000080 SPSR EM_ARM 40 128 iris::ElfDwarf::ARM_SPSR
0x2800000081 SPSR_fiq EM_ARM 40 129 iris::ElfDwarf::ARM_SPSR_fiq
0x2800000082 SPSR_irq EM_ARM 40 130 iris::ElfDwarf::ARM_SPSR_irq
0x2800000083 SPSR_abt EM_ARM 40 131 iris::ElfDwarf::ARM_SPSR_abt
0x2800000084 SPSR_und EM_ARM 40 132 iris::ElfDwarf::ARM_SPSR_und
0x2800000085 SPSR_svc EM_ARM 40 133 iris::ElfDwarf::ARM_SPSR_svc
0x2800000097 R8_fiq EM_ARM 40 151 iris::ElfDwarf::ARM_R8_fiq
0x2800000098 R9_fiq EM_ARM 40 152 iris::ElfDwarf::ARM_R9_fiq
0x2800000099 R10_fiq EM_ARM 40 153 iris::ElfDwarf::ARM_R10_fiq
0x280000009a R11_fiq EM_ARM 40 154 iris::ElfDwarf::ARM_R11_fiq
0x280000009b R12_fiq EM_ARM 40 155 iris::ElfDwarf::ARM_R12_fiq
0x280000009c R13_fiq EM_ARM 40 156 iris::ElfDwarf::ARM_R13_fiq
0x280000009d R14_fiq EM_ARM 40 157 iris::ElfDwarf::ARM_R14_fiq
0x280000009e R13_irq EM_ARM 40 158 iris::ElfDwarf::ARM_R13_irq
0x280000009f R14_irq EM_ARM 40 159 iris::ElfDwarf::ARM_R14_irq
0x28000000a0 R13_abt EM_ARM 40 160 iris::ElfDwarf::ARM_R13_abt
0x28000000a1 R14_abt EM_ARM 40 161 iris::ElfDwarf::ARM_R14_abt
0x28000000a2 R13_und EM_ARM 40 162 iris::ElfDwarf::ARM_R13_und
0x28000000a3 R14_und EM_ARM 40 163 iris::ElfDwarf::ARM_R14_und
0x28000000a4 R13_svc EM_ARM 40 164 iris::ElfDwarf::ARM_R13_svc
0x28000000a5 R14_svc EM_ARM 40 165 iris::ElfDwarf::ARM_R14_svc
0x2800000100+n Dn (n= 0-31) EM_ARM 40 256+n iris::ElfDwarf::ARM_D0+n
0xb700000000+n Xn (n=0-30) EM_AARCH64 183 0+n iris::ElfDwarf::AARCH64_X0+n
0xb70000001f SP EM_AARCH64 183 31 iris::ElfDwarf::AARCH64_SP
0xb700000021 ELR EM_AARCH64 183 33 iris::ElfDwarf::AARCH64_ELR
0xb700000040+n Vn (n=0-31) EM_AARCH64 183 64+n iris::ElfDwarf::AARCH64_V0+n
a  Canonical register number value in ResourceInfo.registerInfo.canonicalRn, according to the ElfDwarf scheme.
b  Architectural register name.
c  ELF EM_* constant name for the architecture for which the register is defined.
d  Numerical value of the EM_* constant.
e  DWARF register number defined for the architecture.
f  Constant defined in iris/ElfDwarfArm.h for canonicalRn (uint64_t).
Non-ConfidentialPDF file icon PDF version101196_0100_03_en
Copyright © 2018, 2019 Arm Limited or its affiliates. All rights reserved.