The Unified Extensible Firmware Interface Specification (UEFI) describes the interface between the OS and the supervisor-mode firmware.
This section defines the BRS-I mandatory and optional UEFI requirements on top of existing cite:[UEFI] specification requirements. Additional non-normative guidance may be found in the firmware implementation guidance section.
Important
|
All content in this section is optional and recommended for BRS-B. |
ID# | Requirement |
---|---|
|
Implement a 64-bit UEFI firmware. |
|
Meet the 3rd Party UEFI Certificate Authority (CA) requirements on UEFI memory mitigations cite:[MSUefiCaRequirements]. |
|
Meet BRS-I specific memory map requirements:
|
|
An implementation MAY comply with the UEFI Platform Initialization Specification cite:[UEFI-PI]. |
|
All hart manipulation internal to a firmware implementation SHOULD be done before completion of the |
This ensures an OS loader is entered with an OS-compatible state for all harts. |
|
|
Declare the |
The |
|
|
Declare the |
Only a system fully compliant to the requirements in this section MAY declare the |
ID# | Requirement |
---|---|
|
Systems implementing UEFI secure boot are RECOMMENDED to implement the |
The Security and Security2 architectural protocols are overridden by some bootloaders (e.g. systemd-boot) to validate EFI binaries that cannot be validated against the UEFI security database. |
|
|
Systems implementing a TPM MUST implement the TCG EFI Protocol Specification cite:[TcgEfiPlat]. |
See additional requirements for UEFI runtime services.
ID# | Requirement |
---|---|
|
Systems implementing PCIe MUST always initialize all root complex hardware and perform resource assignment for all endpoints and usable hotplug-capable switches in the system, even in a boot scenario from a non-PCIe boot device. |
This is a stronger requirement than the PCI Firmware Specification firmware/OS device hand-off state (cite:[PCIFW] Section 3.5). See additional guidance. |
|
|
Systems implementing |
That is, |
ID# | Requirement |
---|---|
|
Systems without a Real-Time Clock (RTC) MUST meet the following requirements:
|
Systems with a Real-Time Clock on an OS-managed bus (e.g. I2C, subject to arbitration issues due to access to the bus by the OS) MUST meet the following requirements:
|
|
Also see |
|
|
The UEFI |
The OS MUST call the |
|
|
Non-volatile UEFI variables MUST persist across calls to the |
|
UEFI runtime services MUST be able to update the variables directly without the aid of an OS. |
|
The following requirements MUST be met for systems with UEFI secure boot:
|
ID# | Requirement |
---|---|
|
Systems with in-band firmware updates MUST do so either via |
In-band means the firmware running on a hart updates itself. |
|
|
Systems implementing in-band firmware updates via |
|
Systems implementing in-band firmware updates via |
|
Systems implementing in-band firmware updates via |