
Sun Microelectronics
170
UltraSPARC User’s Manual
Note:
Exiting RED_state by writing 0 to PSTATE.RED in the delay slot of a
JMPL is not recommended. A noncacheable instruction prefetch may be made to
the JMPL target, which may be in a cacheable memory area. This may result in a
bus error on some systems, which will cause an
instruction_access_error
trap. The
trap can be masked by setting the NCEEN bit in the ESTATE_ERR_EN Register to
zero, but this will mask all non-correctable error checking. Exiting RED_state
with DONE or RETRY will avoid this problem.
Note:
While in RED_state, the Return Address Stack (RAS) is still active, and
instruction fetches following JMPL, RETURN, DONE, or RETRY instructions will
use the address from the top of the RAS. Unless it is re-initialized with a series of
CALLs, the RAS will contain virtual addresses obtained prior to entry into
RED_state. When these are passed through the now disabled I-MMU, invalid
addresses may result. If such accesses cannot be tolerated, software should fill the
RAS with valid addresses using CALL instructions before using a JMPL,
RETURN, DONE, or RETRY instruction in RED_state. Note that the RAS is
cleared after Power-on Reset. Section 16.2.10, “Return Address Stack (RAS),” on
page 272 discusses the RAS in detail. The following code fragment fills the RAS
with valid addresses:
mov %o7,%g1
set 4,%g2
1:
call 2f
subcc %g2,1,%g2
2:
bnz 1b
mov %g1,%o7
10.1.1 Power-on Reset (POR) and Initialization
A Power-on Reset occurs when the POR pin is activated and stays asserted until
the CPU is within its specified operating range. When the POR pin is active, all
other resets and traps are ignored. Power-on Reset has a trap type of 001
16
at
physical address offset 20
16
. Any pending external transactions are cancelled.
After a Power-on Reset, software must initialize values specified as “unknown” in
Section 10.3, “Machine State after Reset and in RED_state. In particular, the Valid
and LRU bits in the I-Cache (Section A.7, “I-Cache Diagnostic Accesses”), the Val-
id bits in the D-Cache (Section A.8, “D-Cache Diagnostic Accesses”) and all
E-Cache tags and data (Section A.9, “E-Cache Diagnostics Accesses”) must be
cleared before enabling the caches. The iTLB and dTLB also must be initialized as
described in Section 6.7, “MMU Behavior During Reset, MMU Disable, and
RED_state.”
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com