6

Privileged Architecture Library Code

This chapter describes the 21264/EV67 privileged architecture library code (PALcode). 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.1PALcode 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:

Alpha 21264/EV67 Hardware Reference Manual

Privileged Architecture Library Code 6–1

Page 185
Image 185
Compaq 21264, EV67 specifications Privileged Architecture Library Code, PALcode Description