Sun Microelectronics
240
UltraSPARC User’s Manual
14.1.8 Population Count Instruction (POPC)
The population count instruction is not directly executed in hardware; it is emu-
lated in software.
14.1.9 Secure Software
To establish an enhanced security environment, it may be necessary to initialize
certain processor states between contexts. Examples of such states are the con-
tents of integer and floating-point register files, condition codes, and state regis-
ters. See also Section 14.2.2, “Clean Window Handling (Impdep #102).
14.1.10 Address Masking (Impdep #125)
When PSTATE.AM=1, the value of the high-order 32-bits of the PC transmitted to
the specified destination register(s) by CALL, JMPL, RDPC, and on a trap is zero.
14.2 SPARC-V9 Integer Operations
14.2.1 Integer Register File and Window Control Registers (Impdep #2)
UltraSPARC implements an eight window 64-bit integer register file; that is,
NWINDOWS = 8. UltraSPARC truncates values stored in the CWP, CANSAVE,
CANRESTORE, CLEANWIN, and OTHERWIN registers to three bits. This in-
cludes implicit updates to these registers by SAVE(D) and RESTORE(D) instruc-
tions. The upper two bits of these registers read as zero.
14.2.2 Clean Window Handling (Impdep #102)
SPARC-V9 introduced the concept of “clean window” to enhance security and in-
tegrity during program execution. A clean window is defined to be a register
window that contains either all zeroes or addresses and data that belong to the
current context. The CLEANWIN register records the number of available clean
windows.
When a SAVE instruction requests a window, and there are no more clean win-
dows, a clean_window trap is generated. System software must then initialize all
registers in the next available window(s) to zero before returning to the request-
ing context.
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com