•PALcode needs a hardware mechanism to transition the machine from the PALcode environment to the
An Alpha implementation may also choose to provide additional functions to simplify or improve performance of some PALcode functions. The following are some examples:
•An Alpha implementation may include a read/write virtual function that allows PAL- code to perform mapped memory accesses using the mapping hardware rather than pro- viding the
•An Alpha implementation may include hardware assists for various functions, such as saving the virtual address of a reference on a memory management error rather than having to generate it by simulating the effective address calculation in PALcode.
•An Alpha implementation may include private registers so it can function without hav- ing to save and restore the native general registers.
6.5PALcode Effects on System Code
PALcode will have one effect on system code. Because PALcode may reside in main memory and maintain privileged data structures in main memory, the operating system code that allo- cates physical memory cannot use all of physical memory.
The amount of memory PALcode requires is small, so the loss to the system is negligible.
6.6 PALcode Replacement
Alpha systems are required to support the replacement of PALcode supplied by Compaq with an operating
•Translation Buffer fill. Different operating systems will want to replace the Translation Buffer (TB) fill routines. The replacement routines will use different data structures. Page tables will not be present in these systems. Therefore, no portion of the TB fill flow that would change with a change in page tables may be placed in hardware, unless it is placed in a manner that can be overridden by PALcode.
•Process structure. Different operating systems might want to replace the process con- text switch routines. The replacement routines will use different data structures. The HWPCB or PCB will not be present in these systems. Therefore, no portion of the con- text switching flows that would change with a change in process structure may be placed in hardware.
PALcode can be viewed as consisting of the following somewhat intertwined components:
•Chip/architecture component
•Hardware platform component
•Operating system component
Common PALcode Architecture