Change Log for Upcoming Release =============================== This document contains a summary of the new features, changes, fixes and known issues to be included in the upcoming release of Trusted Firmware-A. The contents of this file will be moved to the collective change-log.rst file at the time of release code freeze. Upcoming Release Version 2.3 ---------------------------- **Trusted Firmware-A Contributors, Please log all relevant new features, changes, fixes, and known issues for the upcoming release. For the CPU support, drivers, and tools sections please preface the log description with the relevant key word, example: ": ". Use the RST format convention already used in the Change Log.** New Features ^^^^^^^^^^^^ - Arm Architecture - Add support for Armv8.4-SecEL2 extension through the SPCI defined SPMD/SPMC components. - Build option to support EL2 context save and restore in the secure world (CTX_INCLUDE_EL2_REGS). - Example: "Add support for Branch Target Identification (BTI)" - BL-specific - Enhanced BL2 bootloader flow to load secure partitions based on firmware configuration data (fconf). - Build System - Add support for documentation build as a target in Makefile - Add ``COT`` build option to select the chain of trust to use when the Trusted Boot feature is enabled (default: ``tbbr``). - Added creation and injection of secure partition packages into the FIP. - Build option to support SPMC component loading and run at S-EL1 or S-EL2 (SPMD_SPM_AT_SEL2). - CPU Support - Example: "cortex-a55: Workaround for erratum 1221012" - Drivers - Example: "console: Allow the console to register multiple times" - Libraries - Example: "Introduce BTI support in Library at ROM (romlib)" - Add Firmware Configuration Framework (fconf). - Add DebugFS functionality - New Platforms Support - Example: "qemu/qemu_sbsa: New platform support added for QEMU SBSA platform" - Platforms - Example: "arm/common: Introduce wrapper functions to setup secure watchdog" - plat/arm: Add support for the new `dualroot` chain of trust. - PSCI - Example: "Adding new optional PSCI hook ``pwr_domain_on_finish_late``" - Security - Example: "UBSAN support and handlers" - Add support for optional firmware encryption feature (experimental). - Introduce a new `dualroot` chain of trust. - SPCI - Introduced the SPM Dispatcher (SPMD) component as a new standard service. - Tools - Example: "fiptool: Add support to build fiptool on Windows." Changed ^^^^^^^ - Arm Architecture - Example: "Refactor ARMv8.3 Pointer Authentication support code" - BL-Specific - Example: "BL2: Invalidate dcache build option for BL2 entry at EL3" - Boot Flow - Example: "Add helper to parse BL31 parameters (both versions)" - Drivers - Example: "gicv3: Prevent pending G1S interrupt from becoming G0 interrupt" - Platforms - Example: "arm/common: Shorten the Firmware Update (FWU) process" - PSCI - Example: "PSCI: Lookup list of parent nodes to lock only once" - Secure Partition Manager (SPM) - Example: "Move shim layer to TTBR1_EL1" - Security - Example: "Refactor SPSR initialisation code" - Tools - sptool updated to accomodate building secure partition packages. - Example: "cert_create: Remove RSA PKCS#1 v1.5 support" Resolved Issues ^^^^^^^^^^^^^^^ - Arm Architecture - Example: "Fix restoration of PAuth context" - BL-Specific - Example: "Fix BL31 crash reporting on AArch64 only platforms" - Build System - Example: "Remove several warnings reported with W=2 and W=1" - Code Quality - Example: "Unify type of "cpu_idx" across PSCI module" - CPU Support - Example: "cortex-a12: Fix MIDR mask" - Drivers - Example: "scmi: Fix wrong payload length" - Library Code - Example: "libc: Fix memchr implementation" - Platforms - Example: "rpi: rpi3: Fix compilation error when stack protector is enabled" - Security - Example: "AArch32: Disable Secure Cycle Counter" Deprecations ^^^^^^^^^^^^ - Common Code - Example: "Remove MULTI_CONSOLE_API flag and references to it" - Drivers - Example: "console: Remove deprecated finish_console_register" - Secure Partition Manager (SPM): - Example: "Prototype SPCI-based SPM (services/std_svc/spm) will be replaced with alternative methods of secure partitioning support." Known Issues ^^^^^^^^^^^^ - Build System - dtb: DTB creation not supported when building on a Windows host. This step in the build process is skipped when running on a Windows host. A known issue from the 1.6 release. - Platforms - arm/juno: System suspend from Linux does not function as documented in the user guide Following the instructions provided in the user guide document does not result in the platform entering system suspend state as expected. A message relating to the hdlcd driver failing to suspend will be emitted on the Linux terminal. - mediatek/mt6795: This platform does not build in this release