Skip to content

Commit

Permalink
chapter3: recommend smccc >= 1.1
Browse files Browse the repository at this point in the history
This is to encourage implementing the `SMCCC_VERSION' function, which eases
discovery.

Suggested-by: Etienne Carrière <[email protected]>
Signed-off-by: Vincent Stehlé <[email protected]>
  • Loading branch information
vstehle committed Feb 27, 2024
1 parent 4cea232 commit c92bdca
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
18 changes: 12 additions & 6 deletions source/chapter3-secureworld.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,31 @@ At `ExitBootServices()` time, all secondary CPUs must be parked or powered off.
AArch64 Multiprocessor Startup Protocol
=======================================
On AArch64 platforms, Firmware resident in Trustzone EL3 must implement and
conform to the Power State Coordination Interface specification [PSCI]_.
conform to the Power State Coordination Interface specification [PSCI]_ and to
the SMC Calling Convention [SMCCC]_.

Platforms without EL3 must implement one of:

- PSCI at EL2 (leaving only EL1 available to an operating system)
- PSCI and SMCCC at EL2 (leaving only EL1 available to an operating system)
- Linux AArch64 spin tables [LINUXA64BOOT]_ (Devicetree only)

However, the spin table protocol is strongly discouraged.
Future versions of this specification will only allow PSCI, and PSCI should
be implemented in all new designs.
Future versions of this specification will only allow PSCI and SMCCC, and they
should be implemented in all new designs.

It is recommended that firmware implementing PSCI supports version 1.0 or later.
[#PSCINote]_
It is recommended that firmware implementing PSCI supports version 1.0 or later
[#PSCINote]_ and that firmware implementing SMCCC supports version 1.1 or later
[#SMCCCNote]_.

.. [#PSCINote]
PSCI version 1.0 is considered as an errata fix release for version 0.2,
where functions interfaces have been stabilized.
It also introduced the `PSCI_FEATURES` function, for standardized discovery.
.. [#SMCCCNote]
Starting with SMCCC version 1.1, support for the `SMCCC_VERSION` function is
required, for standardized discovery.
RISC-V Multiprocessor Startup Protocol
======================================
The resident firmware in M mode or hypervisor running in HS mode must implement
Expand Down
4 changes: 4 additions & 0 deletions source/references.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
<https://developer.arm.com/documentation/den0022/f>`_
July 2023, `Arm Limited <https://www.arm.com/>`_
.. [SMCCC] `SMC Calling Convention version F.
<https://developer.arm.com/documentation/den0028/f>`_
Dec 2023, `Arm Limited <https://www.arm.com/>`_
.. [ArmBBR] `Arm Base Boot Requirements specification Issue G (v2.0)
<https://developer.arm.com/documentation/den0044/g>`_
15 Apr 2022, `Arm Limited <https://www.arm.com/>`_
Expand Down

0 comments on commit c92bdca

Please sign in to comment.