Skip to content

Complete Pj-specific TE move to separatate spec#85

Open
jmarinho wants to merge 1 commit into
mainfrom
move_TEs_to_project_specific_spec
Open

Complete Pj-specific TE move to separatate spec#85
jmarinho wants to merge 1 commit into
mainfrom
move_TEs_to_project_specific_spec

Conversation

@jmarinho
Copy link
Copy Markdown
Contributor

@jmarinho jmarinho commented Jan 6, 2026

The TEs specific to a project (or a small collection or projects) were moved to a separate spec
(https://github.com/FirmwareHandoff/ProjectEntries).

The main FW Handoff spec only carries the tag id list for those TEs. Any new TE declared in the separate spec, must have its tag id listed in the main FW Handoff spec.

Change-Id: If718d948dc4cd4d87d537474538f0ea64865b0e9

Copy link
Copy Markdown
Contributor

@danh-arm danh-arm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to take care that the TEs in the other repo are sync'd with this one when we merge this.

Comment thread source/references.rst Outdated

.. [SPMCATTR] `The SPMC manifest v2.12: <https://hafnium.readthedocs.io/en/v2.12.0/secure-partition-manager/secure-partition-manager.html#spmc-manifest>`__

.. [FWH_Project_Entries] `Firmware Handoff Project Entries <https://github.com/FirmwareHandoff/ProjectEntries>`__ No newline at end of file
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the ProjectEntries repo name is too generic. Suggest ProjectTransferEntries or ProjectTEs.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed the repo to ProjectTEs (https://github.com/FirmwareHandoff/ProjectTEs) and updated this reference.

Comment thread source/transfer_list.rst Outdated
Comment thread source/transfer_list.rst Outdated

* - :ref:`0x109 <tab_gpt_info>`
* - 0x109
- GPT Error Info
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be more maintainable if you just reserve out the TagID ranges in this spec rather than summarising the TagIDs and their names. It might be good to reserve out a larger block now to avoid updating this spec when adding new TF TEs.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed the table to list the ranges in ProjectTEs.

Comment thread source/transfer_list.rst Outdated
- data_size
- hdr_size
- The `gpt_error_info` field contains GPT error information.
Whenever a new project specific transfer entry is declared in the ancillary specification [FWH_Project_Entries]_, its tag id must be documented in :numref:`tab_entries_summary`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you take my other comment than you can change this to say that this spec must be updated when that spec defines a new TE outside the reserved range(s).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated to:
"Whenever a new tag id range is declared in the ancillary specification [FWH_Project_Entries]_, or an existing tag id range is extended, :numref:tab_entries_summary must be updated accordingly."

@jmarinho jmarinho force-pushed the move_TEs_to_project_specific_spec branch from 7aec2fc to 7fa1312 Compare January 22, 2026 11:35
@jmarinho jmarinho force-pushed the move_TEs_to_project_specific_spec branch from 7fa1312 to 3a5d521 Compare March 26, 2026 14:28
Comment thread source/transfer_list.rst Outdated
.. list-table:: GPT info type layout
:widths: 2 2 2 8
.. _tab_entries_summary:
.. list-table:: List of tag ids ranges in the Project Specific Entries ancillary specification
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: tag ID ranges

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment thread source/transfer_list.rst Outdated
- Size (bytes)
- Offset (bytes)
- Description
The following tag id ranges are used by that specification.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: /id/ID

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment thread source/transfer_list.rst Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be deleted or changed to project specific entries.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed line 598, rewrote it as "Project Specific Entries (:numref:project_specific_entries)."

@jmarinho jmarinho force-pushed the move_TEs_to_project_specific_spec branch from 3a5d521 to a4c1c37 Compare March 30, 2026 15:36
Comment thread source/references.rst Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to clean up these dangling references:

checking consistency... /workspaces/tf-a-projects/fw-handoff/core-spec/source/references.rst:24: WARNING: Citation [OPTEECore] is not referenced.
/workspaces/tf-a-projects/fw-handoff/core-spec/source/references.rst:26: WARNING: Citation [TFAFFAMB] is not referenced.
/workspaces/tf-a-projects/fw-handoff/core-spec/source/references.rst:30: WARNING: Citation [TF_BL31] is not referenced.
/workspaces/tf-a-projects/fw-handoff/core-spec/source/references.rst:32: WARNING: Citation [SPMCATTR] is not referenced.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment thread source/transfer_list.rst Outdated
- data_size
- hdr_size
- The `gpt_error_info` field contains GPT error information.
Whenever a new tag id range is declared in the ancillary specification [FWH_Project_Entries]_, or an existing tag id range is extended, :numref:`tab_entries_summary` must be updated accordingly.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: same on this line /id/ID

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@jmarinho jmarinho force-pushed the move_TEs_to_project_specific_spec branch from a4c1c37 to 63f2b0d Compare March 30, 2026 17:00
The TEs specific to a project (or a small collection or projects) were
moved to a separate spec
(https://github.com/FirmwareHandoff/ProjectTEs).

The main FW Handoff spec only carries the tag id range list for those TEs.
Any new tag id range declared in the separate spec, must be documented in
the main FW Handoff spec.

Change-Id: If718d948dc4cd4d87d537474538f0ea64865b0e9
Signed-off-by: Jose Marinho <jose.marinho@arm.com>
@jmarinho jmarinho force-pushed the move_TEs_to_project_specific_spec branch from 63f2b0d to ef5f42e Compare March 30, 2026 17:01
Comment thread source/transfer_list.rst
- 0x4
- The size of the GPT error information in bytes, it is always 1 byte.
* - 0x100 -- 0x109
- TF-A and Arm ecosystem Secure World Software Transfer Entries
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two thoughts on this. First, should we broaden this into a more general “Arm Firmware” range? Over time, we’ll likely want to include entries beyond Secure World software (for example, RMM). Second, I’m not sure whether we should allocate a few more slots within this range. The spec does recommend grouping tag IDs into logical clusters at 16- or 256-aligned boundaries.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

on the first point, my 2 cents is to rename this when other projects request new ranges.

On the second point, I agree with extending the reservation to 256 for the Secure World TE range, will let @danh-arm and @manish-pandey-arm comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants