05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Virtual Memory System <strong>Architecture</strong> (VMSA)<br />

B3.13 Pseudocode details of VMSA memory system operations<br />

This section contains pseudocode describing VMSA memory operations. The following subsections<br />

describe the pseudocode functions:<br />

Alignment fault<br />

FCSE translation<br />

Address translation on page B3-157<br />

Domain checking on page B3-157<br />

TLB operations on page B3-158<br />

Translation table walk on page B3-158.<br />

See also the pseudocode for general memory system operations in Pseudocode details of general memory<br />

system operations on page B2-29.<br />

B3.13.1 Alignment fault<br />

The following pseudocode describes the generation of an Alignment fault Data Abort exception:<br />

// AlignmentFaultV()<br />

// =================<br />

AlignmentFaultV(bits(32) address, boolean iswrite)<br />

mva = FCSETranslate(address);<br />

DataAbort(mva, bits(4) UNKNOWN, boolean UNKNOWN, iswrite, DAbort_Alignment);<br />

B3.13.2 FCSE translation<br />

The following pseudocode describes the FCSE translation:<br />

// FCSETranslate()<br />

// ===============<br />

bits(32) FCSETranslate(bits(32) va)<br />

if va == ‘0000000’ then<br />

mva = FCSEIDR.PID : va;<br />

else<br />

mva = va;<br />

return mva;<br />

B3-156 Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DDI 0406B

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

Saved successfully!

Ooh no, something went wrong!