3.2.1. Register allocation

Table 3.2 lists the registers and operations described in this section, arranged numerically, and gives the register reset values. In this table:

Table 3.2. Summary of CP15 registers and operations

CRnOp1CRmOp2Register/operation nameTypeReset valueDescription
c00c00Main ID[1]RO0x4117B360

c0, Main ID Register

1

Cache Type

RO

Implementation-defined[2]

c0, Cache Type Register

2

TCM Status

RO0x00010001

c0, TCM Status Register

3

TLB Type

RO0x00080800

c0, TLB Type Register

c10Processor Feature 0[3]RO0x00000111c0, Processor Feature Register 0
1Processor Feature 1[3]RO0x00000001c0, Processor Feature Register 1
2Debug Feature 0[3]RO0x00000002c0, Debug Feature Register 0
3Auxiliary Feature 0[3]RO0x00000000c0, Auxiliary Feature Register 0
4Memory Model Feature 0[3]RO0x01130003c0, Memory Model Feature Register 0
5Memory Model Feature 1[3]RO0x10030302c0, Memory Model Feature Register 1
6Memory Model Feature 2[3]RO0x01222110c0, Memory Model Feature Register 2
7Memory Model Feature 3[3]RO0x00000000c0, Memory Model Feature Register 3
c20Instruction Set Attributes 0[3]RO0x00140011c0, Instruction Set Attributes Register 0
1Instruction Set Attributes 1[3]RO0x12002111c0, Instruction Set Attributes Register 1
2Instruction Set Attributes 2[3]RO0x11231111c0, Instruction Set Attributes Register 2
3Instruction Set Attributes 3[3]RO0x01102131c0, Instruction Set Attributes Register 3
4Instruction Set Attributes 4[3]RO0x00000141c0, Instruction Set Attributes Register 4
5Instruction Set Attributes 5[3]RO0x00000000c0, Instruction Set Attributes Register 5
c10c00

Control

R/W0x0xx5x0x8[4]

c1, Control Register

1

Auxiliary Control

R/W0x00000007

c1, Auxiliary Control Register

2

Coprocessor Access Control

R/W0x00000000

c1, Coprocessor Access Control Register

c20c00

Translation Table Base 0

R/W0x00000000

c2, Translation Table Base Register 0, TTBR0

1

Translation Table Base 1

R/W0x00000000

c2, Translation Table Base Register 1, TTBR1

2

Translation Table Base Control

R/W0x00000000

c2, Translation Table Base Control Register, TTBCR

c30c00

Domain Access Control

R/W0x00000000

c3, Domain Access Control Register

c4---Not used---
c50c00

Data Fault Status

R/W0x00000000

c5, Data Fault Status Register, DFSR

1

Instruction Fault Status

R/W0x00000000

c5, Instruction Fault Status Register, IFSR

c60c00

Data Fault Address

R/W0x00000000

c6, Fault Address Register, FAR

1

Watchpoint Fault Address

R/W0x00000000

c6, Watchpoint Fault Address Register, WFAR

c70c04Wait For InterruptWO-c7, Cache Operations Register
c50Invalidate Entire Instruction CacheWO-c7, Cache Operations Register
 1Invalidate Instruction Cache, using MVAWO-c7, Cache Operations Register
 2Invalidate Instruction Cache, using Set/WayWO-c7, Cache Operations Register
 4Flush Prefetch BufferWO[5]-c7, Cache Operations Register
 6Flush Entire Branch Target CacheWO-c7, Cache Operations Register
 7Flush Branch Target Cache EntryWO-c7, Cache Operations Register
c60Invalidate Entire Data CacheWO-c7, Cache Operations Register
1Invalidate Data Cache Line, using MVAWO-c7, Cache Operations Register
2Invalidate Data Cache Line, using Set/WayWO-c7, Cache Operations Register
c70Invalidate Both CachesWO-c7, Cache Operations Register
c70c100Clean Entire Data CacheWO-c7, Cache Operations Register
1Clean Data Cache Line, using MVAWO-c7, Cache Operations Register
2Clean Data Cache Line, using Set/WayWO-c7, Cache Operations Register
4Data Synchronization BarrierWO[5]-c7, Cache Operations Register
5Data Memory BarrierWO[5]-c7, Cache Operations Register
6Read Cache Dirty Status RegisterRO0x00000000c7, Cache Operations Register
c124Read Block Transfer Status RegisterRO[5]0x00000000c7, Cache Operations Register
5Stop Prefetch RangeWO[5]-c7, Cache Operations Register
c131Prefetch Instruction Cache LineWO-c7, Cache Operations Register
c140Clean and Invalidate Entire Data CacheWO-c7, Cache Operations Register
1Clean and Invalidate Data Cache Line, using MVAWO-c7, Cache Operations Register
2Clean and Invalidate Data Cache Line, using Set/WayWO-c7, Cache Operations Register
c80c50

