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

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

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

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

First-level descriptors<br />

Each entry in the first-level table is a descriptor of how the associated 1MB MVA range is mapped.<br />

Table B3-1 shows the possible first-level descriptor formats, where the value of bits [1:0] of the descriptor<br />

identifies the descriptor type:<br />

0b00 Invalid or fault entry. The associated MVA is unmapped, <strong>and</strong> attempting to access it<br />

generates a Translation fault, see VMSA memory aborts on page B3-40. Software can use<br />

bits [31:2] of an invalid descriptor for its own purposes, because these bits are ignored by<br />

the hardware.<br />

0b01 Page table descriptor. The descriptor gives the physical address of a second-level translation<br />

table, that specifies how the associated 1MByte MVA range is mapped. A second level<br />

translation table requires 1KByte of memory <strong>and</strong> can map Large pages <strong>and</strong> Small pages, see<br />

Second-level descriptors on page B3-10.<br />

0b10 Section or Supersection descriptor for the associated MVA. Bit [18] determines whether the<br />

descriptor is of a Section or a Supersection. For details of how the descriptor is interpreted<br />

see The full translation flow for Sections, Supersections, Small pages <strong>and</strong> Large pages on<br />

page B3-15.<br />

0b11 Reserved. In VMSAv7, descriptors with bits [1:0] == 0b11 generate Translation faults, <strong>and</strong><br />

must not be used.<br />

Table B3-1 VMSAv7 first-level descriptor formats<br />

31 24 23 20 19 18 17 16 15 14 12 11 10 9 8 5 4 3 2 1 0<br />

Fault IGNORE 0 0<br />

Page table Page table base address, bits [31:10]<br />

Section Section base address, PA[31:20]<br />

Supersection<br />

Supersection base address<br />

PA[31:24]<br />

Extended<br />

base address<br />

PA[35:32]<br />

N<br />

S<br />

N<br />

S<br />

n<br />

0<br />

G S<br />

A<br />

P<br />

[2]<br />

n<br />

1<br />

G S<br />

A<br />

P<br />

[2]<br />

TEX<br />

[2:0]<br />

TEX<br />

[2:0]<br />

AP<br />

[1:0]<br />

AP<br />

[1:0]<br />

The address information in the first-level descriptors is:<br />

Page table Bits [31:10] of the descriptor are bits [31:10] of the physical address of a Page table.<br />

Section Bits [31:20] of the descriptor are bits [31:20] of the physical address of the Section.<br />

Supersection Bits [31:24] of the descriptor are bits [31:24] of the physical address of the Supersection.<br />

Optionally, bits [8:5,23:20] of the descriptor are bits [39:32] of the extended Supersection<br />

address.<br />

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

I<br />

M<br />

P<br />

I<br />

M<br />

P<br />

I<br />

M<br />

P<br />

Domain<br />

S<br />

B<br />

Z<br />

Domain X<br />

N<br />

Extended<br />

X<br />

base address<br />

N<br />

PA[39:36]<br />

N<br />

S<br />

S<br />

B<br />

Z<br />

0 1<br />

C B 1 0<br />

C B 1 0<br />

Reserved Reserved 1 1

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

Saved successfully!

Ooh no, something went wrong!