The purpose of the Main ID Register is to return the device ID code that contains information about the processor.
The Main ID Register is:
a read-only register common to the Secure and Nonsecure states
accessible in privileged modes only.
Figure 3.1 shows the bit arrangement of the Main ID Register.
The contents of the Main ID Register depend on the specific implementation. Table 3.4 shows how the bit values correspond with the Main ID Register functions.
Indicates the implementor, ARM:
Indicates the variant number, or major revision, of the processor:
Indicates that the architecture is given in the feature registers:
Primary part number
Indicates the part number, Cortex-A8:
Indicates the revision number, or minor revision, of the processor:
If an Opcode_2 value corresponding to an non-implemented or reserved ID register with CRm equal to c0 and Opcode_1 = 0 is encountered, the system control coprocessor returns the value of the Main ID Register.
Table 3.5 shows the results of attempted access for each mode.
|Secure privileged||Nonsecure privileged||Secure User||Nonsecure User|
 An entry of Undefined in the table means that the access gives an Undefined Instruction exception when the coprocessor instruction is executed.
To access the Main ID Register, read CP15 with:
MRC p15, 0, <Rd>, c0, c0, 0 ; Read Main ID Register