blob: f089a5ed6e06b11a12dbfbc9e8aa879d679bfa35 [file] [log] [blame]
laurenw-arm9a375e32019-12-09 16:08:00 -06001Change Log for Upcoming Release
2===============================
3
4This document contains a summary of the new features, changes, fixes and known
5issues to be included in the upcoming release of Trusted Firmware-A. The contents
6of this file will be moved to the collective change-log.rst file at the time of
7release code freeze.
8
9
10Upcoming Release Version 2.3
11----------------------------
12
13**Trusted Firmware-A Contributors,
14Please log all relevant new features, changes, fixes, and known issues for the
15upcoming release. For the CPU support, drivers, and tools sections please preface
16the log description with the relevant key word, example: "<CPU>: <CPU Support
17addition>". Use the RST format convention already used in the Change Log.**
18
19New Features
20^^^^^^^^^^^^
21
22- Arm Architecture
Olivier Depreza5e0a9a2020-03-26 11:16:46 +010023 - Add support for Armv8.4-SecEL2 extension through the SPCI defined SPMD/SPMC
24 components.
25 - Build option to support EL2 context save and restore in the secure world
26 (CTX_INCLUDE_EL2_REGS).
laurenw-arm9a375e32019-12-09 16:08:00 -060027 - Example: "Add support for Branch Target Identification (BTI)"
28
Olivier Depreza5e0a9a2020-03-26 11:16:46 +010029- BL-specific
30 - Enhanced BL2 bootloader flow to load secure partitions based on firmware
31 configuration data (fconf).
32
laurenw-arm9a375e32019-12-09 16:08:00 -060033- Build System
Madhukar Pappireddy46adb1b2020-01-28 12:41:20 -060034 - Add support for documentation build as a target in Makefile
Sandrine Bailleux1c00fc12020-03-11 09:46:20 +010035 - Add ``COT`` build option to select the chain of trust to use when the
36 Trusted Boot feature is enabled (default: ``tbbr``).
Olivier Depreza5e0a9a2020-03-26 11:16:46 +010037 - Added creation and injection of secure partition packages into the FIP.
38 - Build option to support SPMC component loading and run at S-EL1
39 or S-EL2 (SPMD_SPM_AT_SEL2).
laurenw-arm9a375e32019-12-09 16:08:00 -060040
41- CPU Support
42 - Example: "cortex-a55: Workaround for erratum 1221012"
Madhukar Pappireddy19febcd2020-03-20 01:32:32 -050043 - Use Speculation Barrier instruction for v8.5+ cores
laurenw-arm9a375e32019-12-09 16:08:00 -060044
45- Drivers
46 - Example: "console: Allow the console to register multiple times"
47
48- Libraries
49 - Example: "Introduce BTI support in Library at ROM (romlib)"
Louis Mayencourt2b839722020-02-26 13:49:09 +000050 - Add Firmware Configuration Framework (fconf).
Olivier Deprez4738d912020-03-26 10:10:52 +010051 - Add DebugFS functionality
laurenw-arm9a375e32019-12-09 16:08:00 -060052
53- New Platforms Support
54 - Example: "qemu/qemu_sbsa: New platform support added for QEMU SBSA platform"
55
56- Platforms
57 - Example: "arm/common: Introduce wrapper functions to setup secure watchdog"
Sandrine Bailleux1c00fc12020-03-11 09:46:20 +010058 - plat/arm: Add support for the new `dualroot` chain of trust.
Madhukar Pappireddy19febcd2020-03-20 01:32:32 -050059 - plat/arm/fvp: Add support for fconf in BL31 and SP_MIN. Populate power
60 domain desciptor dynamically by leveraging fconf APIs.
laurenw-arm9a375e32019-12-09 16:08:00 -060061
62- PSCI
63 - Example: "Adding new optional PSCI hook ``pwr_domain_on_finish_late``"
64
65- Security
66 - Example: "UBSAN support and handlers"
Sumit Gargc0c369c2019-11-15 18:47:53 +053067 - Add support for optional firmware encryption feature (experimental).
Sandrine Bailleux1c00fc12020-03-11 09:46:20 +010068 - Introduce a new `dualroot` chain of trust.
Madhukar Pappireddy19febcd2020-03-20 01:32:32 -050069 - aarch32: stop speculative execution past exception returns.
laurenw-arm9a375e32019-12-09 16:08:00 -060070
Olivier Depreza5e0a9a2020-03-26 11:16:46 +010071- SPCI
72 - Introduced the SPM Dispatcher (SPMD) component as a new standard service.
73
laurenw-arm9a375e32019-12-09 16:08:00 -060074- Tools
75 - Example: "fiptool: Add support to build fiptool on Windows."
76
77
78Changed
79^^^^^^^
80
81- Arm Architecture
82 - Example: "Refactor ARMv8.3 Pointer Authentication support code"
83
84- BL-Specific
85 - Example: "BL2: Invalidate dcache build option for BL2 entry at EL3"
86
87- Boot Flow
88 - Example: "Add helper to parse BL31 parameters (both versions)"
89
90- Drivers
91 - Example: "gicv3: Prevent pending G1S interrupt from becoming G0 interrupt"
92
93- Platforms
94 - Example: "arm/common: Shorten the Firmware Update (FWU) process"
95
96- PSCI
97 - Example: "PSCI: Lookup list of parent nodes to lock only once"
98
99- Secure Partition Manager (SPM)
100 - Example: "Move shim layer to TTBR1_EL1"
101
102- Security
103 - Example: "Refactor SPSR initialisation code"
104
105- Tools
Olivier Depreza5e0a9a2020-03-26 11:16:46 +0100106 - sptool updated to accomodate building secure partition packages.
laurenw-arm9a375e32019-12-09 16:08:00 -0600107 - Example: "cert_create: Remove RSA PKCS#1 v1.5 support"
108
109
110Resolved Issues
111^^^^^^^^^^^^^^^
112
113- Arm Architecture
114 - Example: "Fix restoration of PAuth context"
115
116- BL-Specific
117 - Example: "Fix BL31 crash reporting on AArch64 only platforms"
118
119- Build System
120 - Example: "Remove several warnings reported with W=2 and W=1"
121
122- Code Quality
123 - Example: "Unify type of "cpu_idx" across PSCI module"
124
125- CPU Support
126 - Example: "cortex-a12: Fix MIDR mask"
127
128- Drivers
129 - Example: "scmi: Fix wrong payload length"
130
131- Library Code
132 - Example: "libc: Fix memchr implementation"
133
134- Platforms
135 - Example: "rpi: rpi3: Fix compilation error when stack protector is enabled"
136
137- Security
138 - Example: "AArch32: Disable Secure Cycle Counter"
139
140Deprecations
141^^^^^^^^^^^^
142
143- Common Code
144 - Example: "Remove MULTI_CONSOLE_API flag and references to it"
145
146- Drivers
147 - Example: "console: Remove deprecated finish_console_register"
148
149- Secure Partition Manager (SPM):
150 - Example: "Prototype SPCI-based SPM (services/std_svc/spm) will be replaced
151 with alternative methods of secure partitioning support."
152
153Known Issues
154^^^^^^^^^^^^
155
156- Build System
157 - dtb: DTB creation not supported when building on a Windows host.
158
159 This step in the build process is skipped when running on a Windows host. A
160 known issue from the 1.6 release.
161
162- Platforms
163 - arm/juno: System suspend from Linux does not function as documented in the
164 user guide
165
166 Following the instructions provided in the user guide document does not
167 result in the platform entering system suspend state as expected. A message
168 relating to the hdlcd driver failing to suspend will be emitted on the
169 Linux terminal.
170
171 - mediatek/mt6795: This platform does not build in this release