beautypg.com

3 required palcode function codes, 4 opcodes reserved for palcode, 1 hw_ld instruction – Compaq 21264 User Manual

Page 187: Required palcode function codes, Opcodes reserved for palcode, Hw_ld instruction –3, 3 required palcode function codes, 4 opcodes reserved for palcode

background image

Alpha 21264/EV67 Hardware Reference Manual

Privileged Architecture Library Code

6–3

Required PALcode Function Codes

When executing in PALmode, there are certain restrictions for using the privileged
instructions because PALmode gives the programmer complete access to many of the
internal details of the 21264/EV67. Refer to Section 6.4 for information on these spe-
cial PALmode instructions.

Caution:

It is possible to cause unintended side effects by writing what appears to be
perfectly acceptable PALcode. As such, PALcode is not something that
many users will want to change. Before writing PALcode, at least become
familiar with the information in Appendix D.

6.3 Required PALcode Function Codes

Table 6–1 lists opcodes required for all Alpha implementations. The notation used is
oo.ffff, where oo is the hexadecimal 6-bit opcode and ffff is the hexadecimal 26-bit
function code.

6.4 Opcodes Reserved for PALcode

Table 6–2 lists the opcodes reserved by the Alpha architecture for implementation-spe-
cific use. These opcodes are privileged and are only available in PALmode.

These instructions generally produce an OPCDEC exception if executed while the pro-
cessor is not in PALmode. If I_CTL[HWE] is set, these instructions can also be exe-
cuted in kernel mode. Software that uses these instructions must adhere to the PALcode
restrictions listed in this section.

6.4.1 HW_LD Instruction

PALcode uses the HW_LD instruction to access memory outside the realm of normal
Alpha memory management and to perform special Dstream load transactions. Data
alignment traps are disabled for the HW_LD instruction.

Figure 6–1 shows the HW_LD instruction format.

Table 6–1 Required PALcode Function Codes

Mnemonic

Type

Function Code

DRAINA

Privileged

00.0002

HALT

Privileged

00.0000

IMB

Unprivileged

00.0086

Table 6–2 Opcodes Reserved for PALcode

Mnemonic

Opcode

Architecture
Mnemonic

Function

HW_LD

1B

PAL1B

Dstream load instruction

HW_ST

1F

PAL1F

Dstream store instruction

HW_RET

1E

PAL1E

Return from PALcode routine

HW_MFPR

19

PAL19

Copies the value of an IPR into an integer GPR

HW_MTPR

1D

PAL1D

Writes the value of an integer GPR into an IPR