This branch introduces a new staging branch for Firmware Handoff
specification to:
- Implement the specification and introduce TransferList support for
ARM platforms in edk2.
- Migrate existing hand-off procedures to now use the standardized
TransferList.

More description in the readme.

Please create the following branches:
1. edk2-staging repo
URL: https://github.com/tianocore/edk2-staging.git
Branch Name: firmwarehandoff

2. edk2-platforms repo
URL: https://github.com/tianocore/edk2-platforms.git
Branch Name: devel-firmwarehandoff

Signed-off-by: Prachotan Bathi <prachotan.bathi@arm.com>
---
 readme.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 readme.md

diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000000..9165d19319
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,47 @@
+# Firmware Handoff
+
+## Introduction
+
+The [Firmware Handoff Specification](https://firmwarehandoff.github.io/firmware_handoff/) defines a data structure (Transfer List) which facilitates handing off information between different firmware stages involved in platform initialization.
+
+The Firmware Handoff Specification is defined for ARM architecture (both AArch32 and AArch64) and is currently implemented in [ARM-Trusted Firmware](https://trustedfirmware-a.readthedocs.io/en/latest/getting_started/build-options.html#:~:text=)%20by%20default.-,TRANSFER_LIST,-%3A%20Setting%20this%20to) . This branch will be used to:
+
+- Implement the specification and introduce TransferList support for ARM platforms in edk2.
+- Migrate existing hand-off procedures to now use the standardized TransferList
+
+## Goals
+
+- Streamline adoption by ARM platforms
+- Minimize impact of migration and enable backward compatibility where possible
+- Reuse common code and a standardized library
+
+## Key Features
+
+1. Standardized Information Passing:
+    - Establishes a well-defined and scalable data structure (a TransferList (TL) containing TransferList Entries (TEs))
+    - Allows information to be propagated and accumulated as the system boots
+2. Register Usage Standardization:
+    - Defines the usage of scratch registers (e.g., x0-x3) at handoff boundaries
+    - Ensures consistency across different firmware implementations
+
+## Benefits
+
+By implementing this specification, we aim to:
+
+1. Improve interoperability between different boot stages and firmware implementations
+2. Simplify the process of passing critical system information during boot
+3. Provide a flexible framework that can accommodate future extensions and requirement.
+
+# Guidelines for submitting patches
+
+1. Follow the standard edk2 coding guidelines for preparing patches. <BR>
+   The edk2-staging guidelines can be found at
+   <https://github.com/tianocore/edk2-staging>
+
+2. To submit a patch for edk2-staging repo include the branch name in
+   the subject line of the commit message. <BR>
+   e.g. **[staging/firmwarehandoff PATCH v<*n*> <x/y>]: Package/Module: Subject**
+
+3. To submit a patch for edk2-platforms staging repo include the branch
+   name in the subject line of the commit message. <BR>
+   e.g. **[platforms/devel-firmwarehandoff PATCH v<*n*> <x/y>]: Package/Module: Subject**
\ No newline at end of file
-- 
2.34.1

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#120854) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_