Invalidate Instruction TLB

WO-c8, TLB Operations Register (invalidate TLB operation)
1

Invalidate Instruction TLB Single Entry

WO-c8, TLB Operations Register (invalidate TLB operation)
2

Invalidate Instruction TLB Entry on ASID match

WO-c8, TLB Operations Register (invalidate TLB operation)
c60

Invalidate Data TLB

WO-c8, TLB Operations Register (invalidate TLB operation)
1

Invalidate Data TLB Single Entry

WO-c8, TLB Operations Register (invalidate TLB operation)
2

Invalidate Data TLB Entry on ASID match

WO-c8, TLB Operations Register (invalidate TLB operation)
c70

Invalidate Unified TLB

WO-c8, TLB Operations Register (invalidate TLB operation)
1

Invalidate Unified TLB Single Entry

WO-c8, TLB Operations Register (invalidate TLB operation)
2

Invalidate Unified TLB Entry on ASID match

WO-c8, TLB Operations Register (invalidate TLB operation)
c90c00

Data Cache Lockdown

R/W0xFFFFFFF0

c9, Data and Instruction Cache Lockdown Registers

1

Instruction Cache Lockdown

R/W0xFFFFFFF0

c15, Cache and Main TLB Master Valid Registers

c10

Data TCM Region

R/W

Implementation-defined[6]

c9, Data TCM Region Register

1

Instruction TCM Region

R/W

Implementation-defined[6]

c9, Instruction TCM Region Register

c100c00

TLB Lockdown

R/W0x00000000

c10, TLB Lockdown Register

c20Primary Region Remap (PMRR)[3]R/W0x0009AAA4

Primary Region Remap Register (PRRR)

1Normal Memory Remap (NMRR)[3]R/W0x44E048E0Normal Memory Remap Register (NMRR)
c110c00

DMA Identification and Status (Present)

RO

0x00000003

c11, DMA Identification and Status Registers

 1DMA Identification and Status (Queued)RO

0x00000000

c11, DMA Identification and Status Registers
 2DMA Identification and Status (Running)RO

0x00000000

c11, DMA Identification and Status Registers
 3DMA Identification and Status (Interrupting)RO

0x00000000

c11, DMA Identification and Status Registers
c10

DMA User Accessibility

R/W0x00000000

c11, DMA User Accessibility Register

c20

DMA Channel Number

R/W[5]0x00000000

c11, DMA Channel Number Register

c30

DMA Enable (Stop)

WO[5], X[7]-

c11, DMA Enable Registers

1

DMA Enable (Start)

WO[5], X[7]-c11, DMA Enable Registers
2

DMA Enable (Clear)

WO[5], X[7]-c11, DMA Enable Registers
c40

DMA Control

R/W[5], X[7]0x00000000

c11, DMA Control Registers

c50

DMA Internal Start Address

R/W[5], X[7]0x00000000

c11, DMA Internal Start Address Registers

c60

DMA External Start Address

R/W[5], X[7]0x00000000

c11, DMA External Start Address Registers

c70

DMA Internal End Address

R/W[5], X[7]0x00000000

c11, DMA Internal End Address Registers

c80

DMA Channel Status

RO[5], X[7]0x00000000

c11, DMA Channel Status Registers

c150

DMA Context ID

R/W0x00000000

c11, DMA Context ID Registers

c12---Not used---
c130c00

FCSE PID

R/W0x00000000

c13, FCSE PID Register

1

Context ID

R/W0x00000000

c13, Context ID Register

2User Read/Write Thread and Process ID[3]R/W[5]0x00000000c13, Thread and process ID registers
3User Read-only Thread and Process ID[3]R/W[5]0x00000000c13, Thread and process ID registers
4Privileged Only Thread and Process ID[3]R/W0x00000000c13, Thread and process ID registers
c14---Not used---
c150c20

Data Memory Remap

R/W0x01C97CC8

c15, Memory remap registers

1

Instruction Memory Remap

R/W0x01C97CC8

c15, Memory remap registers

2

DMA Memory Remap

R/W0x01C97CC8

c15, Memory remap registers

4

Peripheral Port Memory Remap

R/W0x01C97CC8

c15, Memory remap registers

c120

Performance Monitor Control

R/W0x00000000

c15, Performance Monitor Control Register (PMNC)

1

Cycle Counter (CCNT)

