09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

TL bit<br />

value<br />

3.2.57 c10, TLB preload operation<br />

For the Data or Instruction TLB Lockdown Register:<br />

System Control Coprocessor<br />

• The TLB lockdown behavior depends on the TL bit, see c1, Nonsecure Access Control<br />

Register on page 3-56. If the TL bit is not set to 1, the lockdown entries are reserved for<br />

the Secure state.<br />

• The TLB Lockdown Register must be used with the TLB preload operation. See c10, TLB<br />

preload operation.<br />

Note<br />

Setting the P bit before a hardware translation table walk does not guarantee the locking down<br />

of an entry. The Base field must be set to the first unlocked entry. The Victim field must always<br />

be set to a value greater than or equal to the value of the Base field.<br />

Table 3-111 shows the results of attempted access for each mode.<br />

To access the Data TLB Lockdown Register, read or write CP15 with:<br />

MRC p15, 0, , c10, c0, 0 ; Read Data TLB Lockdown Register<br />

MCR p15, 0, , c10, c0, 0 ; Write Data TLB Lockdown Register<br />

To access the Instruction TLB Lockdown Register, read or write CP15 with:<br />

MRC p15, 0, , c10, c0, 1 ; Read Instruction TLB Lockdown Register<br />

MCR p15, 0, , c10, c0, 1 ; Write Instruction TLB Lockdown Register<br />

The TLB preload operations are used to load entries into either the instruction or data TLB as<br />

specified by the virtual address. The operation performs a TLB lookup to determine if the virtual<br />

address has been cached in the TLB array. If the TLB lookup misses in the TLB array, a<br />

hardware translation table walk is performed. There are two possible results of the hardware<br />

translation table walk:<br />

• the descriptor is cached in the TLB array at the entry specified by the Victim field in the<br />

TLB Lockdown Register<br />

• the descriptor faults.<br />

Table 3-111 Results of access to the TLB Lockdown Register a<br />

Secure privileged Nonsecure privileged Secure User Nonsecure User<br />

Read Write Read Write Read Write Read Write<br />

0 Data Data Undefined Undefined Undefined Undefined Undefined Undefined<br />

1 Data Data Data Data Undefined Undefined Undefined Undefined<br />

a. An entry of Undefined in the table means that the access gives an Undefined Instruction exception when the coprocessor<br />

instruction is executed.<br />

If the operation is a preload D-TLB instruction and the descriptor faults, a data abort is<br />

indicated. The DFSR and DFAR indicate the fault type and the fault address, respectively.<br />

If the operation is a preload I-TLB instruction and the descriptor faults, a data abort is indicated.<br />

The DFSR indicates the instruction cache maintenance fault value. The DFAR contains the<br />

faulty virtual address, and the IFSR contains the fault type encoding.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 3-99<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!