UEFI 2.8 Errata A changed RuntimeServiceSupported value to be passed via an EFI_RT_PROPERTIES_TABLE instead of via a runtime variable.
This is a breaking change and we should do a new EBBR release in short order to keep EBBR up to date with what is in UEFI. However, real world impact is minimal. U-Boot has already converted to the new method, and Linux only ever implemented the EFI_RT_PROPERTIES_TABLE method.
Cc: Andrei Warkentin awarkentin@vmware.com Cc: Francois Ozog francois.ozog@linaro.org Cc: Ard Biesheuvel ardb@kernel.org Signed-off-by: Grant Likely grant.likely@arm.com --- source/chapter2-uefi.rst | 7 ++++--- source/references.rst | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/source/chapter2-uefi.rst b/source/chapter2-uefi.rst index 82b1a42..c42691b 100644 --- a/source/chapter2-uefi.rst +++ b/source/chapter2-uefi.rst @@ -9,7 +9,7 @@ platforms.
UEFI Version ============ -This document uses version 2.8 of the UEFI specification [UEFI]_. +This document uses version 2.8 Errata A of the UEFI specification [UEFI]_.
UEFI Compliance =============== @@ -111,7 +111,7 @@ during both boot services and runtime services. However, it isn't always practical for all EFI_RUNTIME_SERVICES functions to be callable during runtime services due to hardware limitations. If any EFI_RUNTIME_SERVICES functions are only available during boot services -then firmware shall provide the global `RuntimeServicesSupported` variable to +then firmware shall provide the `EFI_RT_PROPERTIES_TABLE` to indicate which functions are available during runtime services. Functions that are not available during runtime services shall return EFI_UNSUPPORTED. @@ -202,7 +202,8 @@ If a platform does not implement modifying non-volatile variables with SetVariable() after ExitBootServices(), then firmware shall return EFI_UNSUPPORTED for any call to SetVariable(), and must advertise that SetVariable() isn't available during runtime services -via the `RuntimeServicesSupported` variable as defined in [UEFI]_ § 8.1. +via the `RuntimeServicesSupported` value in the `EFI_RT_PROPERTIES_TABLE` +as defined in [UEFI]_ § 4.6. EFI applications can read `RuntimeServicesSupported` to determine if calls to SetVariable() need to be performed before calling ExitBootServices().
diff --git a/source/references.rst b/source/references.rst index d901bb1..1eb0509 100644 --- a/source/references.rst +++ b/source/references.rst @@ -20,6 +20,6 @@ https://static.docs.arm.com/den0044/b/DEN0044B_Server_Base_Boot_Requirements.pdf`_ 8 March 2016, `Arm Limited http://arm.com`_
-.. [UEFI] `Unified Extensable Firmware Interface Specification v2.8 - http://www.uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf`_, - March 2019, `UEFI Forum http://www.uefi.org`_ +.. [UEFI] `Unified Extensable Firmware Interface Specification v2.8 Errata A + https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_A_Feb14.pdf`_, + February 2020, `UEFI Forum http://www.uefi.org`_