21264/EV68A Hardware Reference Manual
Privileged Architecture Library Code 6–1
6
Privileged Architecture Library Code
This chapter describes the 21264/EV68A privileged architecture library code (PAL-
code). The chapter is organized as follows:
• PALcode description
• PALmode environment
• Required PALcode function codes
• Opcodes reserved for PALcode
• Internal processor register access mechanisms
• PALshadow registers
• PALcode emulation of FPCR
• PALcode entry points
• Translation buffer fill flows
• Performance counter support
6.1 PALcode Description
PALcode is macrocode that provides an architecturally-defined, operating-system-spe-
cific programming interface that is common across all Alpha microprocessors. The
actual implementation of PALcode differs for each operating system. PALcode runs
with privileges enabled, instruction stream (Istream) mapping disabled, and interrupts
disabled. PALcode has privilege to use five special opcodes that allow functions such as
physical data stream (Dstream) references and internal processor register (IPR) manip-
ulation.
PALcode can be invoked by the following events:
• Reset
• System hardware exceptions (MCHK, ARITH)
• Memory-management exceptions
• Interrupts
• CALL_PAL instructions
PALcode has characteristics that make it appear to be a combination of microcode,
ROM BIOS, and system service routines, though the analogy to any of these other
items is not exact. PALcode exists for several major reasons: