| |||
| Home > System Control Coprocessor > System control coprocessor registers > c0, Main ID Register | |||
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.
Table 3.4. Main ID Register bit functions
| Bits | Field | Function |
|---|---|---|
[31:24] | Implementor | Indicates the implementor, ARM:
|
[23:20] | Variant | Indicates the variant number of the processor:
|
[19:16] | Architecture | Indicates that the architecture is given in the feature registers:
|
[15:4] | Primary part number | Indicates the part number, Cortex-A8:
|
[3:0] | Revision | Indicates the revision number 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.
Table 3.5. Results of access to the Main ID Register[1]
| Secure privileged | Nonsecure privileged | Secure User | Nonsecure User | ||||
|---|---|---|---|---|---|---|---|
| Read | Write | Read | Write | Read | Write | Read | Write |
| Data | Undefined | Data | Undefined | Undefined | Undefined | Undefined | Undefined |
To access the Main ID Register, read CP15 with:
MRC p15, 0, <Rd>, c0, c0, 0 ; Read Main ID Register
See c0, Processor Feature Register 0 - c0, Instruction Set Attributes Registers 5-7 for more information on the processor features.