Access Protection; Access Protection Mechanisms In The Tlb; General Access Protection - IBM PowerPC 405GP User Manual

Embedded processor
Table of Contents

Advertisement

replaced, and data contained in that page was modified, system software generally must write the
contents of the modified page to the backing store before replacing its contents. System software
must maintain records to control the environment.
Similarly, when system software manages TLB entries, the software often must know whether a
particular TLB entry was referenced. When the system software must select a TLB entry to cast out,
previously referenced entries are more likely to be maintained than entries which were never
referenced. System software must also maintain records for this purpose.
The PPC405GP does not provide hardware reference or change bits, but TLB miss interrupts and
data storage interrupts enable system software to maintain reference information for TLB entries and
their associated pages, respectively.
A possible algorithm follows. First, the TLB entries are built, with each TLB_entry[V, WR]
=
O.
System
software retains the index and EPN of each entry.
The first attempt by application code to access a page causes a TLB miss interrupt, because its TLB
entry is marked invalid. The TLB miss handler records the reference to the TLB entry (and to the
associated page) in a data structure, then sets TLB_entry[V]
=
1. (Note that TLB_entry[V] can be
considered a reference bit for the TLB entry.) Subsequent read accesses to the page associated with
the TLB entry proceed normally.
In the example just given for recording TLB entry references, the first write access to the page using
the TLB entry, after the entry is made valid, causes a data storage interrupt because write access was
turned off. The TLB miss handler records the write to the page in a data structure, for use as a
"changed" flag, then sets TLB_entry[WR]
=
1 to enable write access. (Note that TLB_entry[WR] can
be considered a change bit for the page.) Subsequent write accesses to the page proceed normally.
6.7
Access Protection
The PPC405GP provides virtual-mode access protection. The TLB entry enables system software to
control general access for programs in the problem state, and control write and execute permissions
for all pages. The TLB entry can specify zone protection that can override the other access control
mechanisms supported in the TLB entries.
TLB entry and zone protection methods also support access controls for cache operation and string
loads/stores.
6.7.1
Access Protection Mechanisms in the TLB
For MMU access protection to be in effect, one or both of MSR[IR] or MSR[OR] must be set to one to
enable address translation. MSR[IR] enables protection on instruction fetches, which are inherently
read-only. MSR[OR] enables protection on data accesses (loads/stores).
6.7.1.1
General Access Protection
The translation 10 (TLB_entry[TIO]) provides the first level of MMU access protection. This a-bit field,
if non-zero, is compared to the contents of TLB_entry[PIO]. These fields must match in a valid TLB
entry if any access is to be allowed. In typical use, it is assumed that a program in the supervisor
state, such as a real-time operating system, sets the PIO before starting a problem state program that
is subject to access control.
.
6·12
PPC405GP User's Manual
Preliminary

Advertisement

Table of Contents
loading

Table of Contents