UEFI Glossary
AXL abstracts most UEFI details behind its public API, but some concepts surface in documentation and error messages. This glossary defines terms you may encounter.
- AP
Application Processor – any CPU core other than the BSP. APs can be dispatched via the MP Services protocol to run compute-heavy tasks (CRC, decompression, hashing) in parallel. APs cannot call Boot Services, use
axl_printf, or access UEFI protocols. Useaxl_task_pool_submit()to offload work to APs.- Boot Services
Firmware services available before the OS takes control. Accessed via
gBS(the Boot Services table pointer). Includes memory allocation, protocol management, event/timer services, and driver loading. AXL wraps most Boot Services behind its API – direct access is needed only for custom protocol calls.- BSP
Bootstrap Processor – the CPU core that executes firmware initialization and runs the main application. All UEFI Boot Services calls must happen on the BSP. AXL functions that interact with firmware (I/O, networking, protocol calls) run on the BSP.
- ConOut
Console Output – the UEFI text output protocol (
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL).axl_printfconverts UTF-8 to UCS-2 and writes to ConOut. Available on systems with a display or serial console.- Device Path
A UEFI data structure describing the physical or logical path to a device (e.g.,
PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0)). Used internally by the firmware for boot ordering and device identification.- DXE Driver
Driver Execution Environment driver – a UEFI binary that provides services to other binaries. Built with
axl-cc --type driver. Entry point isDriverEntryinstead ofmain. Callaxl_driver_initto set up the AXL runtime.- EFI_HANDLE
An opaque pointer identifying a UEFI object (device, driver, application). Handles have protocols installed on them.
gImageHandleis the handle of the running application or driver.- EFI_STATUS
The standard UEFI return type – a machine-word integer where 0 =
EFI_SUCCESS. AXL functions returnint(0 = success, -1 = failure) instead;EFI_STATUSvalues appear only in direct protocol calls.- GOP
Graphics Output Protocol – the UEFI framebuffer interface. Provides resolution queries, rectangle fill, pixel buffer blit, and screen capture. AXL wraps it via
axl_gfx_*functions. Not available on headless or serial-only systems.- OVMF
Open Virtual Machine Firmware – an open-source UEFI firmware implementation for virtual machines (QEMU). Used for testing AXL applications without real hardware.
- Protocol
A UEFI interface identified by a GUID. Protocols are installed on handles and discovered via
LocateProtocolorLocateHandleBuffer. Examples: TCP4, UDP4, GOP (graphics), SimpleNetwork, Shell. AXL’saxl_service_findwraps protocol lookup with string names instead of GUIDs.- Runtime Services
Firmware services that remain available after the OS boots. Accessed via
gRT. Includes NVRAM variable access (GetVariable/SetVariable), system time, and reset. AXL wraps these viaaxl_nvstore_*andaxl_reset.- Service Binding
A protocol pattern for creating child instances. Used by networking protocols (TCP4, UDP4, DNS4) where each connection needs its own protocol instance.
CreateChildallocates a new instance;DestroyChildfrees it.- SNP
Simple Network Protocol – the lowest-level NIC interface in UEFI. Provides raw Ethernet frame send/receive. Higher-level protocols (IP4, TCP4, UDP4, DHCP4) are built on top of SNP.
axl_net_auto_initloads NIC drivers and brings up the SNP → IP4 → TCP4/UDP4 stack.- System Table
The root UEFI data structure (
EFI_SYSTEM_TABLE), passed to every UEFI entry point. Contains pointers to Boot Services, Runtime Services, console I/O, and firmware vendor info. Accessed viagSTin AXL.