Bump version number and update changelog
Update the release notes & changelog page, and bump version numbers.
Change-Id: Ie90f46a8dbd9742fe34fe4bda7180b03731c3e8a
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
diff --git a/docs/global_substitutions.txt b/docs/global_substitutions.txt
index 8011fc6..9493013 100644
--- a/docs/global_substitutions.txt
+++ b/docs/global_substitutions.txt
@@ -12,6 +12,8 @@
.. |PSA| replace:: :term:`PSA`
.. |FF-A| replace:: :term:`FF-A`
.. |TRUSTZONE| replace:: :term:`TrustZone`
+.. |NWd| replace: :term:`Normal World`
+.. |SWd| replace: :term:`Secure World`
.. _`TS Mailing List`: https://lists.trustedfirmware.org/mailman3/lists/trusted-services.lists.trustedfirmware.org/
.. _`TS repository`: https://review.trustedfirmware.org/admin/repos/TS/trusted-services
diff --git a/docs/project/change-log.rst b/docs/project/change-log.rst
index 33dcf42..a4ca47a 100644
--- a/docs/project/change-log.rst
+++ b/docs/project/change-log.rst
@@ -4,6 +4,88 @@
This document contains a summary of the new features, changes, fixes and known issues in each release of Trusted
Services.
+Version 1.0.0
+-------------
+
+The first stabilised release of the project from previously prototype releases ready for product use.
+
+Feature Highlights
+^^^^^^^^^^^^^^^^^^
+
+- Introduce the :doc:`Block Storage Service </services/block-storage-service-description>`. The Block Storage service
+ can be used to share a block-oriented storage device such as a QSPI flash between a set of independent secure world
+ clients.
+
+- Introduce the :doc:`Firmware Update Service </services/fwu/index>`. The FWU service implements the Update Agent
+ defined in the `Arm FWU-A specification`_ and allows replacing FW components with newer versions.
+
+- Refactor FF-A UUID policy. Reinterpret the FF-A UUID to identify the protocol supported by TS SP instead of the
+ service. This removes the maintenance burden of keeping an up to date UUID list in the service locator. All SPs start
+ using the same protocol UUID, and implement a new discovery service (see the next point).
+
+- Overhaul the RPC protocol. The main driver is to remove the single shared memory region limitation, which does not
+ allow separating shared regions of clients running over Linux in the user-space. The second driver is to add
+ versioning support to the RPC layer.
+
+ - Allow multiple shared memory regions between endpoints.
+ - Implement the discovery service in the RPC layer.
+ - Allow assigning a UUID to interfaces. This mechanism replaces the protocol identifier used earlier. Each protocol
+ of a service is represented as a dedicated interface.
+ - Add versioning support to the RPC layer.
+
+- Refactor the discovery service. The is removing the runtime overhead of memory sharing during the discovery and
+ decreases code size and duplication using the same code for service discovery.
+
+ - Implement the discovery service in the RPC layer for efficiency reasons.
+ - Implement service identity discovery for all services.
+ - Remove the encoding type entity and use service UUIDs to represent the serialization type.
+ - Service property discovery is to be implemented in the future.
+
+- Add support for the Corstone-1000 platform. For more information about this platform please see: `Corstone-1000 product homepage`_
+
+- SPs now indicate support of :term:`Normal World` interrupt preemption capability in their SP manifest and allow the SPMC to enable
+ preemption if possible. This removes NWd interrupts being disabled for long periods due to long service calls.
+
+- Add support for the Armv8-A CRC32 feature for :term:`Secure World` and :term:`Normal World` components.
+
+- Extend FF-A support with:
+
+ - FF-A v1.1 boot protocol between the SPM and SPs.
+ - FF-A v1.2 FFA_CONSOLE_LOG call. This allows SPs to emit log messages in an SPMC agonistic way.
+
+- Improve the build system to allow setting the build steps of external components to be verbose.
+
+- Add support for runtime (dynamic) psa-acs test case configuration.
+
+Updated external components
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- MbedTLS version integration into the Crypto service is updated to v3.4.0.
+- The PSA Arch test is updated to version `74dc6646ff594e131a726a5305aba77bac30eceb`.
+
+Breaking changes
+^^^^^^^^^^^^^^^^
+
+- The new RPC ABI is not backwards compatible and needs recent version of all depending components.
+
+Resolved issues
+^^^^^^^^^^^^^^^
+
+- The new RPC version allows having multiple shared memory regions between endpoints. This allows each NWd client
+ running in Linux user-space to use a dedicated buffer.
+
+Known limitations
+^^^^^^^^^^^^^^^^^
+
+ - Crypto key store partitioning by client is not yet supported. This means multiple clients running at the same FF-A
+ endpoint use a shared key space.
+ - The full firmware update process implementation and testing is work-in-progress. The FWU process relies on the
+ cooperation of multiple FW components owned by multiple FW projects. Some 3rd party components do not implement the
+ needed features yet and thus, the FWU service was validated in "isolation" and exercised by TS test on the FVP
+ platform and on the host PC only.
+ - Service property discovery is not implemented yet.
+ - Discovering the maximum payload size of a service is not supported yet and buffer sizes are hardcoded.
+
Version 1.0.0-Beta
------------------
@@ -57,14 +139,12 @@
- Non-volatile backend secure storage is not currently provided.
-
Test Report
^^^^^^^^^^^
Please find the Test Report covering this release in the `tf.org wiki`_.
-
--------------
.. _`FF-A Specification v1.0`: https://developer.arm.com/documentation/den0077/a
@@ -75,7 +155,9 @@
.. _`AEM FVP`: https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_11.18_16_Linux64.tgz
.. _`PSA API certification tests`: https://github.com/ARM-software/psa-arch-tests
.. _`OP-TEE git repo documentation`: https://optee.readthedocs.io/en/latest/building/gits/build.html
+.. _`Corstone-1000 product homepage`: https://developer.arm.com/Processors/Corstone-1000
+.. _`Arm FWU-A specification`: https://developer.arm.com/documentation/den0118
-*Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.*
+*Copyright (c) 2020-2023, Arm Limited and Contributors. All rights reserved.*
SPDX-License-Identifier: BSD-3-Clause
diff --git a/docs/project/glossary.rst b/docs/project/glossary.rst
index 55b17f7..ec79dbc 100644
--- a/docs/project/glossary.rst
+++ b/docs/project/glossary.rst
@@ -29,6 +29,21 @@
FF-A
`Firmware Framework for A`_
+ Normal World
+ The rich execution environment running the "business logic" of the device. NWd is separated by hardware
+ technology (e.g. see :term:`TrustZone`) from components which are managing sensitive information. See
+ :term:`Secure World`.
+
+ NWd
+ See :term:`Normal World`.
+
+ Secure World
+ Hardware isolated execution environment executing specially crafted software managing sensitive data. On Arm
+ devices :term:`TrustZone` technology can be used to implement the needed isolation.
+
+ SWd
+ See :term:`Secure World`.
+
TEE
Trusted Execution Environment. An SPE implemented using TrustZone.
@@ -40,7 +55,7 @@
Secure Processing Environment
An isolated environment to execute software images backed by a specific set of hardware and arm architecture
- features. The aim of isolation os to protect sensitive workloads and their assets.
+ features. The aim of isolation is to protect sensitive workloads and their assets.
SP
see :term:`Secure Partition`