
Memory Protection Unit (MPU)
PXN20 Microcontroller Reference Manual, Rev. 1
18-16
Freescale Semiconductor
18.4.1.1
Access Evaluation—Hit Determination
To determine if the current AHB reference hits in the given region, two magnitude comparators are used
with the region’s start and end addresses. The boolean equation for this portion of the hit determination is
defined as:
region_hit =
((haddr[0:26] >= rgdn.srtaddr[0:26]) & (haddr[0:26] <= rgdn.endaddr[0:26]))
& rgdn.vld
where
haddr[*]
is the current AHB reference address,
rgdn.srtaddr[*]
and
rgdn.endaddr[*]
are the start
and end addresses, and
rgdn.vld
is the valid bit, all from region descriptor
n
. There are no hardware checks
to verify that
rgdn.endaddr
rgdn.srtaddr
, and the software must properly load appropriate values into
these fields of the region descriptor.
In addition to the algebraic comparison of the AHB reference address versus the region descriptor’s start
and end addresses, the optional process identifier is examined against the region descriptor’s PID and
PIDMASK fields. Using the
hmaster[*]
number to select the appropriate M
x
PE field from the region
descriptor, a process identifier hit term is formed as:
pid_hit = ~rgdn.mxpe
| ((current_pid[0:7] | rgdn.pidmask[0:7]) == (rgdn.pid[0:7] | rgdn.pidmask[0:7]))
where the
current_pid[*]
is the selected process identifier from the current bus master, and
rgdn.pid[*]
and
rgdn.pidmask[*]
are the appropriate process identifier fields from the region descriptor
n
. For AHB
bus masters that do not output a process identifier, the MPU forces the
pid_hit
term to be asserted.
, the access evaluation macro forms the logical complement
(hit_b)
of the
combined region_hit and pid_hit boolean equations.
18.4.1.2
Access Evaluation—Privilege Violation Determination
While the access evaluation macro is making the region hit determination, the logic is also evaluating if
the current access is allowed by the permissions defined in the region descriptor. Using the AHB
hmaster[*]
and
hprot[1]
(supervisor/user mode) signals, a set of effective permissions (
eff_rgd[r,w,x]
)
is generated from the appropriate fields in the region descriptor. The protection violation logic then
evaluates the access against the effective permissions using the specification shown in
Table 18-11. Protection Violation Definition
Description
Inputs
Output
hwrite hprot[0] eff_rgd[r] eff_rgd[w] eff_rgd[x]
Protection
Violation?
inst fetch read
0
0
—
—
0
yes, no x permission
inst fetch read
0
0
—
—
1
no, access is allowed
data read
0
1
0
—
—
yes, no r permission
data read
0
1
1
—
—
no, access is allowed
data write
1
—
—
0
—
yes, no w permission
data write
1
—
—
1
—
no, access is allowed
Summary of Contents for PXN2020
Page 1: ...PXN20 Microcontroller Reference Manual Devices Supported PXN2020 PXN2120 PXN20RM Rev 1 06 2011...
Page 42: ...PXN20 Microcontroller Reference Manual Rev 1 lxiv Freescale Semiconductor...
Page 64: ...Introduction PXN20 Microcontroller Reference Manual Rev 1 1 22 Freescale Semiconductor...
Page 112: ...Signal Description PXN20 Microcontroller Reference Manual Rev 1 3 44 Freescale Semiconductor...
Page 118: ...Resets PXN20 Microcontroller Reference Manual Rev 1 4 6 Freescale Semiconductor...
Page 372: ...e200z6 Core Z6 PXN20 Microcontroller Reference Manual Rev 1 13 8 Freescale Semiconductor...
Page 412: ...e200z0 Core Z0 PXN20 Microcontroller Reference Manual Rev 1 14 14 Freescale Semiconductor...
Page 821: ...Media Local Bus MLB PXN20 Microcontroller Reference Manual Rev 1 Freescale Semiconductor 27 49...
Page 822: ...Media Local Bus MLB PXN20 Microcontroller Reference Manual Rev 1 27 50 Freescale Semiconductor...
Page 1376: ...Memory Map PXN20 Microcontroller Reference Manual Rev 1 A 118 Freescale Semiconductor...