Some of the language was ambiguous and it seemed like UEFI was optional. Tighten it up to be clear the EBBR requires UEFI and add some details about how EBBR informs how UEFI is used for embedded systems.
The block device partitioning section is also moved within the chapter so it doesn't appear as a subsection of the system environment section (which mainly talks about the CPU execution mode).
Signed-off-by: Grant Likely grant.likely@arm.com --- source/appendix-a-uefi-features.rst | 2 ++ source/chapter1-about.rst | 17 ++++++++++------- source/chapter2-uefi.rst | 29 ++++++++++++++--------------- 3 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/source/appendix-a-uefi-features.rst b/source/appendix-a-uefi-features.rst index 0bdc712..709b929 100644 --- a/source/appendix-a-uefi-features.rst +++ b/source/appendix-a-uefi-features.rst @@ -1,3 +1,5 @@ +.. _appendix-uefi-requirements: + ############################################# APPENDIX A - UEFI Implementation Requirements ############################################# diff --git a/source/chapter1-about.rst b/source/chapter1-about.rst index d713cf3..b667f1b 100644 --- a/source/chapter1-about.rst +++ b/source/chapter1-about.rst @@ -5,18 +5,21 @@ About This Document Introduction ============
-This Embedded Base Boot Requirements (EBBR) specification is intended for Arm -embedded devices that want to take advantage of the UEFI technology to separate -the firmware and OS development. -For example, class-A embedded devices like networking platforms can benefit +This Embedded Base Boot Requirements (EBBR) specification defines an interface +between platform firmware and an operating system that is suitable for embedded +platforms. +EBBR compliant platforms present a consistent interface that will boot an EBBR +compliant operating system without any custom tailoring required. +For example, an Arm A-class embedded networking platform will benefit from a standard interface that supports features such as secure boot and firmware update.
-This specification defines the base firmware requirements if UEFI is chosen. +This specification defines the base firmware requirements for EBBR compliant platforms. The requirements in this specification are expected to be minimal yet complete, while leaving plenty of room for innovations and design details. This specification is intended to be OS-neutral. -It leverages the prevalent industry standard firmware specifications of UEFI. + +It leverages the prevalent industry standard firmware specification of [UEFI]_.
Comments or change requests can be sent to arm.ebbr-discuss@arm.com.
@@ -24,7 +27,7 @@ Scope ===== This document defines the boot and runtime services that are expected by an Operating System or hypervisor, for an Arm embedded device, which follows the -UEFI specification. +UEFI specification [UEFI]_.
This specification defines the boot and runtime services for a physical system, including services that are required for virtualization. diff --git a/source/chapter2-uefi.rst b/source/chapter2-uefi.rst index d13c19e..a8bd71e 100644 --- a/source/chapter2-uefi.rst +++ b/source/chapter2-uefi.rst @@ -2,21 +2,26 @@ UEFI ****
+This chapter discusses specific UEFI implementation details for EBBR compliant +platforms. + UEFI Version ============ - -Boot and system firmware for Arm embedded devices can be based on the UEFI -specification [UEFI]_, version 2.7 or later, incorporating the AArch64 bindings. +This document uses version 2.7 of the UEFI specification [UEFI]_.
UEFI Compliance ===============
-Any UEFI-compliant system must follow the requirements that are laid out in -section 2.6 of the UEFI specification [UEFI]_. -However, to ensure a common boot architecture for embedded-class, systems -compliant with this specification must always provide the UEFI services and -protocols that are listed in Appendix A, Appendix B, and Appendix C of this -document. +EBBR compliant platforms shall conform to the requirements in [UEFI]_ ยง 2.6, +except where explicit exemptions are provided by this document. + +EBBR compliant platforms shall also implement the UEFI services and +protocols that are listed in :ref:appendix-uefi-requirements of this document. + +Block device partitioning +------------------------- + +The system firmware must implement support for MBR, GPT and El Torito partitioning.
UEFI System Environment and Configuration ========================================= @@ -50,12 +55,6 @@ UEFI-compliant Operating System. In this instance, the UEFI boot-time environment can be provided, as a virtualized service, by the hypervisor and not as part of the host firmware.
-System Volume Format --------------------- - -The system firmware must support all partitioning standards required -by the UEFI specification. - UEFI Boot Services ==================
Hi Grant,
On 6 July 2018 at 08:14, Grant Likely grant.likely@arm.com wrote:
Some of the language was ambiguous and it seemed like UEFI was optional. Tighten it up to be clear the EBBR requires UEFI and add some details about how EBBR informs how UEFI is used for embedded systems.
Can U-Boot be used, implementing these protocols? If so, can you add that information too so it is clear?
The block device partitioning section is also moved within the chapter so it doesn't appear as a subsection of the system environment section (which mainly talks about the CPU execution mode).
Signed-off-by: Grant Likely grant.likely@arm.com
source/appendix-a-uefi-features.rst | 2 ++ source/chapter1-about.rst | 17 ++++++++++------- source/chapter2-uefi.rst | 29 ++++++++++++++--------------- 3 files changed, 26 insertions(+), 22 deletions(-)
Regards, Simon
On 06/07/2018 23:03, Simon Glass wrote:
Hi Grant,
On 6 July 2018 at 08:14, Grant Likely grant.likely@arm.com wrote:
Some of the language was ambiguous and it seemed like UEFI was optional. Tighten it up to be clear the EBBR requires UEFI and add some details about how EBBR informs how UEFI is used for embedded systems.
Can U-Boot be used, implementing these protocols?
Yes. EBBR is primarily targetted at U-Boot platforms. UEFI is a spec, not an implementation, and U-Boot already has basic UEFI support implemented.
If so, can you add that information too so it is clear?
Will this do?
https://lists.linaro.org/pipermail/boot-architecture/2018-July/000716.html
g.
Hi Grant,
On 7 July 2018 at 04:11, Grant Likely grant.likely@arm.com wrote:
On 06/07/2018 23:03, Simon Glass wrote:
Hi Grant,
On 6 July 2018 at 08:14, Grant Likely grant.likely@arm.com wrote:
Some of the language was ambiguous and it seemed like UEFI was optional. Tighten it up to be clear the EBBR requires UEFI and add some details about how EBBR informs how UEFI is used for embedded systems.
Can U-Boot be used, implementing these protocols?
Yes. EBBR is primarily targetted at U-Boot platforms. UEFI is a spec, not an implementation, and U-Boot already has basic UEFI support implemented.
If so, can you add that information too so it is clear?
Will this do?
https://lists.linaro.org/pipermail/boot-architecture/2018-July/000716.html
OK yes I see, that is good, thanks
Regards, Simon
boot-architecture@lists.linaro.org