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.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:

21264/EV68A Hardware Reference Manual

Privileged Architecture Library Code 6–1

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