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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.2.39 c6, Instruction Fault Address Register<br />

3.2.40 c7, Cache operations<br />

System Control Coprocessor<br />

The purpose of the Instruction Fault Address Register (IFAR) is to hold the address of<br />

instructions that cause a prefetch abort.<br />

The IFAR is:<br />

• a read/write register banked for Secure and Nonsecure states<br />

• accessible in privileged modes only.<br />

The Instruction Fault Address Register bits [31:1] contain the instruction fault MVA and bit [0]<br />

is RAZ.<br />

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

To access the IFAR, read or write CP15 with:<br />

MRC p15, 0, , c6, c0, 2 ; Read Instruction Fault Address Register<br />

MCR p15, 0, , c6, c0, 2 ; Write Instruction Fault Address Register<br />

A write to this register sets the IFAR to the value of the data written. This is useful for a<br />

debugger to restore the value of the IFAR.<br />

The purpose of c7 is to manage the associated cache levels. The maintenance operations are<br />

formed into two management groups:<br />

• Set and way:<br />

— clean<br />

— invalidate<br />

— clean and invalidate.<br />

• MVA:<br />

— clean<br />

— invalidate<br />

— clean and invalidate.<br />

Table 3-72 Results of access to the Instruction Fault Address Register a<br />

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

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

Secure data Secure data Nonsecure<br />

data<br />

Nonsecure<br />

data<br />

Undefined Undefined Undefined Undefined<br />

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

coprocessor instruction is executed.<br />

In addition, the maintenance operations use the following definitions:<br />

Point of coherency<br />

The time when the imposition of any more cache becomes transparent for<br />

instruction, data, and translation table walk accesses to that address by any<br />

processor in the system.<br />

Point of unification<br />

The time when the instruction and data caches, and the TLB translation table<br />

walks have merged for a uniprocessor system.<br />

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

ID060510 Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!