1.3 Terms

The following terms are used throughout this document to describe varying aspects of input localization:

BaseTools

The BaseTools are the tools required for an EDK II build.

BDS

Boot Devices Selection phase.

BNF

BNF is an acronym for "Backus Naur Form". John Backus and Peter Naur introduced for the first time a formal notation to describe the syntax of a given language.

Component

An executable image. Components defined in this specification support one of the defined module types.

DEC

EDK II Package Declaration File. This file declares information about what is provided in the package. An EDK II package is a collection of like content.

DEPEX

Module dependency expressions that describe runtime process restrictions.

Dist

This refers to a distribution package that conforms to the UEFI Platform Initialization Distribution Package Specification.

DSC

EDK II Platform Description File. This file describes what and how modules, libraries and components are to be built, as well as defining library instances which will be used when linking EDK II modules.

DXE

Driver Execution Environment.

DXE SAL

A special class of DXE modules that provides SAL Runtime Services. DXE SAL modules differ from DXE Runtime modules in that the DXE Runtime modules support Virtual mode OS calls at OS runtime and DXE SAL modules support intermixing Virtual or Physical mode OS calls.

DXE SMM

A special class of DXE modules that are loaded into the System Management Mode memory.

DXE Runtime

A special class of DXE modules that provide Runtime Services.

EBNF

Extended "Backus Naur Form" meta-syntax notation with the following additional constructs: square brackets "[...]" surround optional items, suffix "*" for a sequence of zero or more of an item, suffix "+" for one or more of an items, suffix "?" for zero or one of an item, curly braches "{...}" enclosing a choice of a list of alternatives and superscripts indicating between n and m occurrences.

EDK

Extensible Firmware Interface Development Kit, the original implementation of the Intel(R) Platform Innovation Framework for EFI Specifications developed in 2007.

EDK II

EFI Development Kit, version II that provides updated firmware module layouts and custom tools, superseding the original EDK.

EDK Compatibility Package (ECP)

The EDK Compatibility Package (ECP) provides libraries that will permit using most existing EDK drivers with the EDK II build environment and EDK II platforms.

EFI

Generic term that refers to one of the version of the EFI or UEFI specifications.

FDF

EDK II Flash Definition File. This file is used to define the content and binary image layouts for firmware images, update capsules and PCI option ROMs.

FLASH

This term is used throughout this document to describe one of the following:

  • An image that is loaded into a hardware device on a platform - traditional ROM image.

  • An image that is loaded into an Option ROM device on an add-in ard

  • A bootable image that is installed on removable, bootable media, such as a Floppy, CD-ROM or USB storage device.

  • A UEFI application that can be accessed during but (at an EFI Shell prompt), prior to hand-off to the OS loader.

Foundation

The set of code and interfaces that holds implementations of EFI together.

Framework

Intel(R) Platform Innovation Framework for EFI consist of the Foundation, plus other modular components that characterize the portability surface for modular components designed to work on any implementation of the Tiano architecture.

GUID

Globally Unique Identifier. A 128-bit value used to name entities uniquely. A unique GUID can be generated by an individual without the help of a centralized authority. This allows the generation of names that will never conflict, even among multiple, unrelated parties. GUID values can be registry format, 8-4-4-4-12, or C data structure format.

GUID also refers to an API named by a GUID.

HII

Human Interface Infrastructure. This generally refers to the database that contains string, font and IFR information along with other pieces that use one of the database components.

HOB

Hand-off blocks are key architectural mechanisms that are used to hand off system information in the early pre-boot phase.

IFR

Internal Forms Representation. This is the binary encoding that is used for the representation of user interface pages.

INF

EDK II Module Information File. This file describes how the module is coded.

Library Class

A library class defines the API or interface set for a library. The consumer of the library is coded to the library class definition. Library classes are defined via a library class .h file that is published by a package.

Library Instance

An implementation of one or more library classes.

Module

A module is either an executable image or a library instance. For a list of module types supported by a package, see Module Type.

Module Type

All libraries and components belong to one of the following module types: BASE, SEC, PEI_CORE, PEIM, DXE_CORE, DXE_DRIVER, DXE_RUNTIME_DRIVER, DXE_SMM_DRIVER, DXE_SAL_DRIVER, UEFI_DRIVER or UEFI_APPLICATION. These definitions provide a framework that is consistent with a similar set of requirements. A module that is of type module type BASE, depends only on header and libraries provided in the MdePkg, while a module that is of module type DXE_DRIVER depends on common DXE components. An additional module type, USER_DEFINED, is allowed for extensibility. The EDK II build system also permits modules of type USER_DEFINED. These modules will not be processed by the EDK II Build system.

Numeric Values

Numeric values in the EDK II meta-data file expressions are either unsigned integer values (base 10) or hexadecimal values (base 16). No other numeric data types are permitted.

Package

A package is a container. It can hold a collection of files for any given set of modules. Packages may be described as containing zero or more of any of the following:

  • Source modules, containing all source files and descriptions of a module.

  • Binary modules, containing EFI sections for a Framework File System and a description file specific to linking and binary editing of features and attributes specified in a Platform Configuration Database (PCD).

  • Mixed modules, with both binary and source modules.

Multiple modules can be combined into a package and multiple packages can be combined into a single package.

PCD

Platform Configuration Database.

PEI

Pre-EFI Initialization Phase

PEIM

An API named by GUID.

PI

UEFI Platform Initialization Specification.

PPI

A PEIM-to-PEIM interface that is named by a GUID.

Protocol

An API named by GUID.

Runtime Services

Interfaces that provide access to underlying platform-specific hardware that might be useful during OS runtime, such as time and date services.

These services become active during the boot process but also persist after the OS loader terminates boot services.

SAL

System Abstraction Layer. A firmware interface specification used on Intel(R) Itanium(R) Processor based systems.

SEC

Security Phase is the code in the Framework that contains the processor reset vector and launches PEI. This phase is separate from PEI because some security schemes require ownership of the reset vector.

SKU

Stock Keeping Unit.

SMM

System Management Mode. A generic term for the execution mode entered when a CPU detect an SMI. The firmware, in response to the interrupt type, will gain control in physical mode. For this document, "SMM" describes the operational regime for IA32 and x64 processors that share the OS-transparent characteristics.

UEFI

Unified Extensible Firmware Interface

UEFI Application

An application that follows the UEFI Specification. The only difference between a UEFI application and a UEFI driver is that an application is unloaded from memory when it exits regardless of return status, while a driver that returns a successful return status is not unloaded when its entry point exits.

UEFI Driver

A driver that follows the UEFI Specification.

UEFI Driver

A driver that follows the UEFI specification.

UEFI Specification Version 2.4

Current UEFI version.

UEFI Platform Initialization Distribution Package Specification 1.0

The current version of this specification includes Errata B.

UEFI Platform Initialization Specification 1.3

Current version of the UEFI PI Specification.

Unified EFI Forum

A non-profit collaborative trade organization formed to promote and manage the UEFI standard. For more information, see http://www.uefi.org

VFR

Visual Forms Representation.

VPD

Vital Product Data that is read-only binary configuration data, typically located within a region of a flash part. This data would typically be updated as part of a firmware build, post firmware build (via patching tools), through automation on a manufacturing line as the 'FLASH' parts are programmed or through special tools.