Translation faults domain faults permission faults – Digi NS9215 User Manual

Page 124

Advertising
background image

W O R K I N G W I T H T H E C P U

Fault checking sequence

124

Hardware Reference NS9215

Note:

If an access generates an alignment fault, the access sequence aborts without
reference to other permission checks.

Translation faults

There are two types of translation fault: section and page.

A section translation fault is generated if the level one descriptor is marked as
invalid. This happens if bits [1:0] of the descriptor are both 0.

A page translation fault is generated if the level one descriptor is marked as
invalid. This happens if bits [1:0] of the descriptor are both 0.

Domain faults

There are two types of domain faults: section and page.

Section: The level one descriptor holds the four-bit domain field, which selects
one of the 16 two-bit domains in the Domain Access Control register. The two
bits of the specified domain are then checked for access permissions as
described in “Interpreting access permission bits” on page 121. The domain is
checked when the level one descriptor is returned.

Page: The level one descriptor holds the four-bit domain field, which selects
one of the 16 two-bit domains in the Domain Access Control register. The two
bits of the specified domain are then checked for access permissions as
described in “Interpreting access permission bits” on page 121. The domain is
checked when the level one descriptor is returned.

If the specified access is either no access (00) or reserved (10), either a section
domain fault or a page domain fault occurs.

Permission faults

If the two-bit domain field returns client (01), access permissions are checked as
follows:

Section: If the level one descriptor defines a section-mapped access, the AP
bits of the descriptor define whether the access is allowed, per “Interpreting
access permission bits” on page 121
. The interpretation depends on the setting
of the S and R bits (see "R1: Control register," beginning on page 88). If the
access is not allowed, a section permission fault is generated.

Large page or small page: If the level one descriptor defines a page-mapped
access and the level two descriptor is for a large or small page, four access
permission fields (AP3 to AP0) are specified, each corresponding to one quarter
of the page.

For small pages, AP3 is selected by the top 1 KB of the page and AP0 is
selected by the bottom 1 KB of the page.

For large pages, AP3 is selected by the top 16 KB of the page and AP0 is
selected by the bottom 16 KB of the page. The selected AP bits are then

Advertising