Glossary
ACPI Advanced Configuration and Power Interface
AL After Life; in the context of this book, any runtime service that is part of system firmware is referred to as AL.
ALU Arithmetic-logic unit; a part of the CPU that performs arithmetic and logical operations on the operands. It is divided into two units, an arithmetic unit (AU) and a logic unit (LU).
AMBA Advanced Microcontroller Bus Architecture
AP Application processor; typically, in a multicore environment, any other processor cores apart from the powered-on default processor are referred to as application processors. Also, in embedded systems, application processors are referred to as the core that runs the bootstrap program.
APCB AMD PSP Control Block
ARM Advanced RISC Machine, formerly known as Acorn RISC machine
ASL ACPI source language
BAR(s) Base Address Register(s); typically used to access the device address space that is behind the host bus
BIOS Basic input/output system; in the context of this book, the bootloader, boot firmware, and payload are all part of the BIOS, which does the basic hardware initialization and boot to OS.
BIU Bus Interface Unit
BLx Boot Loader stages as part of Trusted Firmware; examples are BL1, BL2, and BL3x
BSP Boot Strap Processor, which comes out from the power-on reset and handles the platform initialization
CBFS CBFS is a scheme for managing independent blocks of data as part of ROM. Though not a true filesystem, the style and concepts are similar to the coreboot filesystem.
CCD Closed Case Debugging
CISC Complex instruction set computer architecture; the idea here is that a single instruction can perform a number of low-level operations like a load from memory or an arithmetic operation that also stores or reads from memory, hence multiple steps can be accommodated using a single instruction.
coreboot An open sourced, extended firmware platform that delivers a lightning fast and secure boot experience on embedded systems
CPU Central processing unit
CSE Intel® Converged Security Engine
CU Control unit, a component of the CPU that directs operations within the processor
DCI Intel® Direct Connect Interface
Depthcharge Depthcharge is responsible for performing the Chrome OS-specific operations required prior to boot to OS and also act as bootloader for Chrome OS
DMI Direct Media Interface, a proprietary link between the northbridge and southbridge on a computer motherboard
DSP Digital signal processors
e820 A legacy mechanism to pass the memory map from boot firmware to the operating system
eNEM enhanced NEM (No-Evict Mode)
EBC EFI Byte Code
FSP Firmware Support Package, a specification designed with standard API interface to perform silicon initialization and provide information back to the boot firmware
GCC GNU Compiler Collection
GUID Globally unique identifier, a unique identifier used in UEFI-based firmware is specified by a GUID
HOB(s) Hand-off blocks; define a way to pass information between different phases of types of boot firmware
Hybrid The term hybrid is used in the context of this book to define a firmware development model that allows open-source firmware development using limited SoC vendor provided blobs, such as coreboot. A coreboot firmware project accepts minimal boot critical SoC blobs integrated as part of the ROM image.
ICH I/O controller hub; managed data communication between the CPU and motherboard components
IDE An integrated development environment is used for software development.
IMD In-memory database; an IMD resides in the cbmem region for creating a dynamic cbmem infrastructure
IRQ Interrupt request
ISA Instruction Set Architecture, also used in bus specification as Industry Standard Architecture
LinuxBoot LinuxBoot was intended to be a firmware for modern servers that replaces specific firmware functionality like the UEFI DXE phase with a Linux kernel and runtime.
MCH Intel® Memory Controller Hub
MIPS Microprocessor without interlocked pipeline stages, a part of the RISC family
MMU Memory management unit, responsible for translating all CPU virtual addresses into physical addresses and additionally controlling memory accesses
Multithreading An environment that allows all possible processor cores to operate at same time using dedicated code and data stack without any coherency and resource conflicts
NEM No-eviction mode
Payload A separate firmware block that is responsible for booting to the kernel
PCH Peripheral Controller Hub, the next generation to ICH that controls certain data paths and support functions used in conjunction with CPUs
PCI Peripheral Component Interconnect
PCIe Peripheral Component Interconnect Express
Product Development Phase Typically, an embedded system goes through several phases starting from schematics design to the product reaching shelves. These stages are categories between Proto, Engineering Validation Test (EVT), Design Validation Test (DVT), Production Validation Test (PVT), and Mass Production (MP).
PSP AMD Platform Security Processor, used to provide the trusted execution environment
Reset Vector A 32-bit address where the CPU will start fetching the instruction post CPU reset. This address can be different between CISC and RISC architectures, and in most cases, this address is patchable using monitor code.
RISC Reduced instruction set computer architecture; the idea here is to use simple commands that can be divided into several instructions but operate within a single clock cycle.
RISC-V An open source instruction set architecture based on the RISC family
SA System agent, traditionally known as uncore. Defined as a part of a microprocessor that is not in the core but still closely connected to the core to achieve high performance.
SBL Slim Bootloader
SIMD Single instruction multiple data
SPARC Scalable Processor Architecture is a family member of RISC, originally developed by Sun Microsystems.
TF Trusted Firmware, formerly known as ARM Trusted Firmware
Tianocore An open source implementation of UEFI. In some cases, it’s used as a payload with other bootloaders, such as coreboot and SBL.
TLB Translation lookaside buffer, contains a translated entry for the virtual address and the access control logic to determine the access if permitted
TOLUD Top of lower usable DRAM
TOM Top of memory
TOUUD Top of upper usable DRAM
TSEG Top of the main memory segment; this region is used to specify the amount of memory space required while operating in System Management Mode (SMM).
UEFI Unified Extensible Firmware Interface
U-root Universal root, an open source project hosted on GitHub
UPD Updatable product data, a data structure that holds configuration regions being part of FSP binary
x86 A family member of CISC. x86 is typically used to refer to the 8086 processor family.