change-log-upcoming.rst 5.24 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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: "<CPU>: <CPU Support
addition>".  Use the RST format convention already used in the Change Log.**

New Features
^^^^^^^^^^^^

- Arm Architecture
23
24
25
26
   - 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).
27
28
   - Example: "Add support for Branch Target Identification (BTI)"

29
30
31
32
- BL-specific
   - Enhanced BL2 bootloader flow to load secure partitions based on firmware
     configuration data (fconf).

33
- Build System
34
   - Add support for documentation build as a target in Makefile
35
36
   - Add ``COT`` build option to select the chain of trust to use when the
     Trusted Boot feature is enabled (default: ``tbbr``).
37
38
39
   - 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).
40
41
42

- CPU Support
   - Example: "cortex-a55: Workaround for erratum 1221012"
43
   - Use Speculation Barrier instruction for v8.5+ cores
44
45
46
47
48
49

- Drivers
   - Example: "console: Allow the console to register multiple times"

- Libraries
   - Example: "Introduce BTI support in Library at ROM (romlib)"
Louis Mayencourt's avatar
Louis Mayencourt committed
50
   - Add Firmware Configuration Framework (fconf).
51
   - Add DebugFS functionality
52
53
54
55
56
57

- 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"
58
   - plat/arm: Add support for the new `dualroot` chain of trust.
59
60
   - plat/arm/fvp: Add support for fconf in BL31 and SP_MIN. Populate power
     domain desciptor dynamically by leveraging fconf APIs.
61
62
63
64
65
66

- PSCI
   - Example: "Adding new optional PSCI hook ``pwr_domain_on_finish_late``"

- Security
   - Example: "UBSAN support and handlers"
67
   - Add support for optional firmware encryption feature (experimental).
68
   - Introduce a new `dualroot` chain of trust.
69
   - aarch32: stop speculative execution past exception returns.
70

71
72
73
- SPCI
   - Introduced the SPM Dispatcher (SPMD) component as a new standard service.

74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
- 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
106
   - sptool updated to accomodate building secure partition packages.
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
   - 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