R/W

Unpredictable

c15, Cycle Counter Register (CCNT)

2

Count 0 (PMN0)

R/W0x00000000

c15, Count Register 0 (PMN0)

3

Count 1 (PMN1)

R/W0x00000000

c15, Count Register 1 (PMN1)

3c00

Data Debug Cache

RO0x00000000

c15, Cache debug operations registers

 1

Instruction Debug Cache

RO0x00000000

c15, Cache debug operations registers

c20

Data Tag RAM Read Operation

WO-

c15, Cache debug operations registers

 1

Instruction Tag RAM Read Operation

WO-

c15, Cache debug operations registers

c41

Instruction Cache Data RAM Read Operation

WO-

c15, Cache debug operations registers

c8<R>[8]

Instruction Cache Master Valid

R/W0x00000000

c15, Cache and Main TLB Master Valid Registers

c10<R>[8]

Instruction SmartCache Master Valid

R/W0x00000000

c15, Cache and Main TLB Master Valid Registers

c12<R>[8]

Data Cache Master Valid

R/W0x00000000

c15, Cache and Main TLB Master Valid Registers

c14<R>[8]

Data SmartCache Master Valid

R/W0x00000000

c15, Cache and Main TLB Master Valid Registers

c155c40

Data MicroTLB Index

R/W0x00000000

c15, Instruction MicroTLB and Data MicroTLB Index Registers

1

Instruction MicroTLB Index

R/W0x00000000

c15, Instruction MicroTLB and Data MicroTLB Index Registers

2

Read Main TLB Entry

WO0x00000000

c15, Main TLB Entry Registers (Main TLB index)

4

Write Main TLB Entry

WO0x00000000c15, Main TLB Entry Registers (Main TLB index)
c50

Data MicroTLB VA

RO0x00000000

c15, TLB VA Registers

1

Instruction MicroTLB VA

RO0x00000000

c15, TLB VA Registers

2

Main TLB VA

R/W0x00000000

c15, TLB VA Registers

c60

Data MicroTLB PA

RO0x00000000

c15, TLB PA Registers

1

Instruction MicroTLB PA

RO0x00000000

c15, TLB PA Registers

2

Main TLB PA

R/W0x00000000

c15, TLB PA Registers

c70

Data MicroTLB Attribute

RO0x00000000

c15, TLB Attribute Registers

1

Instruction MicroTLB Attribute

RO0x00000000

c15, TLB Attribute Registers

2

Main TLB Attribute

R/W0x00000000

c15, TLB Attribute Registers

c14<R>[8]

Main TLB Master Valid

R/W0x00000000

c15, Cache and Main TLB Master Valid Registers

7c00

Cache Debug Control

R/W0x00000000

c15, Cache Debug Control Register

c10

TLB Debug Control

R/W0x00000000

c15, TLB Debug Control Register

[1] Before the r1p0 release, the Main ID register was called the ID Code Register.

[2] The cache type reset value is determined by the size of the caches implemented.

[3] These registers are only implemented from the rev1 (r1p0) release of the ARM1136JF-S processor.

[4] On reset, the values of bits 25, 22, and 7 depend on the value of macrocell input signals BIGENDINIT and UBITINIT, and the value of bit 13 depends on the value of the VINITHI signal. See Control Register reset value.

[5] Bold text denotes that the register can be accessed in User mode.

[6] See register description for details.

[7] User accessibility depends on the state of the DMA User Accessibility Register.

[8] <R> = register number.

Operations available using MCRR instructions

A limited number of operations are available using MCRR instructions. These are accessed as shown:

MCRR{cond} p15,<Opcode_1>,<End Address>,<Start Address>,<CRm>

The operations available in this way are shown in Table 3.3:

Table 3.3. Summary of CP15 MCRR operations

Op1CRmRegister or operationType[1]Reset valueDescription
0c5Invalidate Instruction Cache RangeWO-Invalidate, Clean and Prefetch cache operations for address ranges
c6Invalidate Data Cache RangeWO-Invalidate, Clean and Prefetch cache operations for address ranges
c12Clean Data Cache RangeWO[1]-Invalidate, Clean and Prefetch cache operations for address ranges
c14Clean and Invalidate Data Cache RangeWO-Invalidate, Clean and Prefetch cache operations for address ranges
1c12Prefetch Instruction Cache RangeWO[1]-Invalidate, Clean and Prefetch cache operations for address ranges
2c12Prefetch Data Cache RangeWO[1]-Invalidate, Clean and Prefetch cache operations for address ranges

[1] Bold text denotes that the register can be accessed in User mode.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DDI 0211I