From: "Prachotan Bathi via groups.io" <prachotan.bathi=arm.com@groups.io>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>, Jose Marinho <Jose.Marinho@arm.com>
Subject: [edk2-devel] [staging/firmwarehandoff PATCH v1 1/1] Branch to implement and migrate to Firmware Handoff for ARM Platforms
Date: Mon, 2 Dec 2024 20:01:31 +0000 [thread overview]
Message-ID: <DU5PR08MB1041382462CFCF678E4306D99EF352@DU5PR08MB10413.eurprd08.prod.outlook.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4064 bytes --]
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): https://edk2.groups.io/g/devel/message/120854
Mute This Topic: https://groups.io/mt/109887505/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 17244 bytes --]
reply other threads:[~2024-12-02 20:01 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DU5PR08MB1041382462CFCF678E4306D99EF352@DU5PR08MB10413.eurprd08.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox