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 rules 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# | Rule |
---|---|
|
MUST implement a 64-bit UEFI firmware. |
|
MUST meet the 3rd Party UEFI Certificate Authority (CA) requirements on UEFI memory mitigations cite:[MSUefiCaRequirements]. |
|
MUST meet the following memory map rules:
|
Enabling paged virtual memory scheme means, |
|
|
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.The OS loader and/or the OS may resume the secondary harts, if required, as part of their boot and join sequence. |
|
|
The implementation MUST declare the |
The |
|
|
The implementation MUST declare the |
Only a system fully compliant to the requirements in this section MAY declare the |
|
|
A Device Tree MUST only be exposed to the OS iff no actual hardware description is included in the DT. |
Such a "dummy" DT could be installed by firmware, as a UEFI configuration table entry of type |
ID# | Rule |
---|---|
|
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# | Rule |
---|---|
|
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# | Rule |
---|---|
|
Systems without a Real-Time Clock (RTC), but with an equivalent alternate source for the current time, 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:
|
|
|
The UEFI |
The OS MUST call the |
|
|
The UEFI variables MUST persist across calls to the |
|
UEFI runtime services MUST be able to update the UEFI variables directly without the aid of an OS. |
UEFI variables are normally saved in a dedicated storage which is not directly accessible by the operating system. |
|
|
The following requirements MUST be met for systems with UEFI secure boot:
|
ID# | Rule |
---|---|
|
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 |