62
MicroBlaze Processor Reference Guide
UG081 (v14.7)
Chapter 2:
MicroBlaze Architecture
•
From privileged mode:
♦
The TLB entry specifies a read-only page (TLBLO[WR]=0) that is not otherwise
overridden by the zone field (ZPR[Zn]‚ 10 and ZPR[Zn]‚ 11). This applies to store
instructions.
Instruction-Storage Exception
When virtual mode is enabled, (MSR[VM]=1), an instruction-storage exception occurs when access
to a page is not permitted for any of the following reasons:
•
From user mode:
♦
The TLB entry specifies a zone field that prevents access to the page (ZPR[Zn]=00).
♦
The TLB entry specifies a non-executable page (TLBLO[EX]=0) that is not otherwise
overridden by the zone field (ZPR[Zn]‚ 11).
♦
The TLB entry specifies a guarded-storage page (TLBLO[G]=1).
•
From privileged mode:
♦
The TLB entry specifies a non-executable page (TLBLO[EX]=0) that is not otherwise
overridden by the zone field (ZPR[Zn]‚ 10 and ZPR[Zn]‚ 11).
♦
The TLB entry specifies a guarded-storage page (TLBLO[G]=1).
Data TLB-Miss Exception
When virtual mode is enabled (MSR[VM]=1) a data TLB-miss exception occurs if a valid, matching
TLB entry was not found in the TLB (shadow and UTLB). Any load or store instruction can cause
a data TLB-miss exception.
Instruction TLB-Miss Exception
When virtual mode is enabled (MSR[VM]=1) an instruction TLB-miss exception occurs if a valid,
matching TLB entry was not found in the TLB (shadow and UTLB). Any instruction fetch can cause
an instruction TLB-miss exception.
Access Protection
System software uses access protection to protect sensitive memory locations from improper access.
System software can restrict memory accesses for both user-mode and privileged-mode software.
Restrictions can be placed on reads, writes, and instruction fetches. Access protection is available
when virtual protected mode is enabled.
Access control applies to instruction fetches, data loads, and data stores. The TLB entry for a virtual
page specifies the type of access allowed to the page. The TLB entry also specifies a zone-protection
field in the zone-protection register that is used to override the access controls specified by the TLB
entry.
TLB Access-Protection Controls
Each TLB entry controls three types of access:
•
Process—Processes are protected from unauthorized access by assigning a unique process ID
(PID) to each process. When system software starts a user-mode application, it loads the PID
for that application into the PID register. As the application executes, memory addresses are
translated using only TLB entries with a TID field in Translation Look-Aside Buffer High
(TLBHI) that matches the PID. This enables system software to restrict accesses for an
application to a specific area in virtual memory.