Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,21 @@ extension described below instead.
Make sure that citations labels (such as "DTSPEC" above) have 8 characters
maximum as this is the limit of the Sphinx LaTeX writer.

Version annotations
^^^^^^^^^^^^^^^^^^^

For version annotations, use a directive line at the end of the concerned
section, optionally followed on the next line by a quick mention of which
requirement was added or changed::

.. versionadded:: 2.3.0
UEFI Boot Manager requirements.

.. versionchanged:: 2.4.0

Annotate only changes in requirements; there is no need to annotate changes in
recommendations.

Sphinx Extensions
-----------------

Expand Down
9 changes: 9 additions & 0 deletions source/chapter1-about.rst
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,15 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in :rfc:`2119`.

The following annotations are used to highlight when requirements were
introduced or significantly changed since the last major version of this
specification:

.. versionadded:: 2.3.0
UEFI Boot Manager requirements.

.. versionchanged:: 2.4.0

Features, which will not be supported by a future version of this specification
are indicated with a warning such as the following one:

Expand Down
31 changes: 31 additions & 0 deletions source/chapter2-uefi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ UEFI Version

This document uses version 2.11 of the UEFI specification [UEFI]_.

.. versionchanged:: 2.3.0

UEFI Compliance
===============

Expand Down Expand Up @@ -186,6 +188,9 @@ interface specific UEFI protocols, and so they have been made optional.
`EFI_EDID_OVERRIDE_PROTOCOL`, and producing
`EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL` is not required.

.. versionadded:: 2.1.0
Require `RISCV_EFI_BOOT_PROTOCOL` on RISC-V platforms.

.. _section-required-global-vars:

Required Global Variables
Expand Down Expand Up @@ -240,6 +245,8 @@ processing after restart as found in :UEFI:`8.5.6`. [#FWUpNote]_
* - `CapsuleLast`
- Variable for platform to publish the last `CapsuleNNNN` created.

.. versionadded:: 2.2.0

Block device partitioning
-------------------------

Expand Down Expand Up @@ -296,6 +303,8 @@ Resident UEFI firmware can be executed in M mode or S/HS mode during POST.
However, the UEFI images must be loaded in HS or VS mode if virtualization
is available at OS load time.

.. versionadded:: 2.0.1

UEFI Boot at S mode
^^^^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -384,6 +393,8 @@ specification [#VersionsNote]_.
{ 0xf2bb0422, 0xda8e, 0x11f0, \
{ 0xa6, 0x7b, 0x1b, 0xe2, 0x20, 0x85, 0x40, 0x98 }}

.. versionadded:: 2.1.0

Devicetree
----------

Expand Down Expand Up @@ -416,6 +427,9 @@ The DTB must be contained in memory of type `EfiACPIReclaimMemory`.
.. [#ACPIMemNote] `EfiACPIReclaimMemory` was chosen to match the recommendation
for ACPI tables which fulfill the same task as the DTB.

.. versionadded:: 2.1.0
DTB Nodes and Properties requirements table.

UEFI Protocols
==============

Expand All @@ -432,6 +446,8 @@ Trusted Platform Module (TPM)
Not all embedded systems include a TPM but if a TPM is present, then firmware
shall implement the `EFI_TCG2_PROTOCOL` as defined in [TCG2]_.

.. versionadded:: 2.2.0

UEFI Boot Services
==================

Expand Down Expand Up @@ -459,6 +475,8 @@ If the platform does not implement the monotonic counter, the
.. [#MonoNote] `EFI_UNSUPPORTED` is not an allowed status code for
`GetNextMonotonicCount()`.

.. versionadded:: 2.2.0

UEFI Secure Boot (Optional)
---------------------------

Expand Down Expand Up @@ -676,6 +694,15 @@ Firmware must support the delivery of capsules via file on mass storage device
implementation of the `UpdateCapsule()` runtime service and of the ESRT,
as detailed in :UEFI:`23.3` and :UEFI:`23.4` respectively.

.. versionchanged:: 2.3.0
Require authenticated firmware updates.

.. versionadded:: 2.1.0
Require an ESRT.

.. versionadded:: 2.2.0
Require support for delivery of capsules "on disk".

Out-of-band firmware update
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -693,6 +720,8 @@ the `GetNextHighMonotonicCount()` runtime service. [#BootNote]_
.. [#BootNote] The platform's monotonic counter is made optional in section
:ref:`section-misc-boot-services`.

.. versionadded:: 2.2.0

UEFI Boot Manager
=================

Expand Down Expand Up @@ -772,3 +801,5 @@ been made optional.
This is outside the scope of this specification.

.. [#LF2Note] https://docs.u-boot.org/en/v2024.10/develop/uefi/uefi.html#load-file-2-protocol

.. versionadded:: 2.3.0
11 changes: 11 additions & 0 deletions source/chapter3-secureworld.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ It is recommended that firmware implements PSCI version 1.0 or later
.. warning:: A future version of this specification will require minimum PSCI
and SMCCC versions.

.. versionchanged:: 2.3.0
Require PSCI and SMCCC for platforms without EL3.

AArch64 SoC Identification
^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -71,6 +74,8 @@ version compatible with caller version 1.2. [#FFANote]_
1.x, with x >= 2, are compatible with caller versions 1.0 to 1.x, which
includes caller version 1.2.

.. versionadded:: 2.4.0

AArch64 Platform Fault Detection
--------------------------------

Expand All @@ -83,6 +88,8 @@ defined in [PFDI]_ § 5 Compliance Requirements, and it must support a version
request fault detection checks from Platform Firmware.
At the time of writing, only PFDI version 1.0 is defined.

.. versionadded:: 2.4.0

AArch64 System Control and Management
-------------------------------------

Expand Down Expand Up @@ -138,6 +145,8 @@ implementation requirements take precedence. [#SCMINote]_
which eases agents and platforms interoperability, and this is therefore the
recommended implementation.

.. versionadded:: 2.4.0

AArch64 Random Number Generator
-------------------------------

Expand All @@ -160,3 +169,5 @@ extensions:
* HART State Management Extension (HSM)
* System Reset Extension (SRST)
* Debug Console Extension (DBCN) if a serial console is present

.. versionchanged:: 2.4.0
2 changes: 2 additions & 0 deletions source/chapter5-variable-storage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ and the operating system can rely on.

All integer fields are stored in little-endian byte order.

.. versionadded:: 2.2.0

File header
===========

Expand Down
3 changes: 3 additions & 0 deletions source/latex/custom.tex.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@

% Using the hyphenat package allows to break e.g. UEFI Protocol names.
\usepackage{hyphenat}

% Render version annotations in italic, to align with HTML.
\newcommand{\DUroleversionmodified}[1]{\textit{#1}}