PALcode (Privileged Architecture Library code) is the name used by DEC in the Alpha instruction set architecture (ISA) for a set of functions in the System Reference Manual (SRM) or AlphaBIOS firmware, providing a hardware abstraction layer for system software, covering features such as cache management, translation lookaside buffer (TLB) miss handling, interrupt handling, and exception handling. It evolved from a feature of the DEC PRISM architecture named Epicode. PALcode is Alpha machine code, running in a special mode that also allows access to internal registers specific to the particular Alpha processor implementation. Thus, it is somewhere between the role of microcode and of a hardware emulator. PALcode is operating system-specific, so different versions of PALcode are required by OpenVMS, Tru64 UNIX, and Windows NT. Tru64 UNIX PALcode is also used by NetBSD, FreeBSD, OpenBSD and Linux.
Willy Zwaenepoel, Aravind Menon
Edouard Bugnion, Boris Robert Grot, Dmitrii Ustiugov
David Atienza Alonso, Marina Zapater Sancho, Luis Maria Costero Valero, Darong Huang, Qunyou Liu