6–6
Privileged Architecture Library Code
29 September 1997 – Subject To Change
PALcode Entry Points
•
PC<05:01> = 0
•
PC<00> = 1 (PALmode)
The minimum number of cycles for a CALL_PAL execution is four.
6.4.2 PALcode Trap Entry Points
Chip-specific trap entry points start PALcode. (No PALcode assist is required for
replay and mispredict type traps.) EXC_ ADDR is loaded with the return PC and the
IDU performs a TRAPB in the shadow of the trap. The return prediction stack is
pushed with the PC of the trapping instruction for precise traps, and with some later
PC for imprecise traps.
Table 6–1 shows the PALcode trap entry points and their offset from the PAL_BASE
IPR. Entry points are listed from highest to lowest priority. (Prioritization among the
Dstream traps works because DTBMISS is suppressed when there is a sign check
error. The priority of ITBMISS and interrupt is reversed if there is an Icache miss.)
Number of
Cycles
Description
1
Minimum TRAPB for empty pipe. Typically this will be four cycles.
1
Issue the CALL_PAL instruction.
2
The minimum length of a PAL flow. However, in most cases there will be
more than two cycles of work for the CALL_PAL.
Table 6–1 PALcode Trap Entry Points
(Sheet 1 of 2)
Entry Name
Offset
16
Description
RESET
0000
Reset
IACCVIO
0080
Istream access violation or sign check error on PC
INTERRUPT
0100
Interrupt: hardware, software, and AST
ITBMISS
0180
Istream TBMISS
DTBMISS_SINGLE
0200
Dstream TBMISS
DTBMISS_DOUBLE
0280
Dstream TBMISS during virtual page table entry
(PTE) fetch
UNALIGN
0300
Dstream unaligned reference
DFAULT
0380
Dstream fault or sign check error on virtual address