PALcode

{{Short description|Type of machine code}}

PALcode (Privileged Architecture Library code){{cite book

|title=Alpha Architecture Reference Manual |date=2014

|publisher=Digital Press

|url=https://books.google.com/books?id=aYioBQAAQBAJ&q=very+flexible |isbn=978-1483294339

|quote=PALcode—Alpha's Very Flexible Privileged Software Library A Privileged Architecture Library (PALcode) is a set of subroutines that ...}}{{cite web

|title=PALcode for Alpha Microprocessors System Design Guide

|url=https://download.majix.org/dec/palcode_dsgn_gde.pdf

|date=May 2, 1996

|quote=PALcode for Alpha Microprocessors. System Design Guide. May 1996. This guide explains how to use the 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.{{cite web|url=http://neilrieck.net/docs/dave_cutler-prism-mica-emerald-etc.html|website=neilrieck.net|author=Neil Rieck|title=Dave Cutler, PRISM, Mica, Emerald, etc.|access-date=2020-12-21}}

PALcode is Alpha machine code, running in a special mode{{cite web |title=PALcode - ES40 Emulator

|url=http://www.es40.org/PALcode

|quote=PALcode is Alpha machine code, running in a special mode that allows access to internal registers specific to the particular Alpha processor}} 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,{{cite web |title=The Alpha AXP Processor

|url=http://www.science.unitn.it/~fiorella/guidelinux/tlk/node140.html

|quote=The Alpha AXP architecture uses a set of subroutines, call privileged architecture library code (PALcode). PALcode is specific to the operating system, the CPU ...}} 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.

References

{{reflist}}