Lines Matching +full:broadcom +full:- +full:rpi4

4 issues in each release of Trusted Firmware-A.
6 ## 2.6 (2021-11-22)
10 - **Architecture**
12 - **Activity Monitors Extension (FEAT_AMU)**
14 - The public AMU API has been reduced to enablement only
17 …s ([b4b726e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b4b726ea…
19 - The `PLAT_AMU_GROUP1_COUNTERS_MASK` platform definition
20 has been removed. Platforms should specify per-core AMU counter masks
21 via FCONF or a platform-specific mechanism going forward.
23 …` ([6c8dda1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c8dda19…
25 - **Libraries**
27 - **FCONF**
29 - FCONF is no longer added to BL1 and BL2 automatically
34 …n ([e04da4c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e04da4c8…
36 - **Drivers**
38 - **Arm**
40 - **Ethos-N**
42 - multi-device support
44 …**See:** multi-device support ([1c65989](https://review.trustedfirmware.org/plugins/gitiles/TF-A/t…
48 - **Architecture**
50 - **Activity Monitors Extension (FEAT_AMU)**
52- enable per-core AMU auxiliary counters ([742ca23](https://review.trustedfirmware.org/plugins/git…
54 - **Support for the `HCRX_EL2` register (FEAT_HCX)**
56- add build option to enable FEAT_HCX ([cb4ec47](https://review.trustedfirmware.org/plugins/gitile…
58 - **Scalable Matrix Extension (FEAT_SME)**
60- enable SME functionality ([dc78e62](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
62 - **Scalable Vector Extension (FEAT_SVE)**
64- enable SVE for the secure world ([0c5e7d1](https://review.trustedfirmware.org/plugins/gitiles/TF
66 - **Trace Buffer Extension (FEAT_TRBE)**
68- enable access to trace buffer control registers from lower NS EL ([813524e](https://review.trust…
69- initialize trap settings of trace buffer control registers access ([40ff907](https://review.trus…
71 - **Self-hosted Trace Extensions (FEAT_TRF)**
73- enable trace system registers access from lower NS ELs ([d4582d3](https://review.trustedfirmware…
74- initialize trap settings of trace system registers access ([2031d61](https://review.trustedfirmw…
75- enable trace filter control register access from lower NS EL ([8fcd3d9](https://review.trustedfi…
76- initialize trap settings of trace filter control registers access ([5de20ec](https://review.trus…
78 - **RME**
80- add context management changes for FEAT_RME ([c5ea4f8](https://review.trustedfirmware.org/plugin…
81- add ENABLE_RME build option and support for RMM image ([5b18de0](https://review.trustedfirmware.…
82- add GPT Library ([1839012](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmw…
83- add Realm security state definition ([4693ff7](https://review.trustedfirmware.org/plugins/gitile…
84- add register definitions and helper functions for FEAT_RME ([81c272b](https://review.trustedfirm…
85- add RMM dispatcher (RMMD) ([77c2775](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
86- add Test Realm Payload (TRP) ([50a3056](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
87- add xlat table library changes for FEAT_RME ([3621823](https://review.trustedfirmware.org/plugin…
88- disable Watchdog for Arm platforms if FEAT_RME enabled ([07e96d1](https://review.trustedfirmware…
89- run BL2 in root world when FEAT_RME is enabled ([6c09af9](https://review.trustedfirmware.org/plu…
91 - **Platforms**
93 - **Allwinner**
95- add R329 support ([13bacd3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firm…
97 - **Arm**
99- add FWU support in Arm platforms ([2f1177b](https://review.trustedfirmware.org/plugins/gitiles/T…
100- add GPT initialization code for Arm platforms ([deb4b3a](https://review.trustedfirmware.org/plug…
101- add GPT parser support ([ef1daa4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
102- enable PIE when RESET_TO_SP_MIN=1 ([7285fd5](https://review.trustedfirmware.org/plugins/gitiles/…
104 - **FPGA**
106- add ITS autodetection ([d7e39c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted
107- add kernel trampoline ([de9fdb9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted
108- determine GICR base by probing ([93b785f](https://review.trustedfirmware.org/plugins/gitiles/TF-
109- query PL011 to learn system frequency ([d850169](https://review.trustedfirmware.org/plugins/giti…
110- support GICv4 images ([c69f815](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
111- write UART baud base clock frequency into DTB ([422b44f](https://review.trustedfirmware.org/plug…
113 - **FVP**
115- enable external SP images in BL2 config ([33993a3](https://review.trustedfirmware.org/plugins/gi…
116- add memory map for FVP platform for FEAT_RME ([c872072](https://review.trustedfirmware.org/plugi…
117- add RMM image support for FVP platform ([9d870b7](https://review.trustedfirmware.org/plugins/git…
118- enable trace extension features by default ([cd3f0ae](https://review.trustedfirmware.org/plugins…
119- pass Event Log addr and size from BL1 to BL2 ([0500f44](https://review.trustedfirmware.org/plugi…
121 - **FVP-R**
123 - support for TB-R has been added
124- configure system registers to boot rich OS ([28bbbf3](https://review.trustedfirmware.org/plugins…
126 - **RD**
128 - **RD-N2**
130- add support for variant 1 of rd-n2 platform ([fe5d5bb](https://review.trustedfirmware.org/plugin…
131- add tzc master source ids for soc dma ([3139270](https://review.trustedfirmware.org/plugins/giti…
133 - **SGI**
135- add CPU specific handler for Neoverse N2 ([d932a58](https://review.trustedfirmware.org/plugins/g…
136- add CPU specific handler for Neoverse V1 ([cbee43e](https://review.trustedfirmware.org/plugins/g…
137- increase max BL2 size ([7186a29](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted
138- enable AMU for RD-V1-MC ([e8b119e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
139- enable use of PSCI extended state ID format ([7bd64c7](https://review.trustedfirmware.org/plugin…
140- introduce platform variant build option ([cfe1506](https://review.trustedfirmware.org/plugins/gi…
142 - **TC**
144- enable MPMM ([c19a82b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-
145- Enable SVE for both secure and non-secure world ([10198ea](https://review.trustedfirmware.org/pl…
146- populate HW_CONFIG in BL31 ([34a87d7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
147- introduce TC1 platform ([6ec0c65](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
148- add DRAM2 to TZC non-secure region ([76b4a6b](https://review.trustedfirmware.org/plugins/gitiles…
150- add bootargs node ([4a840f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-fir…
151- add cpu capacity to provide scheduling information ([309f593](https://review.trustedfirmware.org…
152- add Ivy partition ([a19bd32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-fir…
153- add support for trusted services ([ca93248](https://review.trustedfirmware.org/plugins/gitiles/T…
154- update Matterhorn ELP DVFS clock index ([a2f6294](https://review.trustedfirmware.org/plugins/git…
155- update mhuv2 dts node to align with upstream driver ([63067ce](https://review.trustedfirmware.or…
157 - **Diphda**
159- adding the diphda platform ([bf3ce99](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
160- disabling non volatile counters in diphda ([7f70cd2](https://review.trustedfirmware.org/plugins/…
161- enabling stack protector for diphda ([c7e4f1c](https://review.trustedfirmware.org/plugins/gitile…
163 - **Marvell**
165- introduce t9130_cex7_eval ([d01139f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
167 - **Armada**
169 - **A8K**
171- allow overriding default paths ([0b702af](https://review.trustedfirmware.org/plugins/gitiles/TF-
173 - **MediaTek**
175- enable software reset for CIRQ ([b3b162f](https://review.trustedfirmware.org/plugins/gitiles/TF-
177 - **MT8192**
179- add DFD control in SiP service ([5183e63](https://review.trustedfirmware.org/plugins/gitiles/TF-
181 - **MT8195**
183- add DFD control in SiP service ([3b994a7](https://review.trustedfirmware.org/plugins/gitiles/TF-
184- add display port control in SiP service ([7eb4223](https://review.trustedfirmware.org/plugins/gi…
185- remove adsp event from wakeup source ([c260b32](https://review.trustedfirmware.org/plugins/gitil…
186- add DCM driver ([49d3bd8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmwa…
187- add EMI MPU basic drivers ([75edd34](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
188- add SPM suspend driver ([859e346](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
189- add support for PTP3 ([0481896](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
190- add vcore-dvfs support ([d562130](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
191- support MCUSYS off when system suspend ([d336e09](https://review.trustedfirmware.org/plugins/git…
193 - **NXP**
195- add build macro for BOOT_MODE validation checking ([cd1280e](https://review.trustedfirmware.org/…
196- add CCI and EPU address definition ([6cad59c](https://review.trustedfirmware.org/plugins/gitiles…
197- add EESR register definition ([8bfb168](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
198- add SecMon register definition for ch_3_2 ([66f7884](https://review.trustedfirmware.org/plugins/…
199- define common macro for ARM registers ([35efe7a](https://review.trustedfirmware.org/plugins/giti…
200- define default PSCI features if not defined ([a204785](https://review.trustedfirmware.org/plugin…
201- define default SD buffer ([4225ce8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
203 - **i.MX**
205 - **i.MX 8M**
207- add sdei support for i.MX8MN ([ce2be32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
208- add sdei support for i.MX8MP ([6b63125](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
209- add SiP call for secondary boot ([9ce232f](https://review.trustedfirmware.org/plugins/gitiles/TF
210- add system_reset2 implementation ([60a0dde](https://review.trustedfirmware.org/plugins/gitiles/T…
212 - **i.MX 8M Mini**
214- enlarge BL33 (U-boot) size in FIP ([d53c9db](https://review.trustedfirmware.org/plugins/gitiles/…
216 - **i.MX 8M Plus**
218- add imx8mp_private.h to the build ([91566d6](https://review.trustedfirmware.org/plugins/gitiles/…
219- add in BL2 with FIP ([75fbf55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
220- add initial definition to facilitate FIP layout ([f696843](https://review.trustedfirmware.org/pl…
221- enable Trusted Boot ([a16ecd2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
223 - **Layerscape**
225- add ls1028a soc and board support ([52a1e9f](https://review.trustedfirmware.org/plugins/gitiles/…
227 - **LX2**
229- add SUPPORTED_BOOT_MODE definition ([28b3221](https://review.trustedfirmware.org/plugins/gitiles…
231 - **LS1028A**
233- add ls1028a soc support ([9d250f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
235 - **LS1028ARDB**
237- add ls1028ardb board support ([34e2112](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
239 - **QTI**
241 - **SC7280**
243- add support for pmk7325 ([b8a0511](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
244- support for qti sc7280 plat ([46ee50e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/t…
246 - **Renesas**
248 - **R-Car**
250- change process for Suspend To RAM ([731aa26](https://review.trustedfirmware.org/plugins/gitiles/…
252 - **R-Car 3**
254- add a DRAM size setting for M3N ([f95d551](https://review.trustedfirmware.org/plugins/gitiles/TF
255- add new board revision for Salvator-XS/H3ULCB ([4379a3e](https://review.trustedfirmware.org/plug…
256- add optional support for gzip-compressed BL33 ([ddf2ca0](https://review.trustedfirmware.org/plug…
257- add process of SSCG setting for R-Car D3 ([14f0a08](https://review.trustedfirmware.org/plugins/g…
258- add process to back up X6 and X7 register's value ([7d58aed](https://review.trustedfirmware.org/…
259- add SYSCEXTMASK bit set/clear in scu_power_up ([63a7a34](https://review.trustedfirmware.org/plug…
260- apply ERRATA_A53_1530924 and ERRATA_A57_1319537 ([2892fed](https://review.trustedfirmware.org/pl…
261- change the memory map for OP-TEE ([a4d821a](https://review.trustedfirmware.org/plugins/gitiles/T…
262- emit RPC status to DT fragment if RPC unlocked ([12c75c8](https://review.trustedfirmware.org/plu…
263- keep RWDT enabled ([8991086](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-fir…
264- modify LifeC register setting for R-Car D3 ([5460f82](https://review.trustedfirmware.org/plugins…
265- modify operation register from SYSCISR to SYSCISCR ([d10f876](https://review.trustedfirmware.org…
266- modify SWDT counter setting for R-Car D3 ([053c134](https://review.trustedfirmware.org/plugins/g…
267- remove access to RMSTPCRn registers in R-Car D3 ([71f2239](https://review.trustedfirmware.org/pl…
268- update DDR setting for R-Car D3 ([042d710](https://review.trustedfirmware.org/plugins/gitiles/TF
269- update IPL and Secure Monitor Rev.3.0.0 ([c5f5bb1](https://review.trustedfirmware.org/plugins/gi…
270- use PRR cut to determine DRAM size on M3 ([42ffd27](https://review.trustedfirmware.org/plugins/g…
272 - **ST**
274- add a new DDR firewall management ([4584e01](https://review.trustedfirmware.org/plugins/gitiles/…
275- add a USB DFU stack ([efbd65f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
276- add helper to save boot interface ([7e87ba2](https://review.trustedfirmware.org/plugins/gitiles/…
277- add STM32CubeProgrammer support on USB ([afad521](https://review.trustedfirmware.org/plugins/git…
278- add STM32MP_EMMC_BOOT option ([214c8a8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
279- create new helper for DT access ([ea97bbf](https://review.trustedfirmware.org/plugins/gitiles/TF
280- implement platform functions for SMCCC_ARCH_SOC_ID ([3d20178](https://review.trustedfirmware.org…
281- improve FIP image loading from MMC ([18b415b](https://review.trustedfirmware.org/plugins/gitiles…
282- manage io_policies with FCONF ([d5a84ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
283- use FCONF to configure platform ([29332bc](https://review.trustedfirmware.org/plugins/gitiles/TF
284- use FIP to load images ([1d204ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
286 - **ST32MP1**
288- add STM32MP_USB_PROGRAMMER target ([fa92fef](https://review.trustedfirmware.org/plugins/gitiles/…
289- add USB DFU support for STM32MP1 ([942f6be](https://review.trustedfirmware.org/plugins/gitiles/T…
291 - **Xilinx**
293 - **Versal**
295- add support for SLS mitigation ([302b4df](https://review.trustedfirmware.org/plugins/gitiles/TF-
297 - **ZynqMP**
299- add support for runtime feature config ([578f468](https://review.trustedfirmware.org/plugins/git…
300- sync IOCTL IDs ([38c0b25](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmwa…
301- add SDEI support ([4143268](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firm…
302- add support for XCK26 silicon ([7a30e08](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
303- extend DT description by TF-A ([0a8143d](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
305 - **Bootloader Images**
307- import BL_NOBITS_{BASE,END} when defined ([9aedca0](https://review.trustedfirmware.org/plugins/g…
309 - **Services**
311 - **FF-A**
313- adding notifications SMC IDs ([fc3f480](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
314- change manifest messaging method ([bb320db](https://review.trustedfirmware.org/plugins/gitiles/T…
315- feature retrieval through FFA_FEATURES call ([96b71eb](https://review.trustedfirmware.org/plugin…
316- update FF-A version to v1.1 ([e1c732d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/t…
317- add Ivy partition to tb fw config ([1bc02c2](https://review.trustedfirmware.org/plugins/gitiles/…
318- add support for FFA_SPM_ID_GET ([70c121a](https://review.trustedfirmware.org/plugins/gitiles/TF-
319- route secure interrupts to SPMC ([8cb99c3](https://review.trustedfirmware.org/plugins/gitiles/TF
321 - **Libraries**
323 - **CPU Support**
325- add support for Hayes CPU ([7bd8dfb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
326- add support for Hunter CPU ([fb9e5f7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
327- workaround for Cortex A78 AE erratum 1941500 ([47d6f5f](https://review.trustedfirmware.org/plugi…
328- workaround for Cortex A78 AE erratum 1951502 ([8913047](https://review.trustedfirmware.org/plugi…
330 - **MPMM**
332- add support for MPMM ([6812078](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
334 - **OP-TEE**
336- introduce optee_header_is_valid() ([b84a850](https://review.trustedfirmware.org/plugins/gitiles/…
338 - **PSCI**
340- require validate_power_state to expose CPU_SUSPEND ([a1d5ac6](https://review.trustedfirmware.org…
342 - **SMCCC**
344- add bit definition for SMCCC_ARCH_SOC_ID ([96b0596](https://review.trustedfirmware.org/plugins/g…
346 - **Drivers**
348 - **FWU**
350- add FWU metadata header and build options ([5357f83](https://review.trustedfirmware.org/plugins/…
351- add FWU driver ([0ec3ac6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmwa…
352- avoid booting with an alternate boot source ([4b48f7b](https://review.trustedfirmware.org/plugin…
353- avoid NV counter upgrade in trial run state ([c0bfc88](https://review.trustedfirmware.org/plugin…
354- initialize FWU driver in BL2 ([396b339](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
355- introduce FWU platform-specific functions declarations ([efb2ced](https://review.trustedfirmware…
357 - **I/O**
359 - **MTD**
361- offset management for FIP usage ([9a9ea82](https://review.trustedfirmware.org/plugins/gitiles/TF
363 - **Measured Boot**
365- add documentation to build and run PoC ([a125c55](https://review.trustedfirmware.org/plugins/git…
366- move init and teardown functions to platform layer ([47bf3ac](https://review.trustedfirmware.org…
367- image hash measurement and recording in BL1 ([48ba034](https://review.trustedfirmware.org/plugin…
368- update tb_fw_config with event log properties ([e742bcd](https://review.trustedfirmware.org/plug…
370 - **MMC**
372- boot partition read support ([5014b52](https://review.trustedfirmware.org/plugins/gitiles/TF-A/t…
374 - **MTD**
376 - **NAND**
378- count bad blocks before a given offset ([bc3eebb](https://review.trustedfirmware.org/plugins/git…
380 - **SCMI**
382- add power domain protocol ([7e4833c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
384 - **Arm**
386 - **Ethos-N**
388- multi-device support ([1c65989](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
390 - **GIC**
392 - **GICv3**
394- detect GICv4 feature at runtime ([858f40e](https://review.trustedfirmware.org/plugins/gitiles/TF
395- introduce GIC component identification ([73a643e](https://review.trustedfirmware.org/plugins/git…
396- multichip: detect GIC-700 at runtime ([feb7081](https://review.trustedfirmware.org/plugins/gitil…
398 - **GIC-600AE**
400- introduce support for Fault Management Unit ([2c248ad](https://review.trustedfirmware.org/plugin…
402 - **TZC**
404 - **TZC-400**
406- update filters by region ([ce7ef9d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
408 - **MediaTek**
410 - **APU**
412- add mt8192 APU device apc driver ([f46e1f1](https://review.trustedfirmware.org/plugins/gitiles/T…
413- add mt8192 APU iommap regions ([2671f31](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
414- add mt8192 APU SiP call support ([ca4c0c2](https://review.trustedfirmware.org/plugins/gitiles/TF
415- setup mt8192 APU_S_S_4 and APU_S_S_5 permission ([77b6801](https://review.trustedfirmware.org/pl…
417 - **EMI MPU**
419- add MPU support for DSP ([6c4973b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
421 - **NXP**
423 - **DCFG**
425- define RSTCR_RESET_REQ ([6c5d140](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
427 - **FLEXSPI**
429- add MT35XU02G flash info ([a4f5015](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
431 - **Renesas**
433 - **R-Car3**
435- add extra offset if booting B-side ([993d809](https://review.trustedfirmware.org/plugins/gitiles…
436- add function to judge a DDR rank ([726050b](https://review.trustedfirmware.org/plugins/gitiles/T…
438 - **ST**
440- manage boot part in io_mmc ([f3d2750](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
442 - **USB**
444- add device driver for STM32MP1 ([9a138eb](https://review.trustedfirmware.org/plugins/gitiles/TF-
446 - **USB**
448- add a USB device stack ([859bfd8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
450 - **Miscellaneous**
452 - **Debug**
454- add new macro ERROR_NL() to print just a newline ([fd1360a](https://review.trustedfirmware.org/p…
456 - **CRC32**
458 - **Hardware CRC32**
460- add support for HW computed CRC ([a1cedad](https://review.trustedfirmware.org/plugins/gitiles/TF
462 - **Software CRC32**
464- add software CRC32 support ([f216937](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
466 - **DT Bindings**
468- add STM32MP1 TZC400 bindings ([43de546](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
470 - **FDT Wrappers**
472- add CPU enumeration utility function ([2d9ea36](https://review.trustedfirmware.org/plugins/gitil…
474 - **FDTs**
476- add for_each_compatible_node macro ([ff76614](https://review.trustedfirmware.org/plugins/gitiles…
477- introduce wrapper function to read DT UUIDs ([d13dbb6](https://review.trustedfirmware.org/plugin…
478- add firewall regions into STM32MP1 DT ([86b43c5](https://review.trustedfirmware.org/plugins/giti…
479- add IO policies for STM32MP1 ([21e002f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
480- add STM32MP1 fw-config DT files ([d9e0586](https://review.trustedfirmware.org/plugins/gitiles/TF
482 - **STM32MP1**
484- align DT with latest kernel ([e8a953a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/t…
485- delete nodes for non-used boot devices ([4357db5](https://review.trustedfirmware.org/plugins/git…
487 - **NXP**
489 - **OCRAM**
491- add driver for OCRAM initialization ([10b1e13](https://review.trustedfirmware.org/plugins/gitile…
493 - **PSCI**
495- define CPUECTLR_TIMER_2TICKS ([3a2cc2e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
497 - **Dependencies**
499 - **libfdt**
501- also allow changing base address ([4d585fe](https://review.trustedfirmware.org/plugins/gitiles/T…
505 - **Architecture**
507 - **Platforms**
509- print newline before fatal abort error message ([a5fea81](https://review.trustedfirmware.org/plu…
511 - **Allwinner**
513- delay after enabling CPU power ([86a7429](https://review.trustedfirmware.org/plugins/gitiles/TF-
515 - **Arm**
517- correct UUID strings in FVP DT ([748bdd1](https://review.trustedfirmware.org/plugins/gitiles/TF-
518- fix a VERBOSE trace ([5869ebd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
519- remove unused memory node ([be42c4b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
521 - **FPGA**
523- allow build after MAKE_* changes ([9d38a3e](https://review.trustedfirmware.org/plugins/gitiles/T…
524- avoid re-linking from executable ELF file ([a67ac76](https://review.trustedfirmware.org/plugins/…
525- Change PL011 UART IRQ ([195381a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted
526- limit BL31 memory usage ([d457230](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
527- reserve BL31 memory ([13e16fe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
528- streamline generated axf file ([9177e4f](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
529- enable AMU extension ([d810e30](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
530- increase initrd size ([c3ce73b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
532 - **FVP**
534- fix fvp_cpu_standby() function ([3202ce8](https://review.trustedfirmware.org/plugins/gitiles/TF-
535- spmc optee manifest remove SMC allowlist ([183725b](https://review.trustedfirmware.org/plugins/g…
536- allow changing the kernel DTB load address ([672d669](https://review.trustedfirmware.org/plugins…
537- bump BL2 stack size ([d22f1d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
538- provide boot files via semihosting ([749d0fa](https://review.trustedfirmware.org/plugins/gitiles…
539- OP-TEE SP manifest per latest SPMC changes ([b7bc51a](https://review.trustedfirmware.org/plugins…
541 - **FVP-R**
543- fix compilation error in release mode ([7d96e79](https://review.trustedfirmware.org/plugins/giti…
545 - **Morello**
547- initialise CNTFRQ in Non Secure CNTBaseN ([7f2d23d](https://review.trustedfirmware.org/plugins/g…
549 - **TC**
551- enable AMU extension ([b5863ca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
552- change UUID to string format ([1c19536](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
553- remove "arm,psci" from psci node ([814646b](https://review.trustedfirmware.org/plugins/gitiles/T…
554- remove ffa and optee device tree node ([f1b44a9](https://review.trustedfirmware.org/plugins/giti…
555- set cactus-tertiary vcpu count to 1 ([05f667f](https://review.trustedfirmware.org/plugins/gitile…
557 - **SGI**
559- avoid redefinition of 'efi_guid' structure ([f34322c](https://review.trustedfirmware.org/plugins…
561 - **Marvell**
563- Check the required libraries before building doimage ([dd47809](https://review.trustedfirmware.o…
565 - **Armada**
567- select correct pcie reference clock source ([371648e](https://review.trustedfirmware.org/plugins…
568- fix MSS loader for A8K family ([dceac43](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
570 - **A3K**
572- disable HANDLE_EA_EL3_FIRST by default ([3017e93](https://review.trustedfirmware.org/plugins/git…
573- enable workaround for erratum 1530924 ([975563d](https://review.trustedfirmware.org/plugins/giti…
574- Fix building uart-images.tgz.bin archive ([d3f8db0](https://review.trustedfirmware.org/plugins/g…
575- Fix check for external dependences ([2baf503](https://review.trustedfirmware.org/plugins/gitiles…
576- fix printing info messages on output ([9f6d154](https://review.trustedfirmware.org/plugins/gitil…
577- update information about PCIe abort hack ([068fe91](https://review.trustedfirmware.org/plugins/g…
578- Remove encryption password ([076374c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
580 - **A8K**
582- Add missing build dependency for BLE target ([04738e6](https://review.trustedfirmware.org/plugin…
583- Correctly set include directories for individual targets ([559ab2d](https://review.trustedfirmwa…
584- Require that MV_DDR_PATH is correctly set ([528dafc](https://review.trustedfirmware.org/plugins/…
585- fix number of CPU power switches. ([5cf6faf](https://review.trustedfirmware.org/plugins/gitiles/…
587 - **MediaTek**
589 - **MT8183**
591- fix out-of-bound access ([420c26b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
593 - **MT8195**
595- use correct print format for uint64_t ([964ee4e](https://review.trustedfirmware.org/plugins/giti…
596- fix error setting for SPM ([1f81ccc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
597- extend MMU region size ([9ff8b8c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
598- fix coverity fail ([85e4d14](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-fir…
600 - **NXP**
602 - **i.MX**
604- do not keep mmc_device_info in stack ([99d37c8](https://review.trustedfirmware.org/plugins/gitil…
606 - **i.MX 8M**
608 - **i.MX 8M Mini**
610- fix FTBFS on SPD=opteed ([10bfc77](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
612 - **Layerscape**
614 - **LX2**
616 - **LS1028A**
618- define endianness of scfg and gpio ([2475f63](https://review.trustedfirmware.org/plugins/gitiles…
619- fix compile error when enable fuse provision ([a0da9c4](https://review.trustedfirmware.org/plugi…
621 - **QEMU**
623- (NS_DRAM0_BASE + NS_DRAM0_SIZE) ADDR overflow 32bit ([325716c](https://review.trustedfirmware.or…
624- reboot/shutdown with low to high gpio ([bd2ad12](https://review.trustedfirmware.org/plugins/giti…
626 - **QTI**
628 - **SC1780**
630- qti smc addition ([cc35a37](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firm…
632 - **Raspberry Pi**
634 - **Raspberry Pi 4**
636- drop /memreserve/ region ([5d2793a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
638 - **Renesas**
640 - **R-Car**
642- change process that copy code to system ram ([49593cc](https://review.trustedfirmware.org/plugin…
643- fix cache maintenance process of reading cert header ([c77ab18](https://review.trustedfirmware.o…
644- fix to load image when option BL2_DCACHE_ENABLE is enabled ([d2ece8d](https://review.trustedfirm…
646 - **R-Car 3**
648- fix disabling MFIS write protection for R-Car D3 ([a8c0c3e](https://review.trustedfirmware.org/p…
649- fix eMMC boot support for R-Car D3 ([77ab366](https://review.trustedfirmware.org/plugins/gitiles…
650- fix source file to make about GICv2 ([fb3406b](https://review.trustedfirmware.org/plugins/gitile…
651- fix version judgment for R-Car D3 ([c3d192b](https://review.trustedfirmware.org/plugins/gitiles/…
652- generate two memory nodes for larger than 2 GiB channel 0 ([21924f2](https://review.trustedfirmw…
654 - **Rockchip**
656 - **RK3399**
658- correct LPDDR4 resume sequence ([2c4b0c0](https://review.trustedfirmware.org/plugins/gitiles/TF-
659- fix dram section placement ([f943b7c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
661 - **Socionext**
663 - **Synquacer**
665- update scmi power domain off handling ([f7f5d2c](https://review.trustedfirmware.org/plugins/giti…
667 - **ST**
669- add STM32IMAGE_SRC ([f223505](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-fi…
670- add UART reset in crash console init ([b38e2ed](https://review.trustedfirmware.org/plugins/gitil…
671- apply security at the end of BL2 ([99080bd](https://review.trustedfirmware.org/plugins/gitiles/T…
672- correct BSEC error code management ([72c7884](https://review.trustedfirmware.org/plugins/gitiles…
673- correct IO compensation disabling ([c2d18ca](https://review.trustedfirmware.org/plugins/gitiles/…
674- correct signedness comparison issue ([5657dec](https://review.trustedfirmware.org/plugins/gitile…
675- improve DDR get size function ([91ffc1d](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
676- only check header major when booting ([8ce8918](https://review.trustedfirmware.org/plugins/gitil…
677- panic if boot interface is wrong ([71693a6](https://review.trustedfirmware.org/plugins/gitiles/T…
678- remove double space ([306dcd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
680 - **ST32MP1**
682- add bl prefix for internal linker script ([7684ddd](https://review.trustedfirmware.org/plugins/g…
684 - **Xilinx**
686 - **Versal**
688- correct IPI buffer offset ([e1e5b13](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
689- use sync method for blocking calls ([fa58171](https://review.trustedfirmware.org/plugins/gitiles…
691 - **ZynqMP**
693- use sync method for blocking calls ([c063c5a](https://review.trustedfirmware.org/plugins/gitiles…
695 - **Services**
697- drop warning on unimplemented calls ([67fad51](https://review.trustedfirmware.org/plugins/gitile…
699 - **RME**
701- fixes a shift by 64 bits bug in the RME GPT library ([322b344](https://review.trustedfirmware.or…
703 - **SPM**
705- do not compile if SVE/SME is enabled ([4333f95](https://review.trustedfirmware.org/plugins/gitil…
706- error macro to use correct print format ([0c23e6f](https://review.trustedfirmware.org/plugins/gi…
707- revert workaround hafnium as hypervisor ([3221fce](https://review.trustedfirmware.org/plugins/gi…
708- fixing coverity issue for SPM Core. ([f7fb0bf](https://review.trustedfirmware.org/plugins/gitile…
710 - **Libraries**
712 - **LIBC**
714- use long for 64-bit types on aarch64 ([4ce3e99](https://review.trustedfirmware.org/plugins/gitil…
716 - **CPU Support**
718- correct Demeter CPU name ([4cb576a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
719- workaround for Cortex A78 erratum 2242635 ([1ea9190](https://review.trustedfirmware.org/plugins/…
720- workaround for Cortex-A710 erratum 2058056 ([744bdbf](https://review.trustedfirmware.org/plugins…
721- workaround for Neoverse V1 erratum 2216392 ([4c8fe6b](https://review.trustedfirmware.org/plugins…
722- workaround for Neoverse-N2 erratum 2138953 ([ef8f0c5](https://review.trustedfirmware.org/plugins…
723- workaround for Neoverse-N2 erratum 2138958 ([c948185](https://review.trustedfirmware.org/plugins…
724- workaround for Neoverse-N2 erratum 2242400 ([603806d](https://review.trustedfirmware.org/plugins…
725- workaround for Neoverse-N2 erratum 2242415 ([5819e23](https://review.trustedfirmware.org/plugins…
726- workaround for Neoverse-N2 erratum 2280757 ([0d2d999](https://review.trustedfirmware.org/plugins…
727- rename Matterhorn, Matterhorn ELP, and Klein CPUs ([c6ac4df](https://review.trustedfirmware.org/…
729 - **EL3 Runtime**
731- correct CASSERT for pauth ([b4f8d44](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
732- fix SVE and AMU extension enablement flags ([68ac5ed](https://review.trustedfirmware.org/plugins…
733- random typos in tf-a code base ([2e61d68](https://review.trustedfirmware.org/plugins/gitiles/TF-
734- Remove save/restore of EL2 timer registers ([a7cf274](https://review.trustedfirmware.org/plugins…
736 - **OP-TEE**
738- correct signedness comparison ([21d2be8](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
740 - **GPT**
742- add necessary barriers and remove cache clean ([77612b9](https://review.trustedfirmware.org/plug…
743- use correct print format for uint64_t ([2461bd3](https://review.trustedfirmware.org/plugins/giti…
745 - **Translation Tables**
747- remove always true check in assert ([74d720a](https://review.trustedfirmware.org/plugins/gitiles…
749 - **Drivers**
751 - **Authentication**
753- avoid NV counter upgrade without certificate validation ([a2a5a94](https://review.trustedfirmwar…
755 - **CryptoCell-713**
757- fix a build failure with CC-713 library ([e5fbee5](https://review.trustedfirmware.org/plugins/gi…
759 - **MTD**
761- fix MISRA issues and logic improvement ([5130ad1](https://review.trustedfirmware.org/plugins/git…
762- macronix quad enable bit issue ([c332740](https://review.trustedfirmware.org/plugins/gitiles/TF-
764 - **NAND**
766 - **SPI NAND**
768- check correct manufacturer id ([4490b79](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
769- check that parameters have been set ([bc453ab](https://review.trustedfirmware.org/plugins/gitile…
771 - **SCMI**
773- entry: add weak functions ([b3c8fd5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
774- smt: fix build for aarch64 ([0e223c6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
775- mention "SCMI" in driver initialisation message ([e0baae7](https://review.trustedfirmware.org/pl…
776- relax requirement for exact protocol version ([125868c](https://review.trustedfirmware.org/plugi…
778 - **UFS**
780- add reset before DME_LINKSTARTUP ([905635d](https://review.trustedfirmware.org/plugins/gitiles/T…
782 - **Arm**
784 - **GIC**
786 - **GICv3**
788- add dsb in both disable and enable function of gicv3_cpuif ([5a5e0aa](https://review.trustedfirm…
790 - **GIC-600AE**
792- fix timeout calculation ([7f322f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
794 - **TZC**
796 - **TZC-400**
798- never disable filter 0 ([ef378d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/truste…
800 - **Marvell**
802 - **COMPHY**
804- fix name of 3.125G SerDes mode ([a669983](https://review.trustedfirmware.org/plugins/gitiles/TF-
806 - **Armada 3700**
808- configure phy selector also for PCIe ([0f3a122](https://review.trustedfirmware.org/plugins/gitil…
809- fix address overflow ([c074f70](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
810- handle failures in power functions ([49b664e](https://review.trustedfirmware.org/plugins/gitiles…
812 - **CP110**
814- fix error code in pcie power on ([c0a909c](https://review.trustedfirmware.org/plugins/gitiles/TF
816 - **Armada**
818 - **A3K**
820 - **A3720**
822- fix configuring UART clock ([b9185c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
823- fix UART clock rate value and divisor calculation ([66a7752](https://review.trustedfirmware.org/…
824- fix UART parent clock rate determination ([5a91c43](https://review.trustedfirmware.org/plugins/g…
826 - **MediaTek**
828 - **PMIC Wrapper**
830- update idle flow ([9ed4e6f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firm…
832 - **MT8192**
834 - **SPM**
836- add missing bit define for debug purpose ([310c3a2](https://review.trustedfirmware.org/plugins/g…
838 - **NXP**
840 - **FLEXSPI**
842- fix warm boot wait time for MT35XU512A ([1ff7e46](https://review.trustedfirmware.org/plugins/git…
844 - **SCFG**
846- fix endianness checking ([fb90cfd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
848 - **SFP**
850- fix compile warning ([3239a17](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
852 - **Renesas**
854 - **R-Car3**
856- console: fix a return value of console_rcar_init ([bb273e3](https://review.trustedfirmware.org/p…
857- ddr: update DDR setting for H3, M3, M3N ([ec767c1](https://review.trustedfirmware.org/plugins/gi…
858- emmc: remove CPG_CPGWPR redefinition ([36d5645](https://review.trustedfirmware.org/plugins/gitil…
859- fix CPG registers redefinition ([0dae56b](https://review.trustedfirmware.org/plugins/gitiles/TF-
860- i2c_dvfs: fix I2C operation ([b757d3a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/t…
862 - **ST**
864 - **Clock**
866- use correct return value ([8f97c4f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
867- correctly manage RTC clock source ([1550909](https://review.trustedfirmware.org/plugins/gitiles/…
868- fix MCU/AXI parent clock ([b8fe48b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
869- fix MPU clock rate ([602ae2f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-fi…
870- fix RTC clock rating ([cbd2e8a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
871- keep RTC clock always on ([5b111c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trus…
872- keep RTCAPB clock always on ([373f06b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/t…
873- set other clocks as always on ([bf39318](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
875 - **I/O**
877 - **STM32 Image**
879- invalidate cache on local buf ([a5bcf82](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
880- uninitialized variable warning ([c1d732d](https://review.trustedfirmware.org/plugins/gitiles/TF-
882 - **ST PMIC**
884- initialize i2c_state ([4282284](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-
885- missing error check ([a4bcfe9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-f…
887 - **STPMIC1**
889- fix power switches activation ([0161991](https://review.trustedfirmware.org/plugins/gitiles/TF-A…
890- update error cases return ([ed6a852](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tru…
892 - **UART**
894 - **STM32 Console**
896- do not skip init for crash console ([49c7f0c](https://review.trustedfirmware.org/plugins/gitiles…
898 - **USB**
900- add a optional ops get_other_speed_config_desc ([216c122](https://review.trustedfirmware.org/plu…
901- fix Null pointer dereferences in usb_core_set_config ([0cb9870](https://review.trustedfirmware.o…
902- remove deadcode when USBD_EP_NB = 1 ([7ca4928](https://review.trustedfirmware.org/plugins/gitile…
903- remove unnecessary cast ([025f5ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
905 - **Miscellaneous**
907- use correct printf format for uint64_t ([4ef449c](https://review.trustedfirmware.org/plugins/git…
909 - **DT Bindings**
911- fix static checks ([0861fcd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-fir…
913 - **FDTs**
915- avoid output on missing DT property ([49e789e](https://review.trustedfirmware.org/plugins/gitile…
916- fix OOB write in uuid parsing function ([d0d6424](https://review.trustedfirmware.org/plugins/git…
918 - **Morello**
920- fix scmi clock specifier to cluster mappings ([387a906](https://review.trustedfirmware.org/plugi…
922 - **STM32MP1**
924- correct copyright dates ([8d26029](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
925- set ETH clock on PLL4P on ST boards ([3e881a8](https://review.trustedfirmware.org/plugins/gitile…
926- update PLL nodes for ED1/EV1 boards ([cdbbb9f](https://review.trustedfirmware.org/plugins/gitile…
927- use 'kHz' as kilohertz abbreviation ([4955d08](https://review.trustedfirmware.org/plugins/gitile…
929 - **PIE**
931- invalidate data cache in the entire image range if PIE is enabled ([596d20d](https://review.trus…
933 - **Security**
935- Set MDCR_EL3.MCCD bit ([12f6c06](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted
937 - **SDEI**
939- fix assert while kdump issue ([d39db26](https://review.trustedfirmware.org/plugins/gitiles/TF-A/…
940- print event number in hex format ([6b94356](https://review.trustedfirmware.org/plugins/gitiles/T…
941- set SPSR for SDEI based on TakeException ([37596fc](https://review.trustedfirmware.org/plugins/g…
943 - **Documentation**
945- fix TF-A v2.6 release date in the release information page ([c90fa47](https://review.trustedfirm…
946- fix `FF-A` substitution ([a61940c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trust…
947- fix typos in v2.5 release documentation ([481c7b6](https://review.trustedfirmware.org/plugins/gi…
948- remove "experimental" tag for stable features ([700e768](https://review.trustedfirmware.org/plug…
950 - **Contribution Guidelines**
952- fix formatting for code snippet ([d0bbe81](https://review.trustedfirmware.org/plugins/gitiles/TF
954 - **Build System**
956- use space in WARNINGS list ([34b508b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
958 - **Git Hooks**
960- downgrade `package-lock.json` version ([7434b65](https://review.trustedfirmware.org/plugins/giti…
962 - **Tools**
964 - **STM32 Image**
966- improve the tool ([8d0036d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firm…
968 - **SPTOOL**
970- SP UUID little to big endian in TF-A build ([dcdbcdd](https://review.trustedfirmware.org/plugins…
972 - **DOIMAGE**
974- Fix doimage syntax breaking secure mode build ([6d55ef1](https://review.trustedfirmware.org/plug…
976 - **Dependencies**
978 - **checkpatch**
980- do not check merge commits ([77a0a7f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/tr…
982 ## 2.5.0 (2021-05-17)
986 - Architecture support
988 - Added support for speculation barrier(`FEAT_SB`) for non-Armv8.5 platforms
990 - Added support for Activity Monitors Extension version 1.1(`FEAT_AMUv1p1`)
991 - Added helper functions for Random number generator(`FEAT_RNG`) registers
992 - Added support for Armv8.6 Multi-threaded PMU extensions (`FEAT_MTPMU`)
993 - Added support for MTE Asymmetric Fault Handling extensions(`FEAT_MTE3`)
994 - Added support for Privileged Access Never extensions(`FEAT_PANx`)
996 - Bootloader images
998 - Added PIE support for AArch32 builds
999 - Enable Trusted Random Number Generator service for BL32(sp_min)
1001 - Build System
1003 - Added build option for Arm Feature Modifiers
1005 - Drivers
1007 - Added support for interrupts in TZC-400 driver
1008 - Broadcom
1009 - Added support for I2C, MDIO and USB drivers
1010 - Marvell
1011 - Added support for secure read/write of dfc register-set
1012 - Added support for thermal sensor driver
1013 - Implement a3700_core_getc API in console driver
1014 - Added rx training on 10G port
1015 - Marvell Mochi
1016 - Added support for cn913x in PCIe mode
1017 - Marvell Armada A8K
1018 - Added support for TRNG-IP-76 driver and accessing RNG register
1019 - Mediatek MT8192
1020 - Added support for following drivers
1021 - MPU configuration for SCP/PCIe
1022 - SPM suspend
1023 - Vcore DVFS
1024 - LPM
1025 - PTP3
1026 - UART save and restore
1027 - Power-off
1028 - PMIC
1029 - CPU hotplug and MCDI support
1030 - SPMC
1031 - MPU
1032 - Mediatek MT8195
1033 - Added support for following drivers
1034 - GPIO, NCDI, SPMC drivers
1035 - Power-off
1036 - CPU hotplug, reboot and MCDI
1037 - Delay timer and sys timer
1038 - GIC
1039 - NXP
1040 - Added support for
1041 - non-volatile storage API
1042 - chain of trust and trusted board boot using two modes: MBEDTLS and CSF
1043 - fip-handler necessary for DDR initialization
1044 - SMMU and console drivers
1045 - crypto hardware accelerator driver
1046 - following drivers: SD, EMMC, QSPI, FLEXSPI, GPIO, GIC, CSU, PMU, DDR
1047 - NXP Security Monitor and SFP driver
1048 - interconnect config APIs using ARM CCN-CCI driver
1049 - TZC APIs to configure DDR region
1050 - generic timer driver
1051 - Device configuration driver
1052 - IMX
1053 - Added support for image loading and io-storage driver for TBBR fip booting
1054 - Renesas
1055 - Added support for PFC and EMMC driver
1056 - RZ Family:
1057 - G2N, G2E and G2H SoCs
1058 - Added support for watchdog, QoS, PFC and DRAM initialization
1059 - RZG Family:
1060 - G2M
1061 - Added support for QoS and DRAM initialization
1062 - Xilinx
1063 - Added JTAG DCC support for Versal and ZynqMP SoC family.
1065 - Libraries
1067 - C standard library
1068 - Added support to print `%` in `snprintf()` and `printf()` APIs
1069 - Added support for strtoull, strtoll, strtoul, strtol APIs from FreeBSD
1071 - CPU support
1072 - Added support for
1073 - Cortex_A78C CPU
1074 - Makalu ELP CPU
1075 - Makalu CPU
1076 - Matterhorn ELP CPU
1077 - Neoverse-N2 CPU
1078 - CPU Errata
1079 - Arm Cortex-A76: Added workaround for erratum 1946160
1080 - Arm Cortex-A77: Added workaround for erratum 1946167
1081 - Arm Cortex-A78: Added workaround for erratum 1941498 and 1951500
1082 - Arm Neoverse-N1: Added workaround for erratum 1946160
1083 - Flattened device tree(libfdt)
1084 - Added support for wrapper function to read UUIDs in string format from dtb
1086 - Platforms
1088 - Added support for MediaTek MT8195
1089 - Added support for Arm RD-N2 board
1090 - Allwinner
1091 - Added support for H616 SoC
1092 - Arm
1093 - Added support for GPT parser
1094 - Protect GICR frames for fused/unused cores
1095 - Arm Morello
1096 - Added VirtIO network device to Morello FVP fdts
1097 - Arm RD-N2
1098 - Added support for variant 1 of RD-N2 platform
1099 - Enable AMU support
1100 - Arm RD-V1
1101 - Enable AMU support
1102 - Arm SGI
1103 - Added support for platform variant build option
1104 - Arm TC0
1105 - Added Matterhorn ELP CPU support
1106 - Added support for opteed
1107 - Arm Juno
1108 - Added support to use hw_config in BL31
1109 - Use TRNG entropy source for SMCCC TRNG interface
1110 - Condition Juno entropy source with CRC instructions
1111 - Marvell Mochi
1112 - Added support for detection of secure mode
1113 - Marvell ARMADA
1114 - Added support for new compile option A3720_DB_PM_WAKEUP_SRC
1115 - Added support doing system reset via CM3 secure coprocessor
1116 - Made several makefile enhancements required to build WTMI_MULTI_IMG and
1118 - Added support for building DOIMAGETOOL tool
1119 - Added new target mrvl_bootimage
1120 - Mediatek MT8192
1121 - Added support for rtc power off sequence
1122 - Mediatek MT8195
1123 - Added support for SiP service
1124 - STM32MP1
1125 - Added support for
1126 - Seeed ODYSSEY SoM and board
1127 - SDMMC2 and I2C2 pins in pinctrl
1128 - I2C2 peripheral in DTS
1129 - PIE for BL32
1130 - TZC-400 interrupt managament
1131 - Linux Automation MC-1 board
1132 - Renesas RZG
1133 - Added support for identifying EK874 RZ/G2E board
1134 - Added support for identifying HopeRun HiHope RZ/G2H and RZ/G2H boards
1135 - Rockchip
1136 - Added support for stack protector
1137 - QEMU
1138 - Added support for `max` CPU
1139 - Added Cortex-A72 support to `virt` platform
1140 - Enabled trigger reboot from secure pl061
1141 - QEMU SBSA
1142 - Added support for sbsa-ref Embedded Controller
1143 - NXP
1144 - Added support for warm reset to retain ddr content
1145 - Added support for image loader necessary for loading fip image
1146 - lx2160a SoC Family
1147 - Added support for
1148 - new platform lx2160a-aqds
1149 - new platform lx2160a-rdb
1150 - new platform lx2162a-aqds
1151 - errata handling
1152 - IMX imx8mm
1153 - Added support for trusted board boot
1154 - TI K3
1155 - Added support for lite device board
1156 - Enabled Cortex-A72 erratum 1319367
1157 - Enabled Cortex-A53 erratum 1530924
1158 - Xilinx ZynqMP
1159 - Added support for PS and system reset on WDT restart
1160 - Added support for error management
1161 - Enable support for log messages necessary for debug
1162 - Added support for PM API SMC call for efuse and register access
1164 - Processes
1166 - Introduced process for platform deprecation
1167 - Added documentation for TF-A threat model
1168 - Provided a copy of the MIT license to comply with the license requirements
1169 of the arm-gic.h source file (originating from the Linux kernel project and
1170 re-distributed in TF-A).
1172 - Services
1174 - Added support for TRNG firmware interface service
1175 - Arm
1176 - Added SiP service to configure Ethos-N NPU
1177 - SPMC
1178 - Added documentation for SPM(Hafnium) SMMUv3 driver
1179 - SPMD
1180 - Added support for
1181 - FFA_INTERRUPT forwading ABI
1182 - FFA_SECONDARY_EP_REGISTER ABI
1183 - FF-A v1.0 boot time power management, SPMC secondary core boot and early
1184 run-time power management
1186 - Tools
1188 - FIPTool
1189 - Added mechanism to allow platform specific image UUID
1190 - git hooks
1191 - Added support for conventional commits through commitlint hook, commitizen
1193 - NXP tool
1194 - Added support for a tool that creates pbl file from BL2
1195 - Renesas RZ/G2
1196 - Added tool support for creating bootparam and cert_header images
1197 - CertCreate
1198 - Added support for platform-defined certificates, keys, and extensions
1200 - shared tools
1201 - Added EFI_GUID representation to uuid helper data structure
1205 - Common components
1207 - Print newline after hex address in aarch64 el3_panic function
1208 - Use proper `#address-cells` and `#size-cells` for reserved-memory in dtbs
1210 - Drivers
1212 - Move SCMI driver from ST platform directory and make it common to all
1214 - Arm GICv3
1215 - Shift eSPI register offset in GICD_OFFSET_64()
1216 - Use mpidr to probe GICR for current CPU
1217 - Arm TZC-400
1218 - Adjust filter tag if it set to FILTER_BIT_ALL
1219 - Cadence
1220 - Enhance UART driver APIs to put characters to fifo
1221 - Mediatek MT8192
1222 - Move timer driver to common folder
1223 - Enhanced sys_cirq driver to add more IC services
1224 - Renesas
1225 - Move ddr and delay driver to common directory
1226 - Renesas rcar
1227 - Treat log as device memory in console driver
1228 - Renesas RZ Family:
1229 - G2N and G2H SoCs
1230 - Select MMC_CH1 for eMMC channel
1231 - Marvell
1232 - Added support for checking if TRNG unit is present
1233 - Marvell A3K
1234 - Set TXDCLK_2X_SEL bit during PCIe initialization
1235 - Set mask parameter for every reg_set call
1236 - Marvell Mochi
1237 - Added missing stream IDs configurations
1238 - MbedTLS
1239 - Migrated to Mbed TLS v2.26.0
1240 - IMX imx8mp
1241 - Change the bl31 physical load address
1242 - QEMU SBSA
1243 - Enable secure variable storage
1244 - SCMI
1245 - Update power domain protocol version to 2.0
1246 - STM32
1247 - Remove dead code from nand FMC driver
1249 - Libraries
1251 - C Standard Library
1252 - Use macros to reduce duplicated code between snprintf and printf
1253 - CPU support
1254 - Sanity check pointers before use in AArch32 builds
1255 - Arm Cortex-A78
1256 - Remove rainier cpu workaround for errata 1542319
1257 - Arm Makalu ELP
1258 - Added "\_arm" suffix to Makalu ELP CPU lib
1260 - Miscellaneous
1262 - Editorconfig
1263 - set max line length to 100
1265 - Platforms
1267 - Allwinner
1268 - Added reserved-memory node to DT
1269 - Express memmap more dynamically
1270 - Move SEPARATE_NOBITS_REGION to platforms
1271 - Limit FDT checks to reduce code size
1272 - Use CPUIDLE hardware when available
1273 - Allow conditional compilation of SCPI and native PSCI ops
1274 - Always use a 3MHz RSB bus clock
1275 - Enable workaround for Cortex-A53 erratum 1530924
1276 - Fixed non-default PRELOADED_BL33_BASE
1277 - Leave CPU power alone during BL31 setup
1278 - Added several psci hooks enhancements to improve system shutdown/reset
1280 - Return the PMIC to I2C mode after use
1281 - Separate code to power off self and other CPUs
1282 - Split native and SCPI-based PSCI implementations
1283 - Allwinner H6
1284 - Added R_PRCM security setup for H6 board
1285 - Added SPC security setup for H6 board
1286 - Use RSB for the PMIC connection on H6
1287 - Arm
1288 - Store UUID as a string, rather than ints
1289 - Replace FIP base and size macro with a generic name
1290 - Move compile time switch from source to dt file
1291 - Don't provide NT_FW_CONFIG when booting hafnium
1292 - Do not setup 'disabled' regulator
1293 - Increase SP max size
1294 - Remove false dependency of ARM_LINUX_KERNEL_AS_BL33 on RESET_TO_BL31 and
1296 - Arm FVP
1297 - Do not map GIC region in BL1 and BL2
1298 - Arm Juno
1299 - Refactor juno_getentropy() to return 64 bits on each call
1300 - Arm Morello
1301 - Remove "virtio-rng" from Morello FVP
1302 - Enable virtIO P9 device for Morello fvp
1303 - Arm RDV1
1304 - Allow all PSCI callbacks on RD-V1
1305 - Rename rddaniel to rdv1
1306 - Arm RDV1MC
1307 - Rename rddanielxlr to rdv1mc
1308 - Initialize TZC-400 controllers
1309 - Arm TC0
1310 - Updated GICR base address
1311 - Use scmi_dvfs clock index 1 for cores 4-7 through fdt
1312 - Added reserved-memory node for OP-TEE fdts
1313 - Enabled Theodul DSU in TC platform
1314 - OP-TEE as S-EL1 SP with SPMC at S-EL2
1315 - Update Matterhorm ELP DVFS clock index
1316 - Arm SGI
1317 - Allow access to TZC controller on all chips
1318 - Define memory regions for multi-chip platforms
1319 - Allow access to nor2 flash and system registers from S-EL0
1320 - Define default list of memory regions for DMC-620 TZC
1321 - Improve macros defining cper buffer memory region
1322 - Refactor DMC-620 error handling SMC function id
1323 - Refactor SDEI specific macros
1324 - Added platform id value for RDN2 platform
1325 - Refactored header file inclusions and inclusion of memory mapping
1326 - Arm RDN2
1327 - Allow usage of secure partitions on RDN2 platform
1328 - Update GIC redistributor and TZC base address
1329 - Arm SGM775
1330 - Deprecate Arm sgm775 FVP platform
1331 - Marvell
1332 - Increase TX FIFO EMPTY timeout from 2ms to 3ms
1333 - Update delay code to be compatible with 1200 MHz CPU
1334 - Marvell ARMADA
1335 - Postpone MSS CPU startup to BL31 stage
1336 - Allow builds without MSS support
1337 - Use MSS SRAM in secure mode
1338 - Added missing FORCE, .PHONY and clean targets
1339 - Cleanup MSS SRAM if used for copy
1340 - Move definition of mrvl_flash target to common marvell_common.mk file
1341 - Show informative build messages and blank lines
1342 - Marvell ARMADA A3K
1343 - Added a new target mrvl_uart which builds UART image
1344 - Added checks that WTP, MV_DDR_PATH and CRYPTOPP_PATH are correctly defined
1345 - Allow use of the system Crypto++ library
1346 - Build \$(WTMI_ENC_IMG) in \$(BUILD_PLAT) directory
1347 - Build intermediate files in \$(BUILD_PLAT) directory
1348 - Build UART image files directly in \$(BUILD_UART) subdirectory
1349 - Correctly set DDR_TOPOLOGY and CLOCKSPRESET for WTMI
1350 - Do not use 'echo -e' in Makefile
1351 - Improve 4GB DRAM usage from 3.375 GB to 3.75 GB
1352 - Remove unused variable WTMI_SYSINIT_IMG from Makefile
1353 - Simplify check if WTP variable is defined
1354 - Split building \$(WTMI_MULTI_IMG) and \$(TIMDDRTOOL)
1355 - Marvell ARMADA A8K
1356 - Allow CP1/CP2 mapping at BLE stage
1357 - Mediatek MT8183
1358 - Added timer V20 compensation
1359 - Nvidia Tegra
1360 - Rename SMC API
1361 - TI K3
1362 - Make plat_get_syscnt_freq2 helper check CNT_FID0 register
1363 - Fill non-message data fields in sec_proxy with 0x0
1364 - Update ti_sci_msg_req_reboot ABI to include domain
1365 - Enable USE_COHERENT_MEM only for the generic board
1366 - Explicitly map SEC_SRAM_BASE to 0x0
1367 - Use BL31_SIZE instead of computing
1368 - Define the correct number of max table entries and increase SRAM size to
1370 - Raspberry Pi4
1371 - Switch to gicv2.mk and GICV2_SOURCES
1372 - Renesas
1373 - Move headers and assembly files to common folder
1374 - Renesas rzg
1375 - Added device tree memory node enhancements
1376 - Rockchip
1377 - Switch to using common gicv3.mk
1378 - STM32MP1
1379 - Set BL sizes regardless of flags
1380 - QEMU
1381 - Include gicv2.mk for compiling GICv2 source files
1382 - Change DEVICE2 definition for MMU
1383 - Added helper to calculate the position shift from MPIDR
1384 - QEMU SBSA
1385 - Include libraries for Cortex-A72
1386 - Increase SHARED_RAM_SIZE
1387 - Addes support in spm_mm for upto 512 cores
1388 - Added support for topology handling
1389 - QTI
1390 - Mandate SMC implementation
1391 - Xilinx
1392 - Rename the IPI CRC checksum macro
1393 - Use fno-jump-tables flag in CPPFLAGS
1394 - Xilinx versal
1395 - Added the IPI CRC checksum macro support
1396 - Mark IPI calls secure/non-secure
1397 - Enable sgi to communicate with linux using IPI
1398 - Remove Cortex-A53 compilation
1399 - Xilinx ZynqMP
1400 - Configure counter frequency during initialization
1401 - Filter errors related to clock gate permissions
1402 - Implement pinctrl request/release EEMI API
1403 - Reimplement pinctrl get/set config parameter EEMI API calls
1404 - Reimplement pinctrl set/get function EEMI API
1405 - Update error codes to match Linux and PMU Firmware
1406 - Update PM version and support PM version check
1407 - Update return type in query functions
1408 - Added missing ids for 43/46/47dr devices
1409 - Checked for DLL status before doing reset
1410 - Disable ITAPDLYENA bit for zero ITAP delay
1411 - Include GICv2 makefile
1412 - Remove the custom crash implementation
1414 - Services
1416 - SPMD
1417 - Lock the g_spmd_pm structure
1418 - Declare third cactus instance as UP SP
1419 - Provide number of vCPUs and VM size for first SP
1420 - Remove `chosen` node from SPMC manifests
1421 - Move OP-TEE SP manifest DTS to FVP platform
1422 - Update OP-TEE SP manifest with device-regions node
1423 - Remove device-memory node from SPMC manifests
1424 - SPM_MM
1425 - Use sp_boot_info to set SP context
1426 - SDEI
1427 - Updata the affinity of shared event
1429 - Tools
1431 - FIPtool
1432 - Do not print duplicate verbose lines about building fiptool
1433 - CertCreate
1434 - Updated tool for platform defined certs, keys & extensions
1435 - Create only requested certificates
1436 - Avoid duplicates in extension stack
1440 - Several fixes for typos and mis-spellings in documentation
1442 - Build system
1444 - Fixed \$\{FIP_NAME} to be rebuilt only when needed in Makefile
1445 - Do not mark file targets as .PHONY target in Makefile
1447 - Drivers
1449 - Authorization
1450 - Avoid NV counter upgrade without certificate validation
1451 - Arm GICv3
1452 - Fixed logical issue for num_eints
1453 - Limit SPI ID to avoid misjudgement in GICD_OFFSET()
1454 - Fixed potential GICD context override with ESPI enabled
1455 - Marvell A3700
1456 - Fixed configuring polarity invert bits
1457 - Arm TZC-400
1458 - Correct FAIL_CONTROL Privileged bit
1459 - Fixed logical error in FILTER_BIT definitions
1460 - Renesas rcar
1461 - Fixed several coding style violations reported by checkpatch
1463 - Libraries
1465 - Arch helpers
1466 - Fixed assertions in processing dynamic relocations for AArch64 builds
1467 - C standard library
1468 - Fixed MISRA issues in memset() ABI
1469 - RAS
1470 - Fixed bug of binary search in RAS interrupt handler
1472 - Platforms
1474 - Arm
1475 - Fixed missing copyrights in arm-gic.h file
1476 - Fixed the order of header files in several dts files
1477 - Fixed error message printing in board makefile
1478 - Fixed bug of overriding the last node in image load helper API
1479 - Fixed stdout-path in fdts files of TC0 and N1SDP platforms
1480 - Turn ON/OFF redistributor in sync with GIC CPU interface ON/OFF for css
1482 - Arm FVP
1483 - Fixed Generic Timer interrupt types in platform dts files
1484 - Arm Juno
1485 - Fixed parallel build issue for romlib config
1486 - Arm SGI
1487 - Fixed bug in SDEI receive event of RAS handler
1488 - Intel Agilex
1489 - Fixed PLAT_MAX_PWR_LVL value
1490 - Marvell
1491 - Fixed SPD handling in dram port
1492 - Marvell ARMADA
1493 - Fixed TRNG return SMC handling
1494 - Fixed the logic used for LD selector mask
1495 - Fixed MSS firmware loader for A8K family
1496 - ST
1497 - Fixed few violations reported by coverity static checks
1498 - STM32MP1
1499 - Fixed SELFREF_TO_X32 mask in ddr driver
1500 - Do not keep mmc_device_info in stack
1501 - Correct plat_crash_console_flush()
1502 - QEMU SBSA
1503 - Fixed memory type of secure NOR flash
1504 - QTI
1505 - Fixed NUM_APID and REG_APID_MAP() argument in SPMI driver
1506 - Intel
1507 - Do not keep mmc_device_info in stack
1508 - Hisilicon
1509 - Do not keep mmc_device_info in stack
1511 - Services
1513 - EL3 runtime
1514 - Fixed the EL2 context save/restore routine by removing EL2 generic timer
1516 - Added fix for exception handler in BL31 by synchronizing pending EA using
1518 - SPMD
1519 - Fixed error codes to use int32_t type
1520 - TSPD
1521 - Added bug fix in tspd interrupt handling when TSP_NS_INTR_ASYNC_PREEMPT is
1523 - TRNG
1524 - Fixed compilation errors with -O0 compile option
1525 - DebugFS
1526 - Checked channel index before calling clone function
1527 - PSCI
1528 - Fixed limit of 256 CPUs caused by cast to unsigned char
1529 - TSP
1530 - Fixed compilation erros when built with GCC 11.0.0 toolchain
1532 - Tools
1534 - FIPtool
1535 - Do not call `make clean` for `all` target
1536 - CertCreate
1537 - Fixed bug to avoid cleaning when building the binary
1538 - Used preallocated parts of the HASH struct to avoid leaking HASH struct
1540 - Free arguments copied with strdup
1541 - Free keys after use
1542 - Free X509_EXTENSION structures on stack to avoid leaking them
1543 - Optimized the code to avoid unnecessary attempts to create non-requested
1546 ## 2.4.0 (2020-11-17)
1550 - Architecture support
1551 - Armv8.6-A
1552 - Added support for Armv8.6 Enhanced Counter Virtualization (ECV)
1553 - Added support for Armv8.6 Fine Grained Traps (FGT)
1554 - Added support for Armv8.6 WFE trap delays
1555 - Bootloader images
1556 - Added support for Measured Boot
1557 - Build System
1558 - Added build option `COT_DESC_IN_DTB` to create Chain of Trust at runtime
1559 - Added build option `OPENSSL_DIR` to direct tools to OpenSSL libraries
1560 - Added build option `RAS_TRAP_LOWER_EL_ERR_ACCESS` to enable trapping RAS
1562 - Extended build option `BRANCH_PROTECTION` to support branch target
1564 - Common components
1565 - Added support for exporting CPU nodes to the device tree
1566 - Added support for single and dual-root Chains of Trust in secure partitions
1567 - Drivers
1568 - Added Broadcom RNG driver
1569 - Added Marvell `mg_conf_cm3` driver
1570 - Added System Control and Management Interface (SCMI) driver
1571 - Added STMicroelectronics ETZPC driver
1572 - Arm GICv3
1573 - Added support for detecting topology at runtime
1574 - Dual Root
1575 - Added support for platform certificates
1576 - Marvell Cache LLC
1577 - Added support for mapping the entire LLC into SRAM
1578 - Marvell CCU
1579 - Added workaround for erratum 3033912
1580 - Marvell CP110 COMPHY
1581 - Added support for SATA COMPHY polarity inversion
1582 - Added support for USB COMPHY polarity inversion
1583 - Added workaround for erratum IPCE_COMPHY-1353
1584 - STM32MP1 Clocks
1585 - Added `RTC` as a gateable clock
1586 - Added support for shifted clock selector bit masks
1587 - Added support for using additional clocks as parents
1588 - Libraries
1589 - C standard library
1590 - Added support for hexadecimal and pointer format specifiers in `snprint()`
1591 - Added assembly alternatives for various library functions
1592 - CPU support
1593 - Arm Cortex-A53
1594 - Added workaround for erratum 1530924
1595 - Arm Cortex-A55
1596 - Added workaround for erratum 1530923
1597 - Arm Cortex-A57
1598 - Added workaround for erratum 1319537
1599 - Arm Cortex-A76
1600 - Added workaround for erratum 1165522
1601 - Added workaround for erratum 1791580
1602 - Added workaround for erratum 1868343
1603 - Arm Cortex-A72
1604 - Added workaround for erratum 1319367
1605 - Arm Cortex-A77
1606 - Added workaround for erratum 1508412
1607 - Added workaround for erratum 1800714
1608 - Added workaround for erratum 1925769
1609 - Arm Neoverse-N1
1610 - Added workaround for erratum 1868343
1611 - EL3 Runtime
1612 - Added support for saving/restoring registers related to nested
1614 - FCONF
1615 - Added support for Measured Boot
1616 - Added support for populating Chain of Trust properties
1617 - Added support for loading the `fw_config` image
1618 - Measured Boot
1619 - Added support for event logging
1620 - Platforms
1621 - Added support for Arm Morello
1622 - Added support for Arm TC0
1623 - Added support for iEi PUZZLE-M801
1624 - Added support for Marvell OCTEON TX2 T9130
1625 - Added support for MediaTek MT8192
1626 - Added support for NXP i.MX 8M Nano
1627 - Added support for NXP i.MX 8M Plus
1628 - Added support for QTI CHIP SC7180
1629 - Added support for STM32MP151F
1630 - Added support for STM32MP153F
1631 - Added support for STM32MP157F
1632 - Added support for STM32MP151D
1633 - Added support for STM32MP153D
1634 - Added support for STM32MP157D
1635 - Arm
1636 - Added support for platform-owned SPs
1637 - Added support for resetting to BL31
1638 - Arm FPGA
1639 - Added support for Klein
1640 - Added support for Matterhorn
1641 - Added support for additional CPU clusters
1642 - Arm FVP
1643 - Added support for performing SDEI platform setup at runtime
1644 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
1645 - Added an `id` field under the NV-counter node in the device tree to
1646 differentiate between trusted and non-trusted NV-counters
1647 - Added support for extracting the clock frequency from the timer node in
1649 - Arm Juno
1650 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
1651 - Arm N1SDP
1652 - Added support for cross-chip PCI-e
1653 - Marvell
1654 - Added support for AVS reduction
1655 - Marvell ARMADA
1656 - Added support for twin-die combined memory device
1657 - Marvell ARMADA A8K
1658 - Added support for DDR with 32-bit bus width (both ECC and non-ECC)
1659 - Marvell AP806
1660 - Added workaround for erratum FE-4265711
1661 - Marvell AP807
1662 - Added workaround for erratum 3033912
1663 - Nvidia Tegra
1664 - Added debug printouts indicating SC7 entry sequence completion
1665 - Added support for SDEI
1666 - Added support for stack protection
1667 - Added support for GICv3
1668 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
1669 - Nvidia Tegra194
1670 - Added support for RAS exception handling
1671 - Added support for SPM
1672 - NXP i.MX
1673 - Added support for SDEI
1674 - QEMU SBSA
1675 - Added support for the Secure Partition Manager
1676 - QTI
1677 - Added RNG driver
1678 - Added SPMI PMIC arbitrator driver
1679 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command
1680 - STM32MP1
1681 - Added support for exposing peripheral interfaces to the non-secure world
1683 - Added support for SCMI clock and reset services
1684 - Added support for STM32MP15x CPU revision Z
1685 - Added support for SMCCC services in `SP_MIN`
1686 - Services
1687 - Secure Payload Dispatcher
1688 - Added a provision to allow clients to retrieve the service UUID
1689 - SPMC
1690 - Added secondary core endpoint information to the SPMC context structure
1691 - SPMD
1692 - Added support for booting OP-TEE as a guest S-EL1 Secure Partition on top
1693 of Hafnium in S-EL2
1694 - Added a provision for handling SPMC messages to register secondary core
1696 - Added support for power management operations
1697 - Tools
1698 - CertCreate
1699 - Added support for secure partitions
1700 - CertTool
1701 - Added support for the `fw_config` image
1702 - FIPTool
1703 - Added support for the `fw_config` image
1707 - Architecture support
1708 - Bootloader images
1709 - Build System
1710 - The top-level Makefile now supports building FipTool on Windows
1711 - The default value of `KEY_SIZE` has been changed to to 2048 when RSA is in
1713 - The previously-deprecated macro `__ASSEMBLY__` has now been removed
1714 - Common components
1715 - Certain functions that flush the console will no longer return error
1717 - Drivers
1718 - Arm GIC
1719 - Usage of `drivers/arm/gic/common/gic_common.c` has now been deprecated in
1721 - Added support for detecting the presence of a GIC600-AE
1722 - Added support for detecting the presence of a GIC-Clayton
1723 - Marvell MCI
1724 - Now performs link tuning for all MCI interfaces to improve performance
1725 - Marvell MoChi
1726 - PIDI masters are no longer forced into a non-secure access level when
1728 - The SD/MMC controllers are now accessible from guest virtual machines
1729 - Mbed TLS
1730 - Migrated to Mbed TLS v2.24.0
1731 - STM32 FMC2 NAND
1732 - Adjusted FMC node bindings to include an EBI controller node
1733 - STM32 Reset
1734 - Added an optional timeout argument to assertion functions
1735 - STM32MP1 Clocks
1736 - Enabled several additional system clocks during initialization
1737 - Libraries
1738 - C Standard Library
1739 - Improved `memset` performance by avoiding single-byte writes
1740 - Added optimized assembly variants of `memset`
1741 - CPU support
1742 - Renamed Cortex-Hercules to Cortex-A78
1743 - Renamed Cortex-Hercules AE to Cortex-A78 AE
1744 - Renamed Neoverse Zeus to Neoverse V1
1745 - Coreboot
1746 - Updated ‘coreboot_get_memory_type’ API to take an extra argument as a
1748 - libfdt
1749 - Updated to latest upstream version
1750 - Platforms
1751 - Allwinner
1752 - Disabled non-secure access to PRCM power control registers
1753 - Arm
1754 - `BL32_BASE` is now platform-dependent when `SPD_spmd` is enabled
1755 - Added support for loading the Chain of Trust from the device tree
1756 - The firmware update check is now executed only once
1757 - NV-counter base addresses are now loaded from the device tree when
1759 - Now loads and populates `fw_config` and `tb_fw_config`
1760 - FCONF population now occurs after caches have been enabled in order to
1762 - Arm Corstone-700
1763 - Platform support has been split into both an FVP and an FPGA variant
1764 - Arm FPGA
1765 - DTB and BL33 load addresses have been given sensible default values
1766 - Now reads generic timer counter frequency, GICD and GICR base addresses,
1768 - Now treats the primary PL011 UART as an SBSA Generic UART
1769 - Arm FVP
1770 - Secure interrupt descriptions, UART parameters, clock frequencies and
1772 - UART parameters are now queried through the device tree
1773 - Added an owner field to Cactus secure partitions
1774 - Increased the maximum size of BL2 when the Chain of Trust is loaded from
1776 - Reduces the maximum size of BL31
1777 - The `FVP_USE_SP804_TIMER` and `FVP_VE_USE_SP804_TIMER` build options have
1779 - Added a third Cactus partition to manifests
1780 - Device tree nodes now store UUIDs in big-endian
1781 - Arm Juno
1782 - Increased the maximum size of BL2 when optimizations have not been applied
1783 - Reduced the maximum size of BL31 and BL32
1784 - Marvell AP807
1785 - Enabled snoop filters
1786 - Marvell ARMADA A3K
1787 - UART recovery images are now suffixed with `.bin`
1788 - Marvell ARMADA A8K
1789 - Option `BL31_CACHE_DISABLE` is now disabled (`0`) by default
1790 - Nvidia Tegra
1791 - Added VPR resize supported check when processing video memory resize
1793 - Added SMMU verification to prevent potential issues caused by undetected
1795 - The GIC CPU interface is now properly disabled after CPU off
1796 - The GICv2 sources list and the `BL31_SIZE` definition have been made
1797 platform-specific
1798 - The SPE driver will no longer flush the console when writing individual
1800 - Nvidia Tegra194
1801 - TZDRAM setup has been moved to platform-specific early boot handlers
1802 - Increased verbosity of debug prints for RAS SErrors
1803 - Support for powering down CPUs during CPU suspend has been removed
1804 - Now verifies firewall settings before using resources
1805 - TI K3
1806 - The UART number has been made configurable through `K3_USART`
1807 - Rockchip RK3368
1808 - The maximum number of memory map regions has been increased to 20
1809 - Socionext Uniphier
1810 - The maximum size of BL33 has been increased to support larger bootloaders
1811 - STM32
1812 - Removed platform-specific DT functions in favour of using existing generic
1814 - STM32MP1
1815 - Increased verbosity of exception reports in debug builds
1816 - Device trees have been updated to align with the Linux kernel
1817 - Now uses the ETZPC driver to configure secure-aware interfaces for
1818 assignment to the non-secure world
1819 - Finished good variants have been added to the board identifier
1821 - Non-secure access to clocks and reset domains now depends on their state
1823 - NEON is now disabled in `SP_MIN`
1824 - The last page of `SYSRAM` is now used as SCMI shared memory
1825 - Checks to verify platform compatibility have been added to verify that an
1827 - QEMU SBSA
1828 - Removed support for Arm's Cortex-A53
1829 - Services
1830 - Renamed SPCI to FF-A
1831 - SPMD
1832 - No longer forwards requests to the non-secure world when retrieving
1834 - SPMC manifest size is now retrieved directly from SPMD instead of the
1836 - The FF-A version handler now returns SPMD's version when the origin of the
1838 non-secure
1839 - SPMC
1840 - Updated the manifest to declare CPU nodes in descending order as per the
1842 - Updated the device tree to mark 2GB as device memory for the first
1844 - Increased the number of EC contexts to the maximum number of PEs as per
1845 the FF-A specification
1846 - Tools
1847 - FIPTool
1848 - Now returns `0` on `help` and `help <command>`
1849 - Marvell DoImage
1850 - Updated Mbed TLS support to v2.8
1851 - SPTool
1852 - Now appends CertTool arguments
1856 - Bootloader images
1857 - Fixed compilation errors for dual-root Chains of Trust caused by symbol
1859 - BL31
1860 - Fixed compilation errors on platforms with fewer than 4 cores caused by
1862 - Fixed compilation errors when building a position-independent image
1863 - Build System
1864 - Fixed invalid empty version strings
1865 - Fixed compilation errors on Windows caused by a non-portable architecture
1867 - Drivers
1868 - Arm GIC
1869 - Fixed spurious interrupts caused by a missing barrier
1870 - STM32 Flexible Memory Controller 2 (FMC2) NAND driver
1871 - Fixed runtime instability caused by incorrect error detection logic
1872 - STM32MP1 Clock driver
1873 - Fixed incorrectly-formatted log messages
1874 - Fixed runtime instability caused by improper clock gating procedures
1875 - STMicroelectronics Raw NAND driver
1876 - Fixed runtime instability caused by incorrect unit conversion when waiting
1878 - Libraries
1879 - AMU
1880 - Fixed timeout errors caused by excess error logging
1881 - EL3 Runtime
1882 - Fixed runtime instability caused by improper register save/restore routine
1884 - FCONF
1885 - Fixed failure to initialize GICv3 caused by overly-strict device tree
1887 - Measured Boot
1888 - Fixed driver errors caused by a missing default value for the `HASH_ALG`
1890 - SPE
1891 - Fixed feature detection check that prevented CPUs supporting SVE from
1892 detecting support for SPE in the non-secure world
1893 - Translation Tables
1894 - Fixed various MISRA-C 2012 static analysis violations
1895 - Platforms
1896 - Allwinner A64
1897 - Fixed USB issues on certain battery-powered device caused by improperly
1899 - Arm
1900 - Fixed compilation errors caused by increase in BL2 size
1901 - Fixed compilation errors caused by missing Makefile dependencies to
1903 - Fixed MISRA-C 2012 static analysis violations caused by unused structures
1904 in include directives intended to be feature-gated
1905 - Arm FPGA
1906 - Fixed initialization issues caused by incorrect MPIDR topology mapping
1908 - Arm RD-N1-edge
1909 - Fixed compilation errors caused by mismatched parentheses in Makefile
1910 - Arm SGI
1911 - Fixed crashes due to the flash memory used for cold reboot attack
1913 - Intel Agilex
1914 - Fixed initialization issues caused by several compounding bugs
1915 - Marvell
1916 - Fixed compilation warnings caused by multiple Makefile inclusions
1917 - Marvell ARMADA A3K
1918 - Fixed boot issue in debug builds caused by checks on the BL33 load address
1920 - Nvidia Tegra
1921 - Fixed incorrect delay timer reads
1922 - Fixed spurious interrupts in the non-secure world during cold boot caused
1924 - Fixed faulty video memory resize sequence
1925 - Nvidia Tegra194
1926 - Fixed incorrect alignment of TZDRAM base address
1927 - NXP iMX8M
1928 - Fixed CPU hot-plug issues caused by race condition
1929 - STM32MP1
1930 - Fixed compilation errors in highly-parallel builds caused by incorrect
1932 - STM32MP157C-ED1
1933 - Fixed initialization issues caused by missing device tree hash node
1934 - Raspberry Pi 3
1935 - Fixed compilation errors caused by incorrect dependency ordering in
1937 - Rockchip
1938 - Fixed initialization issues caused by non-critical errors when parsing FDT
1940 - Rockchip RK3368
1941 - Fixed runtime instability caused by incorrect CPUID shift value
1942 - QEMU
1943 - Fixed compilation errors caused by incorrect dependency ordering in
1945 - QEMU SBSA
1946 - Fixed initialization issues caused by FDT exceeding reserved memory size
1947 - QTI
1948 - Fixed compilation errors caused by inclusion of a non-existent file
1949 - Services
1950 - FF-A (previously SPCI)
1951 - Fixed SPMD aborts caused by incorrect behaviour when the manifest is
1952 page-aligned
1953 - Tools
1954 - Fixed compilation issues when compiling tools from within their respective
1956 - FIPTool
1957 - Fixed command line parsing issues on Windows when using arguments whose
1959 - Marvell DoImage
1960 - Fixed PKCS signature verification errors at boot on some platforms caused
1965 - Platforms
1966 - NVIDIA Tegra
1967 - Signed comparison compiler warnings occurring in libfdt are currently
1971 ## 2.3 (2020-04-20)
1975 - Arm Architecture
1976 - Add support for Armv8.4-SecEL2 extension through the SPCI defined SPMD/SPMC
1978 - Build option to support EL2 context save and restore in the secure world
1980 - Add support for SMCCC v1.2 (introducing the new SMCCC_ARCH_SOC_ID SMC). Note
1982 done as part of future S-EL2/SPM development.
1983 - BL-specific
1984 - Enhanced BL2 bootloader flow to load secure partitions based on firmware
1986 - Changes necessary to support SEPARATE_NOBITS_REGION feature
1987 - TSP and BL2_AT_EL3: Add Position Independent Execution `PIE` support
1988 - Build System
1989 - Add support for documentation build as a target in Makefile
1990 - Add `COT` build option to select the Chain of Trust to use when the Trusted
1992 - Added creation and injection of secure partition packages into the FIP.
1993 - Build option to support SPMC component loading and run at S-EL1 or S-EL2
1995 - Enable MTE support
1996 - Enable Link Time Optimization in GCC
1997 - Enable -Wredundant-decls warning check
1998 - Makefile: Add support to optionally encrypt BL31 and BL32
1999 - Add support to pass the nt_fw_config DTB to OP-TEE.
2000 - Introduce per-BL `CPPFLAGS`, `ASFLAGS`, and `LDFLAGS`
2001 - build_macros: Add CREATE_SEQ function to generate sequence of numbers
2002 - CPU Support
2003 - cortex-a57: Enable higher performance non-cacheable load forwarding
2004 - Hercules: Workaround for Errata 1688305
2005 - Klein: Support added for Klein CPU
2006 - Matterhorn: Support added for Matterhorn CPU
2007 - Drivers
2008 - auth: Add `calc_hash` function for hash calculation. Used for authentication
2010 - cryptocell: Add authenticated decryption framework, and support for
2011 CryptoCell-713 and CryptoCell-712 RSA 3K
2012 - gic600: Add support for multichip configuration and Clayton
2013 - gicv3: Introduce makefile, Add extended PPI and SPI range, Add support for
2015 - gicv4: Add GICv4 extension for GIC driver
2016 - io: Add an IO abstraction layer to load encrypted firmwares
2017 - mhu: Derive doorbell base address
2018 - mtd: Add SPI-NOR, SPI-NAND, SPI-MEM, and raw NAND framework
2019 - scmi: Allow use of multiple SCMI channels
2020 - scu: Add a driver for snoop control unit
2021 - Libraries
2022 - coreboot: Add memory range parsing and use generic base address
2023 - compiler_rt: Import popcountdi2.c and popcountsi2.c files, aeabi_ldivmode.S
2025 - debugFS: Add DebugFS functionality
2026 - el3_runtime: Add support for enabling S-EL2
2027 - fconf: Add Firmware Configuration Framework (fconf) (experimental).
2028 - libc: Add memrchr function
2029 - locks: bakery: Use is_dcache_enabled() helper and add a DMB to the
2031 - psci: Add support to enable different personality of the same soc.
2032 - xlat_tables_v2: Add support to pass shareability attribute for normal memory
2034 read-only xlat tables for BL31 memory, and add enable_mmu()
2035 - New Platforms Support
2036 - arm/arm_fpga: New platform support added for FPGA
2037 - arm/rddaniel: New platform support added for rd-daniel platform
2038 - brcm/stingray: New platform support added for Broadcom stingray platform
2039 - nvidia/tegra194: New platform support for Nvidia Tegra194 platform
2040 - Platforms
2041 - allwinner: Implement PSCI system suspend using SCPI, add a msgbox driver for
2043 - allwinner: axp: Add AXP805 support
2044 - allwinner: power: Add DLDO4 power rail
2045 - amlogic: axg: Add a build flag when using ATOS as BL32 and support for the
2047 - arm/a5ds: Add ethernet node and L2 cache node in devicetree
2048 - arm/common: Add support for the new `dualroot` chain of trust
2049 - arm/common: Add support for SEPARATE_NOBITS_REGION
2050 - arm/common: Re-enable PIE when RESET_TO_BL31=1
2051 - arm/common: Allow boards to specify second DRAM Base address and to define
2053 - arm/corstone700: Add support for mhuv2 and stack protector
2054 - arm/fvp: Add support for fconf in BL31 and SP_MIN. Populate power domain
2056 - arm/fvp: Add Cactus/Ivy Secure Partition information and use two instances
2057 of Cactus at S-EL1
2058 - arm/fvp: Add support to run BL32 in TDRAM and BL31 in secure DRAM
2059 - arm/fvp: Add support for GICv4 extension and BL2 hash calculation in BL1
2060 - arm/n1sdp: Setup multichip gic routing table, update platform macros for
2061 dual-chip setup, introduce platform information SDS region, add support to
2064 - arm/rdn1edge: Add support for dual-chip configuration and use CREATE_SEQ
2066 - arm/sgm: Always use SCMI for SGM platforms
2067 - arm/sgm775: Add support for dynamic config using fconf
2068 - arm/sgi: Add multi-chip mode parameter in HW_CONFIG dts, macros for remote
2071 - brcm: Add BL2 and BL31 support common across Broadcom platforms
2072 - brcm: Add iproc SPI Nor flash support, spi driver, emmc driver, and support
2074 - hisilicon: hikey960: Enable system power off callback
2075 - intel: Enable bridge access, SiP SMC secure register access, and uboot
2077 - intel: Implement platform specific system reset 2
2078 - intel: Introduce mailbox response length handling
2079 - imx: console: Use CONSOLE_T_BASE for UART base address and generic console_t
2081 - imx8mm: Provide uart base as build option and add the support for opteed spd
2083 - imx8qx: Provide debug uart num as build
2084 - imx8qm: Apply clk/pinmux configuration for DEBUG_CONSOLE and provide debug
2086 - marvell: a8k: Implement platform specific power off and add support for
2088 - mediatek: mt8183: Add Vmodem/Vcore DVS init level
2089 - qemu: Support optional encryption of BL31 and BL32 images and
2091 - qemu: Define ARMV7_SUPPORTS_VFP
2092 - qemu: Implement PSCI_CPU_OFF and qemu_system_off via semihosting
2093 - renesas: rcar_gen3: Add new board revision for M3ULCB
2094 - rockchip: Enable workaround for erratum 855873, claim a macro to enable hdcp
2098 - rpi: Implement PSCI CPU_OFF, use MMIO accessor, autodetect Mini-UART vs.
2099 PL011 configuration, and allow using PL011 UART for RPi3/RPi4
2100 - rpi3: Include GPIO driver in all BL stages and use same "clock-less" setup
2101 scheme as RPi4
2102 - rpi3/4: Add support for offlining CPUs
2103 - st: stm32mp1: platform.mk: Support generating multiple images in one build,
2106 - st: stm32mp1: Add support for SPI-NOR, raw NAND, and SPI-NAND boot device,
2108 - st: stm32mp1: Use stm32mp_get_ddr_ns_size() function, set XN attribute for
2109 some areas in BL2, dynamically map DDR later and non-cacheable during its
2110 test, add a function to get non-secure DDR size, add DT helper for reg by
2112 - socionext: uniphier: Turn on ENABLE_PIE
2113 - ti: k3: Add PIE support
2114 - xilinx: versal: Add set wakeup source, client wakeup, query data, request
2117 - xilinx: versal: Implement power down/restart related EEMI, SMC handler for
2120 - xilinx: versal: Enable ipi mailbox service
2121 - xilinx: versal: Add get_api_version support and support to send PM API to
2123 - xilinx: zynqmp: Add checksum support for IPI data, GET_CALLBACK_DATA
2128 - Security
2129 - Use Speculation Barrier instruction for v8.5+ cores
2130 - Add support for optional firmware encryption feature (experimental).
2131 - Introduce a new `dualroot` chain of trust.
2132 - aarch64: Prevent speculative execution past ERET
2133 - aarch32: Stop speculative execution past exception returns.
2134 - SPCI
2135 - Introduced the Secure Partition Manager Dispatcher (SPMD) component as a new
2137 - Tools
2138 - cert_create: Introduce CoT build option and TBBR CoT makefile, and define
2140 - encrypt_fw: Add firmware authenticated encryption tool
2141 - memory: Add show_memory script that prints a representation of the memory
2146 - Arm Architecture
2147 - PIE: Make call to GDT relocation fixup generalized
2148 - BL-Specific
2149 - Increase maximum size of BL2 image
2150 - BL31: Discard .dynsym .dynstr .hash sections to make ENABLE_PIE work
2151 - BL31: Split into two separate memory regions
2152 - Unify BL linker scripts and reduce code duplication.
2153 - Build System
2154 - Changes to drive cert_create for dualroot CoT
2155 - Enable -Wlogical-op always
2156 - Enable -Wshadow always
2157 - Refactor the warning flags
2158 - PIE: Pass PIE options only to BL31
2159 - Reduce space lost to object alignment
2160 - Set lld as the default linker for Clang builds
2161 - Remove -Wunused-const-variable and -Wpadded warning
2162 - Remove -Wmissing-declarations warning from WARNING1 level
2163 - Drivers
2164 - authentication: Necessary fix in drivers to upgrade to mbedtls-2.18.0
2165 - console: Integrate UART base address in generic console_t
2166 - gicv3: Change API for GICR_IPRIORITYR accessors and separate GICD and GICR
2168 - io: Change seek offset to signed long long and panic in case of io setup
2170 - smmu: SMMUv3: Changed retry loop to delay timer
2171 - tbbr: Reduce size of hash and ECDSA key buffers when possible
2172 - Library Code
2173 - libc: Consolidate the size_t, unified, and NULL definitions, and unify
2175 - ROMLIB: Optimize memory layout when ROMLIB is used
2176 - xlat_tables_v2: Use ARRAY_SIZE in REGISTER_XLAT_CONTEXT_FULL_SPEC, merge
2179 - Platforms
2180 - allwinner: Adjust SRAM A2 base to include the ARISC vectors, clean up MMU
2184 - allwinner: h6: power: Switch to using the AXP driver
2185 - allwinner: a64: power: Use fdt_for_each_subnode, remove obsolete register
2187 - allwinner: Build PMIC bus drivers only in BL31, clean up PMIC-related error
2189 - arm/a5ds: Change boot address to point to DDR address
2190 - arm/common: Check for out-of-bound accesses in the platform io policies
2191 - arm/corstone700: Updating the kernel arguments to support initramfs, use
2193 - arm/fvp: Modify multithreaded dts file of DynamIQ FVPs, slightly bump the
2194 stack size for bl1 and bl2, remove re-definition of topology related build
2197 - arm/juno: Maximize space allocated to SCP_BL2
2198 - arm/sgi: Bump bl1 RW limit, mark remote chip shared ram as non-cacheable,
2202 - common: Refactor load_auth_image_internal().
2203 - hisilicon: Remove uefi-tools in hikey and hikey960 documentation
2204 - intel: Modify non secure access function, BL31 address mapping, mailbox's
2206 - intel: Remove un-needed checks for qspi driver r/w and s10 unused source
2208 - intel: Change all global sip function to static
2209 - intel: Refactor common platform code
2210 - intel: Create SiP service header file
2211 - marvell: armada: scp_bl2: Allow loading up to 8 images
2212 - marvell: comphy-a3700: Support SGMII COMPHY power off and fix USB3 powering
2214 - marvell: Consolidate console register calls
2215 - mediatek: mt8183: Protect 4GB~8GB dram memory, refine GIC driver for low
2217 - qemu: Update flash address map to keep FIP in secure FLASH0
2218 - renesas: rcar_gen3: Update IPL and Secure Monitor Rev.2.0.6, update DDR
2220 add missing #{address,size}-cells into generated DT, pass DT to OpTee OS,
2222 - rockchip: Make miniloader ddr_parameter handling optional, cleanup securing
2226 - rpi: Move plat_helpers.S to common
2227 - rpi3: gpio: Simplify GPIO setup
2228 - rpi4: Skip UART initialisation
2229 - st: stm32m1: Use generic console_t data structure, remove second QSPI flash
2231 - socionext: uniphier: Make on-chip SRAM and I/O register regions configurable
2232 - socionext: uniphier: Make PSCI related, counter control, UART, pinmon, NAND
2234 - socionext: uniphier: Change block_addressing flag and the return value type
2236 - socionext: uniphier: Run BL33 at EL2, call uniphier_scp_is_running() only
2237 when on-chip STM is supported, define PLAT_XLAT_TABLES_DYNAMIC only for BL2,
2238 support read-only xlat tables, use enable_mmu() in common function, shrink
2241 position-independent, make uniphier_mmap_setup() work with PIE, pass SCP
2245 - spd/trusty: Disable error messages seen during boot, allow gic base to be
2248 - ti: k3: common: Enable ARM cluster power down and rename device IDs to be
2250 - ti: k3: drivers: ti_sci: Put sequence number in coherent memory and remove
2252 - xilinx: Move ipi mailbox svc to xilinx common
2253 - xilinx: zynqmp: Use GIC framework for warm restart
2254 - xilinx: zynqmp: pm: Move custom clock flags to typeflags, remove
2256 - xilinx: versal: Increase OCM memory size for DEBUG builds and adjust cpu
2258 - Tools
2259 - sptool: Updated sptool to accommodate building secure partition packages.
2263 - Arm Architecture
2264 - Fix crash dump for lower EL
2265 - BL-Specific
2266 - Bug fix: Protect TSP prints with lock
2267 - Fix boot failures on some builds linked with ld.lld.
2268 - Build System
2269 - Fix clang build if CC is not in the path.
2270 - Fix 'BL stage' comment for build macros
2271 - Code Quality
2272 - coverity: Fix various MISRA violations including null pointer violations, C
2276 - Based on coding guidelines, replace all `unsigned long` depending on if
2278 - Unify type of "cpu_idx" and Platform specific defines across PSCI module.
2279 - Drivers
2280 - auth: Necessary fix in drivers to upgrade to mbedtls-2.18.0
2281 - delay_timer: Fix non-standard frequency issue in udelay
2282 - gicv3: Fix compiler dependent behavior
2283 - gic600: Fix include ordering according to the coding style and power up
2285 - Library Code
2286 - el3_runtime: Fix stack pointer maintenance on EA handling path, fixup
2289 - libc: Fix SIZE_MAX on AArch32
2290 - locks: T589: Fix insufficient ordering guarantees in bakery lock
2291 - pmf: Fix 'tautological-constant-compare' error, Make the runtime
2294 - xlat_tables_v2: Fix assembler warning of PLAT_RO_XLAT_TABLES
2295 - Platforms
2296 - allwinner: Fix H6 GPIO and CCU memory map addresses and incorrect ARISC code
2298 - arm/a5ds: Correct system freq and Cache Writeback Granule, and cleanup
2299 enable-method in devicetree
2300 - arm/fvp: Fix incorrect GIC mapping, BL31 load address and image size for
2303 - arm/fvp: spm-mm: Correcting instructions to build SPM for FVP
2304 - arm/common: Fix ROTPK hash generation for ECDSA encryption, BL2 bug in
2306 - arm/rde1edge: Fix incorrect topology tree description
2307 - arm/sgi: Fix the incorrect check for SCMI channel ID
2308 - common: Flush dcache when storing timestamp
2309 - intel: Fix UEFI decompression issue, memory calibration, SMC SIP service,
2312 - imx: Fix shift-overflow errors, the rdc memory region slot's offset,
2315 - mediatek: mt8183: Fix AARCH64 init fail on CPU0
2316 - rockchip: Fix definition of struct param_ddr_usage
2317 - rpi4: Fix documentation of armstub config entry
2318 - st: Correct io possible NULL pointer dereference and device_size type, nand
2320 return value and correctly check pwr-regulators node
2321 - xilinx: zynqmp: Correct syscnt freq for QEMU and fix clock models and IDs of
2322 GEM-related clocks
2326 - Build System
2327 - dtb: DTB creation not supported when building on a Windows host.
2332 - Intermittent assertion firing `ASSERT: services/spd/tspd/tspd_main.c:105`
2333 - Coverity
2334 - Intermittent Race condition in Coverity Jenkins Build Job
2335 - Platforms
2336 - arm/juno: System suspend from Linux does not function as documented in the
2344 - mediatek/mt6795: This platform does not build in this release
2346 ## 2.2 (2019-10-22)
2350 - Architecture
2351 - Enable Pointer Authentication (PAuth) support for Secure World
2353 - Adds support for ARMv8.3-PAuth in BL1 SMC calls and BL2U image for
2356 - Enable Memory Tagging Extension (MTE) support in both secure and non-secure
2359 - Adds support for the new Memory Tagging Extension arriving in ARMv8.5. MTE
2361 - To enable it at ELx for both the non-secure and the secure world, the
2366 - Add support for Branch Target Identification (BTI)
2367 - Build System
2368 - Modify FVP makefile for CPUs that support both AArch64/32
2369 - AArch32: Allow compiling with soft-float toolchain
2370 - Makefile: Add default warning flags
2371 - Add Makefile check for PAuth and AArch64
2372 - Add compile-time errors for HW_ASSISTED_COHERENCY flag
2373 - Apply compile-time check for AArch64-only CPUs
2374 - build_macros: Add mechanism to prevent bin generation.
2375 - Add support for default stack-protector flag
2376 - spd: opteed: Enable NS_TIMER_SWITCH
2377 - plat/arm: Skip BL2U if RESET_TO_SP_MIN flag is set
2378 - Add new build option to let each platform select which implementation of
2380 - CPU Support
2381 - DSU: Workaround for erratum 798953 and 936184
2382 - Neoverse N1: Force cacheable atomic to near atomic
2383 - Neoverse N1: Workaround for erratum 1073348, 1130799, 1165347, 1207823,
2385 - Neoverse Zeus: Apply the MSR SSBS instruction
2386 - cortex-Hercules/HerculesAE: Support added for Cortex-Hercules and
2387 Cortex-HerculesAE CPUs
2388 - cortex-Hercules/HerculesAE: Enable AMU for Cortex-Hercules and
2389 Cortex-HerculesAE
2390 - cortex-a76AE: Support added for Cortex-A76AE CPU
2391 - cortex-a76: Workaround for erratum 1257314, 1262606, 1262888, 1275112,
2393 - cortex-a65/a65AE: Support added for Cortex-A65 and Cortex-A65AE CPUs
2394 - cortex-a65: Enable AMU for Cortex-A65
2395 - cortex-a55: Workaround for erratum 1221012
2396 - cortex-a35: Workaround for erratum 855472
2397 - cortex-a9: Workaround for erratum 794073
2398 - Drivers
2399 - console: Allow the console to register multiple times
2401 - delay: Timeout detection support
2403 - gicv3: Enabled multi-socket GIC redistributor frame discovery and migrated
2406 - Adds `gicv3_rdistif_probe` function that delegates the responsibility of
2409 - sbsa: Add SBSA watchdog driver
2411 - st/stm32_hash: Add HASH driver
2413 - ti/uart: Add an AArch32 variant
2414 - Library at ROM (romlib)
2415 - Introduce BTI support in Library at ROM (romlib)
2416 - New Platforms Support
2417 - amlogic: g12a: New platform support added for the S905X2 (G12A) platform
2418 - amlogic: meson/gxl: New platform support added for Amlogic Meson S905x (GXL)
2419 - arm/a5ds: New platform support added for A5 DesignStart
2420 - arm/corstone: New platform support added for Corstone-700
2421 - intel: New platform support added for Agilex
2422 - mediatek: New platform support added for MediaTek mt8183
2423 - qemu/qemu_sbsa: New platform support added for QEMU SBSA platform
2424 - renesas/rcar_gen3: plat: New platform support added for D3
2425 - rockchip: New platform support added for px30
2426 - rockchip: New platform support added for rk3288
2427 - rpi: New platform support added for Raspberry Pi 4
2428 - Platforms
2429 - arm/common: Introduce wrapper functions to setup secure watchdog
2430 - arm/fvp: Add Delay Timer driver to BL1 and BL31 and option for defining
2432 - arm/fvp: Add Linux DTS files for 32 bit threaded FVPs
2433 - arm/n1sdp: Add code for DDR ECC enablement and BL33 copy to DDR, Initialise
2435 - arm/juno: Use shared mbedtls heap between BL1 and BL2 and add basic support
2437 - imx: Basic support for PicoPi iMX7D, rdc module init, caam module init,
2439 - intel: Add ncore ccu driver
2440 - mediatek/mt81\*: Use new bl31_params_parse() helper
2441 - nvidia: tegra: Add support for multi console interface
2442 - qemu/qemu_sbsa: Adding memory mapping for both FLASH0/FLASH1
2443 - qemu: Added gicv3 support, new console interface in AArch32, and
2444 sub-platforms
2445 - renesas/rcar_gen3: plat: Add R-Car V3M support, new board revision for
2446 H3ULCB, DBSC4 setting before self-refresh mode
2447 - socionext/uniphier: Support console based on multi-console
2448 - st: stm32mp1: Add OP-TEE, Avenger96, watchdog, LpDDR3, authentication
2450 - ti/k3: common: Add support for J721E, Use coherent memory for shared data,
2452 - xilinx/zynqmp: Add support for multi console interface, Initialize IPI table
2454 - PSCI
2455 - Adding new optional PSCI hook `pwr_domain_on_finish_late`
2456 - This PSCI hook `pwr_domain_on_finish_late` is similar to
2459 - Security
2460 - Speculative Store Bypass Safe (SSBS): Further enhance protection against
2463 - UBSAN support and handlers
2464 - Adds support for the Undefined Behaviour sanitizer. There are two types of
2465 support offered - minimalistic trapping support which essentially
2468 - Tools
2469 - cert_create: Add support for bigger RSA key sizes (3KB and 4KB), previously
2471 - fiptool: Add support to build fiptool on Windows.
2475 - Architecture
2476 - Refactor ARMv8.3 Pointer Authentication support code
2477 - backtrace: Strip PAC field when PAUTH is enabled
2478 - Prettify crash reporting output on AArch64.
2479 - Rework smc_unknown return code path in smc_handler
2480 - Leverage the existing `el3_exit()` return routine for smc_unknown return
2482 - BL-Specific
2483 - Invalidate dcache build option for BL2 entry at EL3
2484 - Add missing support for BL2_AT_EL3 in XIP memory
2485 - Boot Flow
2486 - Add helper to parse BL31 parameters (both versions)
2487 - Factor out cross-BL API into export headers suitable for 3rd party code
2488 - Introduce lightweight BL platform parameter library
2489 - Drivers
2490 - auth: Memory optimization for Chain of Trust (CoT) description
2491 - bsec: Move bsec_mode_is_closed_device() service to platform
2492 - cryptocell: Move Cryptocell specific API into driver
2493 - gicv3: Prevent pending G1S interrupt from becoming G0 interrupt
2494 - mbedtls: Remove weak heap implementation
2495 - mmc: Increase delay between ACMD41 retries
2496 - mmc: stm32_sdmmc2: Correctly manage block size
2497 - mmc: stm32_sdmmc2: Manage max-frequency property from DT
2498 - synopsys/emmc: Do not change FIFO TH as this breaks some platforms
2499 - synopsys: Update synopsys drivers to not rely on undefined overflow
2501 - ufs: Extend the delay after reset to wait for some slower chips
2502 - Platforms
2503 - amlogic/meson/gxl: Remove BL2 dependency from BL31
2504 - arm/common: Shorten the Firmware Update (FWU) process
2505 - arm/fvp: Remove GIC initialisation from secondary core cold boot
2506 - arm/sgm: Temporarily disable shared Mbed TLS heap for SGM
2507 - hisilicon: Update hisilicon drivers to not rely on undefined overflow
2509 - imx: imx8: Replace PLAT_IMX8\* with PLAT_imx8\*, remove duplicated linker
2512 - marvell: Prevent SError accessing PCIe link, Switch to xlat_tables_v2, do
2515 - mediatek: mt8173: Refactor RTC and PMIC drivers
2516 - mediatek: mt8173: Apply MULTI_CONSOLE framework
2517 - nvidia: Tegra: memctrl_v2: fix "overflow before widen" coverity issue
2518 - qemu: Simplify the image size calculation, Move and generalise FDT PSCI
2520 - renesas/rcar_gen3: Convert to multi-console API, update QoS setting, Update
2524 - rockchip: Allow SOCs with undefined wfe check bits, Streamline and complete
2525 UARTn_BASE macros, drop rockchip-specific imported linker symbols for bl31,
2528 - rpi/rpi3: Move shared rpi3 files into common directory
2529 - socionext/uniphier: Set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console
2531 - socionext/uniphier: Replace DIV_ROUND_UP() with div_round_up() from
2533 - st/stm32mp: Split stm32mp_io_setup function, move
2536 device tree files with internal devs, enable RTCAPB clock for dual-core
2539 - ti/k3: Enable SEPARATE_CODE_AND_RODATA by default, Remove shared RAM space,
2542 - PSCI
2543 - PSCI: Lookup list of parent nodes to lock only once
2544 - Secure Partition Manager (SPM): SPCI Prototype
2545 - Fix service UUID lookup
2546 - Adjust size of virtual address space per partition
2547 - Refactor xlat context creation
2548 - Move shim layer to TTBR1_EL1
2549 - Ignore empty regions in resource description
2550 - Security
2551 - Refactor SPSR initialisation code
2552 - SMMUv3: Abort DMA transactions
2553 - For security DMA should be blocked at the SMMU by default unless
2557 - Moves `bl1_platform_setup()` function from arm_bl1_setup.c to FVP
2559 - Tools
2560 - cert_create: Remove RSA PKCS#1 v1.5 support
2564 - Architecture
2565 - Fix the CAS spinlock implementation by adding a missing DSB in
2567 - AArch64: Fix SCTLR bit definitions
2568 - Removes incorrect `SCTLR_V_BIT` definition and adds definitions for
2569 ARMv8.3-Pauth `EnIB`, `EnDA` and `EnDB` bits.
2570 - Fix restoration of PAuth context
2571 - Replace call to `pauth_context_save()` with `pauth_context_restore()` in
2573 - BL-Specific Issues
2574 - Fix BL31 crash reporting on AArch64 only platforms
2575 - Build System
2576 - Remove several warnings reported with W=2 and W=1
2577 - Code Quality Issues
2578 - SCTLR and ACTLR are 32-bit for AArch32 and 64-bit for AArch64
2579 - Unify type of "cpu_idx" across PSCI module.
2580 - Assert if power level value greater then PSCI_INVALID_PWR_LVL
2581 - Unsigned long should not be used as per coding guidelines
2582 - Reduce the number of memory leaks in cert_create
2583 - Fix type of cot_desc_ptr
2584 - Use explicit-width data types in AAPCS parameter structs
2585 - Add python configuration for editorconfig
2586 - BL1: Fix type consistency
2587 - Enable -Wshift-overflow=2 to check for undefined shift behavior
2588 - Updated upstream platforms to not rely on undefined overflow behaviour
2589 - Coverity Quality Issues
2590 - Remove GGC ignore -Warray-bounds
2591 - Fix Coverity #261967, Infinite loop
2592 - Fix Coverity #343017, Missing unlock
2593 - Fix Coverity #343008, Side affect in assertion
2594 - Fix Coverity #342970, Uninitialized scalar variable
2595 - CPU Support
2596 - cortex-a12: Fix MIDR mask
2597 - Drivers
2598 - console: Remove Arm console unregister on suspend
2599 - gicv3: Fix support for full SPI range
2600 - scmi: Fix wrong payload length
2601 - Library Code
2602 - libc: Fix sparse warning for \_\_assert()
2603 - libc: Fix memchr implementation
2604 - Platforms
2605 - rpi: rpi3: Fix compilation error when stack protector is enabled
2606 - socionext/uniphier: Fix compilation fail for SPM support build config
2607 - st/stm32mp1: Fix TZC400 configuration against non-secure DDR
2608 - ti/k3: common: Fix RO data area size calculation
2609 - Security
2610 - AArch32: Disable Secure Cycle Counter
2611 - Changes the implementation for disabling Secure Cycle Counter. For ARMv8.5
2614 secure world entry/exit from/to Non-secure state, and cycle counting gets
2616 - AArch64: Disable Secure Cycle Counter
2617 - For ARMv8.5 the counter gets disabled by setting `MDCR_El3.SCCD` bit on
2619 saved/restored on secure world entry/exit from/to Non-secure state, and
2624 - Common Code
2625 - Remove MULTI_CONSOLE_API flag and references to it
2626 - Remove deprecated `plat_crash_console_*`
2627 - Remove deprecated interfaces `get_afflvl_shift`, `mpidr_mask_lower_afflvls`,
2629 - AARCH32/AARCH64 macros are now deprecated in favor of `__aarch64__`
2630 - `__ASSEMBLY__` macro is now deprecated in favor of `__ASSEMBLER__`
2631 - Drivers
2632 - console: Removed legacy console API
2633 - console: Remove deprecated finish_console_register
2634 - tzc: Remove deprecated types `tzc_action_t` and `tzc_region_attributes_t`
2635 - Secure Partition Manager (SPM):
2636 - Prototype SPCI-based SPM (services/std_svc/spm) will be replaced with
2641 - Build System Issues
2642 - dtb: DTB creation not supported when building on a Windows host.
2646 - Platform Issues
2647 - arm/juno: System suspend from Linux does not function as documented in the
2655 - mediatek/mt6795: This platform does not build in this release
2657 ## 2.1 (2019-03-29)
2661 - Architecture
2663 - Support for ARMv8.3 pointer authentication in the normal and secure worlds
2672 in EL3 and S-EL1/0.
2677 - Enable Data Independent Timing (DIT) in EL3, where supported
2679 - Build System
2681 - Support for BL-specific build flags
2683 - Support setting compiler target architecture based on `ARM_ARCH_MINOR` build
2686 - New `RECLAIM_INIT_CODE` build flag:
2693 Certain boot-time functions were marked with the `__init` attribute to
2696 - CPU Support
2698 - cortex-a76: Workaround for erratum 1073348
2699 - cortex-a76: Workaround for erratum 1220197
2700 - cortex-a76: Workaround for erratum 1130799
2701 - cortex-a75: Workaround for erratum 790748
2702 - cortex-a75: Workaround for erratum 764081
2703 - cortex-a73: Workaround for erratum 852427
2704 - cortex-a73: Workaround for erratum 855423
2705 - cortex-a57: Workaround for erratum 817169
2706 - cortex-a57: Workaround for erratum 814670
2707 - cortex-a55: Workaround for erratum 903758
2708 - cortex-a55: Workaround for erratum 846532
2709 - cortex-a55: Workaround for erratum 798797
2710 - cortex-a55: Workaround for erratum 778703
2711 - cortex-a55: Workaround for erratum 768277
2712 - cortex-a53: Workaround for erratum 819472
2713 - cortex-a53: Workaround for erratum 824069
2714 - cortex-a53: Workaround for erratum 827319
2715 - cortex-a17: Workaround for erratum 852423
2716 - cortex-a17: Workaround for erratum 852421
2717 - cortex-a15: Workaround for erratum 816470
2718 - cortex-a15: Workaround for erratum 827671
2720 - Documentation
2722 - Exception Handling Framework documentation
2723 - Library at ROM (romlib) documentation
2724 - RAS framework documentation
2725 - Coding Guidelines document
2727 - Drivers
2729 - ccn: Add API for setting and reading node registers
2731 - Adds `ccn_read_node_reg` function
2732 - Adds `ccn_write_node_reg` function
2734 - partition: Support MBR partition entries
2736 - scmi: Add `plat_css_get_scmi_info` function
2739 platform-specific instance of `scmi_channel_plat_info_t` and remove the
2742 - tzc380: Add TZC-380 TrustZone Controller driver
2744 - tzc-dmc620: Add driver to manage the TrustZone Controller within the DMC-620
2747 - Library at ROM (romlib)
2749 - Add platform-specific jump table list
2751 - Allow patching of romlib functions
2757 - Library Code
2759 - Support non-LPAE-enabled MMU tables in AArch32
2760 - mmio: Add `mmio_clrsetbits_16` function
2761 - 16-bit variant of `mmio_clrsetbits`
2762 - object_pool: Add Object Pool Allocator
2763 - Manages object allocation using a fixed-size static array
2764 - Adds `pool_alloc` and `pool_alloc_n` functions
2765 - Does not provide any functions to free allocated objects (by design)
2766 - libc: Added `strlcpy` function
2767 - libc: Import `strrchr` function from FreeBSD
2768 - xlat_tables: Add support for ARMv8.4-TTST
2769 - xlat_tables: Support mapping regions without an explicitly specified VA
2771 - Math
2773 - Added softudiv macro to support software division
2775 - Memory Partitioning And Monitoring (MPAM)
2777 - Enabled MPAM EL2 traps (`MPAMHCR_EL2` and `MPAM_EL2`)
2779 - Platforms
2781 - amlogic: Add support for Meson S905 (GXBB)
2783 - arm/fvp_ve: Add support for FVP Versatile Express platform
2785 - arm/n1sdp: Add support for Neoverse N1 System Development platform
2787 - arm/rde1edge: Add support for Neoverse E1 platform
2789 - arm/rdn1edge: Add support for Neoverse N1 platform
2791 - arm: Add support for booting directly to Linux without an intermediate
2794 - arm/juno: Enable new CPU errata workarounds for A53 and A57
2796 - arm/juno: Add romlib support
2803 - intel/stratix: Add support for Intel Stratix 10 SoC FPGA platform
2805 - marvell: Add support for Armada-37xx SoC platform
2807 - nxp: Add support for i.MX8M and i.MX7 Warp7 platforms
2809 - renesas: Add support for R-Car Gen3 platform
2811 - xilinx: Add support for Versal ACAP platforms
2813 - Position-Independent Executable (PIE)
2818 - Secure Partition Manager
2820 - New SPM implementation based on SPCI Alpha 1 draft specification
2833 defaults to 1, selecting the MM-based implementation.
2835 - Security
2837 - Spectre Variant-1 mitigations (`CVE-2017-5753`)
2839 - Use Speculation Store Bypass Safe (SSBS) functionality where available
2841 Provides mitigation against `CVE-2018-19440` (Not saving x0 to x3 registers
2846 - Build System
2848 - Warning levels are now selectable with `W=<1,2,3>`
2849 - Removed unneeded include paths in PLAT_INCLUDES
2850 - "Warnings as errors" (Werror) can be disabled using `E=0`
2851 - Support totally quiet output with `-s` flag
2852 - Support passing options to checkpatch using `CHECKPATCH_OPTS=<opts>`
2853 - Invoke host compiler with `HOSTCC / HOSTCCFLAGS` instead of `CC / CFLAGS`
2854 - Make device tree pre-processing similar to U-boot/Linux by:
2855 - Creating separate `CPPFLAGS` for DT preprocessing so that compiler options
2857 - Replacing `CPP` with `PP` for DT pre-processing
2859 - CPU Support
2861 - Errata report function definition is now mandatory for CPU support files
2866 - Documentation
2868 - Migrated some content from GitHub wiki to `docs/` directory
2869 - Security advisories now have CVE links
2870 - Updated copyright guidelines
2872 - Drivers
2874 - console: The `MULTI_CONSOLE_API` framework has been rewritten in C
2876 - console: Ported multi-console driver to AArch32
2878 - gic: Remove 'lowest priority' constants
2884 - delay_timer: Check that the Generic Timer extension is present
2886 - mmc: Increase command reply timeout to 10 milliseconds
2888 - mmc: Poll eMMC device status to ensure `EXT_CSD` command completion
2890 - mmc: Correctly check return code from `mmc_fill_device_info`
2892 - External Libraries
2894 - libfdt: Upgraded from 1.4.2 to 1.4.6-9
2898 - mbed TLS: Upgraded from 2.12 to 2.16
2904 Firmware-A. See the [mbed TLS releases] page for details on changes from the
2907 - Library Code
2909 - compiler-rt: Updated `lshrdi3.c` and `int_lib.h` with changes from LLVM
2911 - cpu: Updated macro that checks need for `CVE-2017-5715` mitigation
2912 - libc: Made setjmp and longjmp C standard compliant
2913 - libc: Allowed overriding the default libc (use `OVERRIDE_LIBC`)
2914 - libc: Moved setjmp and longjmp to the `libc/` directory
2916 - Platforms
2918 - Removed Mbed TLS dependency from plat_bl_common.c
2920 - arm: Removed unused `ARM_MAP_BL_ROMLIB` macro
2922 - arm: Removed `ARM_BOARD_OPTIMISE_MEM` feature and build flag
2924 - arm: Moved several components into `drivers/` directory
2928 - arm/juno: Increased maximum BL2 image size to `0xF000`
2932 - SCMI
2934 - Optimized bakery locks when hardware-assisted coherency is enabled using the
2937 - SDEI
2939 - Added support for unconditionally resuming secure world execution after {{
2943 non-secure world, and may have higher priority than secure world interrupts.
2945 non-secure {{ SDEI }} handler. Upon completion of {{ SDEI }} event handling,
2948 - Translation Tables (XLAT)
2950 - Dynamically detect need for `Common not Private (TTBRn_ELx.CnP)` bit
2952 Properly handle the case where `ARMv8.2-TTCNP` is implemented in a CPU that
2958 - Architecture
2959 - Incorrect check for SSBS feature detection
2960 - Unintentional register clobber in AArch32 reset_handler function
2961 - Build System
2962 - Dependency issue during DTB image build
2963 - Incorrect variable expansion in Arm platform makefiles
2964 - Building on Windows with verbose mode (`V=1`) enabled is broken
2965 - AArch32 compilation flags is missing `$(march32-directive)`
2966 - BL-Specific Issues
2967 - bl2: `uintptr_t is not defined` error when `BL2_IN_XIP_MEM` is defined
2968 - bl2: Missing prototype warning in `bl2_arch_setup`
2969 - bl31: Omission of Global Offset Table (GOT) section
2970 - Code Quality Issues
2971 - Multiple MISRA compliance issues
2972 - Potential NULL pointer dereference (Coverity-detected)
2973 - Drivers
2974 - mmc: Local declaration of `scr` variable causes a cache issue when
2976 - mmc: `ACMD41` does not send voltage information during initialization,
2979 - mmc: When checking device state using `mmc_device_state()` there are no
2981 - ccn: Incorrect Region ID calculation for RN-I nodes
2982 - console: `Fix MULTI_CONSOLE_API` when used as a crash console
2983 - partition: Improper NULL checking in gpt.c
2984 - partition: Compilation failure in `VERBOSE` mode (`V=1`)
2985 - Library Code
2986 - common: Incorrect check for Address Authentication support
2988 - xlat: Fix XLAT_V1 / XLAT_V2 incompatibility
2995 - xlat: armclang unused-function warning on `xlat_clean_dcache_range`
2997 - xlat: Invalid `mm_cursor` checks in `mmap_add` and `mmap_add_ctx`
2999 - sdei: Missing `context.h` header
3000 - Platforms
3001 - common: Missing prototype warning for `plat_log_get_prefix`
3003 - arm: Insufficient maximum BL33 image size
3005 - arm: Potential memory corruption during BL2-BL31 transition
3013 - juno: Invalid behaviour when `CSS_USE_SCMI_SDS_DRIVER` is not set
3018 - Tools
3019 - fiptool: Incorrect UUID parsing of blob parameters
3020 - doimage: Incorrect object rules in Makefile
3024 - Common Code
3025 - `plat_crash_console_init` function
3026 - `plat_crash_console_putc` function
3027 - `plat_crash_console_flush` function
3028 - `finish_console_register` macro
3029 - AArch64-specific Code
3030 - helpers: `get_afflvl_shift`
3031 - helpers: `mpidr_mask_lower_afflvls`
3032 - helpers: `eret`
3033 - Secure Partition Manager (SPM)
3034 - Boot-info structure
3038 - Build System Issues
3039 - dtb: DTB creation not supported when building on a Windows host.
3043 - Platform Issues
3044 - arm/juno: System suspend from Linux does not function as documented in the
3052 - arm/juno: The firmware update use-cases do not work with motherboard
3057 - mediatek/mt6795: This platform does not build in this release
3059 ## 2.0 (2018-10-02)
3063 - Removal of a number of deprecated APIs
3065 - A new Platform Compatibility Policy document has been created which
3068 - All deprecated interfaces except the MULTI_CONSOLE_API have been removed
3070 - Various Arm and partner platforms have been updated to remove the use of
3072 - This release is otherwise unchanged from 1.6 release
3076 - No issues known at 1.6 release resolved in 2.0 release
3080 - DTB creation not supported when building on a Windows host. This step in the
3083 - As a result of removal of deprecated interfaces the Nvidia Tegra, Marvell
3090 ## 1.6 (2018-09-21)
3094 - Addressing Speculation Security Vulnerabilities
3096 - Implement static workaround for CVE-2018-3639 for AArch32 and AArch64
3097 - Add support for dynamic mitigation for CVE-2018-3639
3098 - Implement dynamic mitigation for CVE-2018-3639 on Cortex-A76
3099 - Ensure {{ SDEI }} handler executes with CVE-2018-3639 mitigation enabled
3101 - Introduce RAS handling on AArch64
3103 - Some RAS extensions are mandatory for Armv8.2 CPUs, with others mandatory
3106 - The Armv8 RAS Extensions introduced Standard Error Records which are a set
3109 - Capabilities are provided to support RAS Node enumeration and iteration
3111 - Introduce handlers for Uncontainable errors, Double Faults and EL3 External
3114 - Enable Memory Partitioning And Monitoring (MPAM) for lower EL's
3116 - Memory Partitioning And Monitoring is an Armv8.4 feature that enables
3120 - When ENABLE_MPAM_FOR_LOWER_ELS is set to 1, EL3 allows lower ELs to access
3125 - Introduce ROM Lib Feature
3127 - Support combining several libraries into a self-called "romlib" image, that
3129 stored in ROM but is accessed through a jump-table that may be stored in
3130 read-write memory, allowing for the library code to be patched.
3132 - Introduce Backtrace Feature
3134 - This function displays the backtrace, the current EL and security state to
3135 allow a post-processing tool to choose the right binary to interpret the
3137 - Print backtrace in assert() and panic() to the console.
3139 - Code hygiene changes and alignment with MISRA C-2012 guideline with fixes
3142 - MISRA rules 4.9, 5.1, 5.3, 5.7, 8.2-8.5, 8.8, 8.13, 9.3, 10.1, 10.3-10.4,
3143 10.8, 11.3, 11.6, 12.1, 14.4, 15.7, 16.1-16.7, 17.7-17.8, 20.7, 20.10,
3145 - Clean up the usage of void pointers to access symbols
3146 - Increase usage of static qualifier to locally used functions and data
3147 - Migrated to use of u_register_t for register read/write to better match
3149 - Use int-ll64 for both AArch32 and AArch64 to assist in consistent format
3151 - Clean up TF-A libc by removing non arm copyrighted implementations and
3154 - Various changes to support Clang linker and assembler
3156 - The clang assembler/preprocessor is used when Clang is selected. However,
3157 the clang linker is not used because it is unable to link TF-A objects due
3160 - Refactor support APIs into Libraries
3162 - Evolve libfdt, mbed TLS library and standard C library sources as proper
3163 libraries that TF-A may be linked against.
3165 - CPU Enhancements
3167 - Add CPU support for Cortex-Ares and Cortex-A76
3168 - Add AMU support for Cortex-Ares
3169 - Add initial CPU support for Cortex-Deimos
3170 - Add initial CPU support for Cortex-Helios
3171 - Implement dynamic mitigation for CVE-2018-3639 on Cortex-A76
3172 - Implement Cortex-Ares erratum 1043202 workaround
3173 - Implement DSU erratum 936184 workaround
3174 - Check presence of fix for errata 843419 in Cortex-A53
3175 - Check presence of fix for errata 835769 in Cortex-A53
3177 - Translation Tables Enhancements
3179 - The xlat v2 library has been refactored in order to be reused by different
3184 - SPM Enhancements
3186 - General cleanups and refactoring to pave the way to multiple partitions
3189 - SDEI Enhancements
3191 - Allow platforms to define explicit events
3192 - Determine client EL from NS context's SCR_EL3
3193 - Make dispatches synchronous
3194 - Introduce jump primitives for BL31
3195 - Mask events after CPU wakeup in {{ SDEI }} dispatcher to conform to the
3198 - Misc TF-A Core Common Code Enhancements
3200 - Add support for eXecute In Place (XIP) memory in BL2
3201 - Add support for the SMC Calling Convention 2.0
3202 - Introduce External Abort handling on AArch64 External Abort routed to EL3
3204 enables Trusted Firmware-A to handle External Aborts routed to EL3.
3205 - Save value of ACTLR_EL1 implementation-defined register in the CPU context
3207 - Introduce ARM_LINUX_KERNEL_AS_BL33 build option, which allows BL31 to
3210 - Add dynamic configurations for BL31, BL32 and BL33 enabling support for
3212 - Make TF UUID RFC 4122 compliant
3214 - New Platform Support
3216 - Arm SGI-575
3217 - Arm SGM-775
3218 - Allwinner sun50i_64
3219 - Allwinner sun50i_h6
3220 - NXP QorIQ LS1043A
3221 - NXP i.MX8QX
3222 - NXP i.MX8QM
3223 - NXP i.MX7Solo WaRP7
3224 - TI K3
3225 - Socionext Synquacer SC2A11
3226 - Marvell Armada 8K
3227 - STMicroelectronics STM32MP1
3229 - Misc Generic Platform Common Code Enhancements
3231 - Add MMC framework that supports both eMMC and SD card devices
3233 - Misc Arm Platform Common Code Enhancements
3235 - Demonstrate PSCI MEM_PROTECT from el3_runtime
3236 - Provide RAS support
3237 - Migrate AArch64 port to the multi console driver. The old API is deprecated
3239 - Move BL31 below BL2 to enable BL2 overlay resulting in changes in the layout
3241 - Add cpp build processing for dtb that allows processing device tree with
3243 - Extend FIP io driver to support multiple FIP devices
3244 - Add support for SCMI AP core configuration protocol v1.0
3245 - Use SCMI AP core protocol to set the warm boot entrypoint
3246 - Add support to Mbed TLS drivers for shared heap among different BL images to
3248 - Enable non-secure access to UART1 through a build option to support a serial
3251 - Enhancements for Arm Juno Platform
3253 - Add support for TrustZone Media Protection 1 (TZMP1)
3255 - Enhancements for Arm FVP Platform
3257 - Dynamic_config: remove the FVP dtb files
3258 - Set DYNAMIC_WORKAROUND_CVE_2018_3639=1 on FVP by default
3259 - Set the ability to dynamically disable Trusted Boot Board authentication to
3261 - Add librom enhancement support in FVP
3262 - Support shared Mbed TLS heap between BL1 and BL2 that allow a reduction in
3265 - Enhancements for Arm SGI/SGM Platform
3267 - Enable ARM_PLAT_MT flag for SGI-575
3268 - Add dts files to enable support for dynamic config
3269 - Add RAS support
3270 - Support shared Mbed TLS heap for SGI and SGM between BL1 and BL2
3272 - Enhancements for Non Arm Platforms
3274 - Raspberry Pi Platform
3275 - Hikey Platforms
3276 - Xilinx Platforms
3277 - QEMU Platform
3278 - Rockchip rk3399 Platform
3279 - TI Platforms
3280 - Socionext Platforms
3281 - Allwinner Platforms
3282 - NXP Platforms
3283 - NVIDIA Tegra Platform
3284 - Marvell Platforms
3285 - STMicroelectronics STM32MP1 Platform
3289 - No issues known at 1.5 release resolved in 1.6 release
3293 - DTB creation not supported when building on a Windows host. This step in the
3297 ## 1.5 (2018-03-20)
3301 - Added new firmware support to enable RAS (Reliability, Availability, and
3304 - Secure Partition Manager (SPM): A Secure Partition is a software execution
3305 environment instantiated in S-EL0 that can be used to implement simple
3309 - SDEI dispatcher: Support for interrupt-based {{ SDEI }} events and all
3313 - Exception Handling Framework (EHF): Framework that allows dispatching of EL3
3315 priorities. Facilitates firmware-first error handling policy where
3320 - Updated PSCI support:
3322 - Implemented PSCI v1.1 optional features `MEM_PROTECT` and `SYSTEM_RESET2`.
3325 - Improved PSCI STAT timestamp collection, including moving accounting for
3326 retention states to be inside the locks and fixing handling of wrap-around
3329 - Added optional handler for early suspend that executes when suspending to a
3330 power-down state and with data caches enabled.
3336 - Enabled build option, BL2_AT_EL3, for BL2 to allow execution at EL3 without
3339 This allows platforms which already have a non-TF Boot ROM to directly load
3341 previously possible because BL2 executes at S-EL1 and cannot jump straight to
3344 - Implemented support for SMCCC v1.1, including `SMCCC_VERSION` and
3350 - Added Dynamic Configuration framework which enables each of the boot loader
3362 - Code hygiene changes and alignment with MISRA guideline:
3364 - Fix use of undefined macros.
3365 - Achieved compliance with Mandatory MISRA coding rules.
3366 - Achieved compliance for following Required MISRA rules for the default build
3369 - Added support for Armv8.2-A architectural features:
3371 - Updated translation table set-up to set the CnP (Common not Private) bit for
3375 - Extended the supported values of ID_AA64MMFR0_EL1.PARange to include the
3376 52-bit Physical Address range.
3377 - Added support for the Scalable Vector Extension to allow Normal world
3380 corruption of the Z-registers.
3382 - Added support for Armv8.4-A architectural feature Activity Monitor Unit (AMU)
3386 In addition to the v8.4 architectural extension, AMU support on Cortex-A75 was
3389 - Enhanced OP-TEE support to enable use of pageable OP-TEE image. The Arm
3390 standard platforms are updated to load up to 3 images for OP-TEE; header,
3395 - Enhancements to the translation table library:
3397 - Introduced APIs to get and set the memory attributes of a region.
3398 - Added support to manage both privilege levels in translation regimes that
3401 specifying Non-privileged access.
3402 - Added support to specify the granularity of the mappings of each region, for
3405 - Disabled the higher VA range to avoid unpredictable behaviour if there is an
3407 - Added helpers for Device and Normal memory MAIR encodings that align with
3408 the Arm Architecture Reference Manual for Armv8-A (Arm DDI0487B.b).
3409 - Code hygiene including fixing type length and signedness of constants,
3415 - Updated GIC support:
3417 - Introduce new APIs for GICv2 and GICv3 that provide the capability to
3422 - Added helpers to save / restore the GICv3 context, specifically the
3425 implementation-defined part of GIC-500 and GIC-600.
3430 Introduced a new TZC secured DDR carve-out for use by Arm platforms for
3433 - Added support for Armv7-A architecture via build option ARM_ARCH_MAJOR=7. This
3436 - Updates GICv2 driver to manage GICv1 with security extensions.
3437 - Software implementation for 32bit division.
3438 - Enabled use of generic timer for platforms that do not set
3440 - Support for Armv7-A Virtualization extensions \[DDI0406C_C\].
3441 - Support for both Armv7-A platforms that only have 32-bit addressing and
3442 Armv7-A platforms that support large page addressing.
3443 - Included support for following Armv7 CPUs: Cortex-A12, Cortex-A17,
3444 Cortex-A7, Cortex-A5, Cortex-A9, Cortex-A15.
3445 - Added support in QEMU for Armv7-A/Cortex-A15.
3447 - Enhancements to Firmware Update feature:
3449 - Updated the FWU documentation to describe the additional images needed for
3453 - Enhancements to Trusted Board Boot feature:
3455 - Added support to cert_create tool for RSA PKCS1# v1.5 and SHA384, SHA512 and
3457 - For Arm platforms added support to use ECDSA keys.
3458 - Enhanced the mbed TLS wrapper layer to include support for both RSA and
3461 - Added support for secure interrupt handling in AArch32 sp_min, hardcoded to
3464 - Added support to allow a platform to load images from multiple boot sources,
3467 - Added a logging framework that allows platforms to reduce the logging level at
3470 - Further improvements to register initialisation:
3472 - Control register PMCR_EL0 / PMCR is set to prohibit cycle counting in the
3475 - When EL3 is running in AArch32 execution state, the Non-secure version of
3479 - Enhanced support for Arm platforms:
3481 - Introduced driver for Shared-Data-Structure (SDS) framework which is used
3482 for communication between SCP and the AP CPU, replacing Boot-Over_MHU (BOM)
3490 - Improved memory usage by only mapping TSP memory region when the TSPD has
3494 - Updated support for multi-threading CPUs for FVP platforms - always check
3497 - Support building for platforms that model DynamIQ configuration by
3500 - Improved nor flash driver, for instance clearing status registers before
3503 - Enhancements to QEMU platform:
3505 - Added support for TBB.
3506 - Added support for using OP-TEE pageable image.
3507 - Added support for LOAD_IMAGE_V2.
3508 - Migrated to use translation table library v2 by default.
3509 - Added support for SEPARATE_CODE_AND_RODATA.
3511 - Applied workarounds CVE-2017-5715 on Arm Cortex-A57, -A72, -A73 and -A75, and
3512 for Armv7-A CPUs Cortex-A9, -A15 and -A17.
3514 - Applied errata workaround for Arm Cortex-A57: 859972.
3516 - Applied errata workaround for Arm Cortex-A72: 859971.
3518 - Added support for Poplar 96Board platform.
3520 - Added support for Raspberry Pi 3 platform.
3522 - Added Call Frame Information (CFI) assembler directives to the vector entries
3526 - Added ability to build dtb.
3528 - Added support for pre-tool (cert_create and fiptool) image processing enabling
3537 - Enhancements to fiptool:
3539 - Enabled the fiptool to be built using Visual Studio.
3540 - Added padding bytes at the end of the last image in the fip to be facilitate
3545 - TF-A can be built with optimisations disabled (-O0).
3546 - Memory layout updated to enable Trusted Board Boot on Juno platform when
3547 running TF-A in AArch32 execution mode (resolving [tf-issue#501]).
3551 - DTB creation not supported when building on a Windows host. This step in the
3554 ## 1.4 (2017-07-07)
3558 - Enabled support for platforms with hardware assisted coherency.
3563 - Skip performing cache maintenance during power-up and power-down.
3564 - Use spin-locks instead of bakery locks.
3565 - Enable data caches early on warm-booted CPUs.
3567 - Added support for Cortex-A75 and Cortex-A55 processors.
3569 Both Cortex-A75 and Cortex-A55 processors use the Arm DynamIQ Shared Unit
3570 (DSU). The power-down and power-up sequences are therefore mostly managed in
3573 - Introduced Arm GIC-600 driver.
3575 Arm GIC-600 IP complies with Arm GICv3 architecture. For FVP platforms, the
3576 GIC-600 driver is chosen when FVP_USE_GIC_DRIVER is set to FVP_GIC600.
3578 - Updated GICv3 support:
3580 - Introduced power management APIs for GICv3 Redistributor. These APIs allow
3586 - GIC driver data is flushed by the primary CPU so that secondary CPU do not
3589 - Added support for Arm System Control and Management Interface v1.0 (SCMI).
3598 - Added support to enable pre-integration of TBB with the Arm TrustZone
3602 - Enabled Statistical Profiling Extensions for lower ELs.
3604 The firmware support is limited to the use of SPE in the Non-secure state and
3605 accesses to the SPE specific registers from S-EL1 will trap to EL3.
3609 - Code hygiene changes aligned with MISRA guidelines:
3611 - Fixed signed / unsigned comparison warnings in the translation table
3613 - Added U(\_x) macro and together with the existing ULL(\_x) macro fixed some
3614 of the signed-ness defects flagged by the MISRA scanner.
3616 - Enhancements to Firmware Update feature:
3618 - The FWU logic now checks for overlapping images to prevent execution of
3620 - Introduced new FWU_SMC_IMAGE_RESET SMC that changes the image loading state
3624 - Fixed integer overflow which addressed TFV-1: Malformed Firmware Update SMC
3627 - Introduced support for Arm Compiler 6 and LLVM (clang).
3629 TF-A can now also be built with the Arm Compiler 6 or the clang compilers. The
3634 - Memory footprint improvements:
3636 - Introduced `tf_snprintf`, a reduced version of `snprintf` which has support
3642 - The `assert()` is updated to no longer print the function name, and
3646 - Enhancements to TF-A support when running in AArch32 execution state:
3648 - Support booting SP_MIN and BL33 in AArch32 execution mode on Juno. Due to
3652 - Added support for Arm Cortex-A53/57/72 MPCore processors including the
3654 - For FVP platforms, added AArch32 Trusted Board Boot support, including the
3657 - Introduced Arm SiP service for use by Arm standard platforms.
3659 - Added new Arm SiP Service SMCs to enable the Non-secure world to read PMF
3662 Added PMF instrumentation points in TF-A in order to quantify the overall
3665 - Added new Arm SiP service SMC to switch execution state.
3670 - Migrated to use SPDX\[0\] license identifiers to make software license
3678 - Enhancements to the translation table library:
3680 - Added version 2 of translation table library that allows different
3691 done per-image.
3693 - Added support for translation regimes with two virtual address spaces such
3699 - Added support to mark the translation tables as non-cacheable using an
3702 - Added support for GCC stack protection. A new build option
3704 images with one of the GCC -fstack-protector-\* options.
3711 - Enhanced support for Arm platforms:
3713 - Added support for multi-threading CPUs, indicated by `MT` field in MPDIR. A
3722 - The Arm platforms migrated to use version 2 of the translation tables.
3724 - Introduced a new Arm platform layer API `plat_arm_psci_override_pm_ops`
3728 - The Arm platforms migrated to use IMAGE_LOAD_V2 by default.
3730 - Enhanced reporting of errata workaround status with the following policy:
3732 - If an errata workaround is enabled:
3734 - If it applies (i.e. the CPU is affected by the errata), an INFO message is
3736 - If it does not apply, a VERBOSE message is printed, confirming that the
3739 - If an errata workaround is not enabled, but would have applied had it been,
3742 - Added build options ARM_ARCH_MAJOR and ARM_ARM_MINOR to choose the
3743 architecture version to target TF-A.
3745 - Updated the spin lock implementation to use the more efficient CAS (Compare
3747 Armv8.1-A.
3749 - Applied errata workaround for Arm Cortex-A53: 855873.
3751 - Applied errata workaround for Arm-Cortex-A57: 813419.
3753 - Enabled all A53 and A57 errata workarounds for Juno, both in AArch64 and
3756 - Added support for Socionext UniPhier SoC platform.
3758 - Added support for Hikey960 and Hikey platforms.
3760 - Added support for Rockchip RK3328 platform.
3762 - Added support for NVidia Tegra T186 platform.
3764 - Added support for Designware emmc driver.
3766 - Imported libfdt v1.4.2 that addresses buffer overflow in fdt_offset_ptr().
3768 - Enhanced the CPU operations framework to allow power handlers to be registered
3769 on per-level basis. This enables support for future CPUs that have multiple
3772 - Updated register initialisation to prevent unexpected behaviour:
3774 - Debug registers MDCR-EL3/SDCR and MDCR_EL2/HDCR are initialised to avoid
3776 self-hosted debug. Additionally, secure privileged external debug on Juno is
3778 - EL2 and EL3 configurable controls are initialised to avoid unexpected traps
3780 - Essential control registers are fully initialised on EL3 start-up, when
3781 initialising the non-secure and secure context structures and when preparing
3785 - Enhanced PSCI support:
3787 - Introduced new platform interfaces that decouple PSCI stat residency
3790 - PSCI stat accounting performed for retention/standby states when requested
3793 - Simplified fiptool to have a single linked list of image descriptors.
3795 - For the TSP, resolved corruption of pre-empted secure context by aborting any
3796 pre-empted SMC during PSCI power management requests.
3800 - TF-A can be built with the latest mbed TLS version (v2.4.2). The earlier
3801 version 2.3.0 cannot be used due to build warnings that the TF-A build system
3803 - TBBR, including the Firmware Update feature is now supported on FVP platforms
3804 when running TF-A in AArch32 state.
3805 - The version of the AEMv8 Base FVP used in this release has resolved the issue
3811 - Building TF-A with compiler optimisations disabled (-O0) fails.
3812 - Trusted Board Boot currently does not work on Juno when running Trusted
3814 memory because of lack of free space available. See [tf-issue#501] for more
3816 - The errata workaround for A53 errata 843419 is only available from binutils
3821 ## 1.3 (2016-10-13)
3825 - Added support for running TF-A in AArch32 execution state.
3830 \{ref}`PSCI Library Integration guide for Armv8-A AArch32 systems`.
3832 Included is a minimal AArch32 Secure Payload, **SP-MIN**, that illustrates the
3839 - Improvements to the initialization framework for the PSCI service and Arm
3854 - To support AArch32 builds of BL1 and BL2, implemented a new, alternative
3857 The current mechanism has a hard-coded set of images and execution order
3858 (BL31, BL32, etc). The new mechanism is data-driven by a list of image
3869 - Updated requirements for making contributions to TF-A.
3871 Commits now must have a 'Signed-off-by:' field to certify that the
3879 - Introduced Performance Measurement Framework (PMF) which provides support for
3880 capturing, storing, dumping and retrieving time-stamps to measure the
3884 - To support the QEMU platform port, imported libfdt v1.4.1 from
3887 - Updated PSCI support:
3889 - Added support for PSCI NODE_HW_STATE API for Arm platforms.
3890 - New optional platform hook, `pwr_domain_pwr_down_wfi()`, in `plat_psci_ops`
3891 to enable platforms to perform platform-specific actions needed to enter
3893 - PSCI STAT residency and count functions have been added on Arm platforms by
3896 - Enhancements to the translation table library:
3898 - Limited memory mapping support for region overlaps to only allow regions to
3905 - The initial translation lookup level is now inferred from the virtual
3906 address space size. Previously, it was hard-coded.
3908 - Added support for mapping Normal, Inner Non-cacheable, Outer Non-cacheable
3911 This can be useful to map a non-cacheable memory region, such as a DMA
3914 - Introduced the MT_EXECUTE/MT_EXECUTE_NEVER memory mapping attributes to
3917 - Enabled support to isolate code and read-only data on separate memory pages,
3920 - Enabled SCR_EL3.SIF (Secure Instruction Fetch) bit in BL1 and BL31 common
3921 architectural setup code, preventing fetching instructions from non-secure
3924 - Enhancements to FIP support:
3926 - Replaced `fip_create` with `fiptool` which provides a more consistent and
3929 - Enabled printing the SHA256 digest with info command, allowing quick
3932 - Added support for unpacking the contents of an existing FIP file into the
3934 - Aligned command line options for specifying images to use same naming
3937 - Refactored the TZC-400 driver to also support memory controllers that
3938 integrate TZC functionality, for example Arm CoreLink DMC-500. Also added
3939 DMC-500 specific support.
3941 - Implemented generic delay timer based on the system generic counter and
3944 - Enhanced support for Arm platforms:
3946 - Updated image loading support to make SCP images (SCP_BL2 and SCP_BL2U)
3948 - Enhanced topology description support to allow multi-cluster topology
3950 - Added interconnect abstraction layer to help platform ports select the right
3952 - Added support to allow loading BL31 in the TZC-secured DRAM instead of the
3954 - Added support to use a System Security Control (SSC) Registers Unit enabling
3955 TF-A to be compiled to support multiple Arm platforms and then select one at
3957 - Restricted mapping of Trusted ROM in BL1 to what is actually needed by BL1
3959 - Flash is now mapped as execute-never by default. This increases security by
3962 - Applied following erratum workarounds for Cortex-A57: 833471, 826977, 829520,
3965 - Added support for Mediatek MT6795 platform.
3967 - Added support for QEMU virtualization Armv8-A target.
3969 - Added support for Rockchip RK3368 and RK3399 platforms.
3971 - Added support for Xilinx Zynq UltraScale+ MPSoC platform.
3973 - Added support for Arm Cortex-A73 MPCore Processor.
3975 - Added support for Arm Cortex-A72 processor.
3977 - Added support for Arm Cortex-A35 processor.
3979 - Added support for Arm Cortex-A32 MPCore Processor.
3981 - Enabled preloaded BL33 alternative boot flow, in which BL2 does not load BL33
3982 from non-volatile storage and BL31 hands execution over to a preloaded BL33.
3986 - Added support to build TF-A on a Windows-based host machine.
3988 - Updated Trusted Board Boot prototype implementation:
3990 - Enabled the ability for a production ROM with TBBR enabled to boot test
3994 - Added support for non-volatile counter authentication to the Authentication
3995 Module to protect against roll-back.
3997 - Updated GICv3 support:
3999 - Enabled processor power-down and automatic power-on using GICv3.
4000 - Enabled G1S or G0 interrupts to be configured independently.
4001 - Changed FVP default interrupt driver to be the GICv3-only driver. **Note**
4002 the default build of TF-A will not be able to boot Linux kernel with GICv2
4004 - Enabled wake-up from CPU_SUSPEND to stand-by by temporarily re-routing
4011 - The version of the AEMv8 Base FVP used in this release resets the model
4015 - Building TF-A with compiler optimisations disabled (`-O0`) fails.
4016 - TF-A cannot be built with mbed TLS version v2.3.0 due to build warnings that
4017 the TF-A build system interprets as errors.
4018 - TBBR is not currently supported when running TF-A in AArch32 state.
4020 ## 1.2 (2015-12-22)
4024 - The Trusted Board Boot implementation on Arm platforms now conforms to the
4033 Non-Volatile memories. This feature functions even when the current firmware
4037 - Improvements have been made to the Certificate Generation Tool (`cert_create`)
4040 - Added support for the Firmware Update process by extending the Chain of
4043 - Introduced a new API that allows one to specify command line options in the
4046 - The tool has been reworked to follow a data driven approach, which makes it
4049 - Extended the FIP tool (`fip_create`) to support the new set of images involved
4052 - Various memory footprint improvements. In particular:
4054 - The bakery lock structure for coherent memory has been optimised.
4055 - The mbed TLS SHA1 functions are not needed, as SHA256 is used to generate
4058 - On Arm development platforms, each BL stage now individually defines the
4061 - Added the following new design documents:
4063 - {ref}`Authentication Framework & Chain of Trust`
4064 - {ref}`Firmware Update (FWU)`
4065 - {ref}`CPU Reset`
4066 - {ref}`PSCI Power Domain Tree Structure`
4068 - Applied the new image terminology to the code base and documentation, as
4071 - The build system has been reworked to improve readability and facilitate
4074 - On Arm standard platforms, BL31 uses the boot console during cold boot but
4078 - Implemented a basic NOR flash driver for Arm platforms. It programs the device
4081 - Implemented support for booting EL3 payloads on Arm platforms, which reduces
4085 - Provided separate drivers for GICv3 and GICv2. These expect the entire
4089 - Added support for Juno r1 and r2. A single set of Juno TF-A binaries can run
4090 on Juno r0, r1 and r2 boards. Note that this TF-A version depends on a Linaro
4093 - Added support for MediaTek mt8173 platform.
4095 - Implemented a generic driver for Arm CCN IP.
4097 - Major rework of the PSCI implementation.
4099 - Added framework to handle composite power states.
4100 - Decoupled the notions of affinity instances (which describes the
4102 assuming a one-to-one mapping.
4103 - Better alignment with version 1.0 of the PSCI specification.
4105 - Added support for the SYSTEM_SUSPEND PSCI API on Arm platforms. When invoked
4109 - Unified the reset handling code as much as possible across BL stages. Also
4113 - Added a simple delay timer API, as well as an SP804 timer driver, which is
4116 - Added support for NVidia Tegra T210 and T132 SoCs.
4118 - Reorganised Arm platforms ports to greatly improve code shareability and
4121 - Added support for Arm Cortex-A72 processor in the CPU specific framework.
4123 - Provided better error handling. Platform ports can now define their own error
4124 handling, for example to perform platform specific bookkeeping or post-error
4127 - Implemented a unified driver for Arm Cache Coherent Interconnects used for
4128 both CCI-400 & CCI-500 IPs. Arm platforms ports have been migrated to this
4129 common driver. The standalone CCI-400 driver has been deprecated.
4133 - The Trusted Board Boot implementation has been redesigned to provide greater
4137 - The FVP and Juno ports may now use the hash of the ROTPK stored in the Trusted
4140 location of the ROTPK is chosen at build-time using the `ARM_ROTPK_LOCATION`
4142 - GICv3 is now fully supported and stable.
4146 - The version of the AEMv8 Base FVP used in this release resets the model
4150 - While this version has low on-chip RAM requirements, there are further RAM
4152 - The upstream documentation could be improved for structural consistency,
4155 - Building TF-A with compiler optimisations disabled (`-O0`) fails.
4157 ## 1.1 (2015-02-04)
4161 - A prototype implementation of Trusted Board Boot has been added. Boot loader
4167 - Support for calling CPU and platform specific reset handlers upon entry into
4168 BL3-1 during the cold and warm boot paths has been added. This happens after
4173 - Support has been added to demonstrate routing of IRQs to EL3 instead of S-EL1
4176 - The PSCI implementation now conforms to version 1.0 of the PSCI specification.
4184 - Improvements have been made to the PSCI code as follows.
4186 - The code has been refactored to remove redundant parameters from internal
4188 - Changes have been made to the code for PSCI `CPU_SUSPEND`, `CPU_ON` and
4193 - Optional platform APIs have been added to validate the `power_state` and
4195 - PSCI migrate APIs have been reworked to invoke the SPD hook to determine the
4200 - It is now possible to build TF-A without marking at least an extra page of
4205 - An implementation of Bakery locks, where the locks are not allocated in
4207 - Memory which was previously marked as coherent is now kept coherent through
4215 - It is now possible to specify the name of the FIP at build time by defining
4218 - Issues with dependencies on the 'fiptool' makefile target have been rectified.
4221 - The BL3-1 runtime console is now also used as the crash console. The crash
4225 - CPU errata workarounds are applied only when the revision and part number
4230 - It is now possible to issue cache maintenance operations by set/way for a
4231 particular level of data cache. Levels 1-3 are currently supported.
4233 - The following improvements have been made to the FVP port.
4235 - The build option `FVP_SHARED_DATA_LOCATION` which allowed relocation of
4238 - BL2 Translation tables have been updated to map only the region of DRAM
4239 which is accessible to normal world. This is the region of the 2GB DDR-DRAM
4242 - BL3-2 can now reside in the top 16MB of DRAM which is accessible only to the
4246 - Separate translation tables are created for each boot loader image. The
4250 - A Secure Payload Dispatcher (OPTEED) for the OP-TEE Trusted OS has been added.
4251 Details of using it with TF-A can be found in {ref}`OP-TEE Dispatcher`
4255 - The Juno port has been aligned with the FVP port as follows.
4257 - Support for reclaiming all BL1 RW memory and BL2 memory by overlaying the
4258 BL3-1/BL3-2 NOBITS sections on top of them has been added to the Juno port.
4259 - The top 16MB of the 2GB DDR-DRAM memory at 0x80000000 is configured using
4260 the TZC-400 controller to be accessible only to the secure world.
4261 - The Arm GIC driver is used to configure the GIC-400 instead of using a GIC
4263 - PSCI `CPU_SUSPEND` calls that target a standby state are now supported.
4264 - The TZC-400 driver is used to configure the controller instead of direct
4267 - The Linux kernel version referred to in the user guide has DVFS and HMP
4270 - DS-5 v5.19 did not detect Version 5.8 of the Cortex-A57-A53 Base FVPs in CADI
4271 server mode. This issue is not seen with DS-5 v5.20 and Version 6.2 of the
4272 Cortex-A57-A53 Base FVPs.
4276 - The Trusted Board Boot implementation is a prototype. There are issues with
4280 - The FVP and Juno ports do not use the hash of the ROTPK stored in the Trusted
4284 - The version of the AEMv8 Base FVP used in this release resets the model
4288 - GICv3 support is experimental. There are known issues with GICv3
4289 initialization in the TF-A.
4290 - While this version greatly reduces the on-chip RAM requirements, there are
4292 - The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
4294 - The Juno-specific firmware design documentation is incomplete.
4296 ## 1.0 (2014-08-28)
4300 - It is now possible to map higher physical addresses using non-flat virtual to
4303 - Wider use is now made of the per-CPU data cache in BL3-1 to store:
4305 - Pointers to the non-secure and secure security state contexts.
4306 - A pointer to the CPU-specific operations.
4307 - A pointer to PSCI specific information (for example the current power
4309 - A crash reporting buffer.
4311 - The following RAM usage improvements result in a BL3-1 RAM usage reduction
4315 - Removed the separate `early_exception` vectors from BL3-1 (2KB code size
4317 - Removed NSRAM from the FVP memory map, allowing the removal of one (4KB)
4319 - Eliminated the internal `psci_suspend_context` array, saving 2KB.
4320 - Correctly dimensioned the PSCI `aff_map_node` array, saving 1.5KB in the FVP
4322 - Removed calling CPU mpidr from the bakery lock API, saving 160 bytes.
4323 - Removed current CPU mpidr from PSCI common code, saving 160 bytes.
4324 - Inlined the mmio accessor functions, saving 360 bytes.
4325 - Fully reclaimed all BL1 RW memory and BL2 memory on the FVP port by
4326 overlaying the BL3-1/BL3-2 NOBITS sections on top of these at runtime.
4327 - Made storing the FP register context optional, saving 0.5KB per context (8KB
4329 - Implemented a leaner `tf_printf()` function, allowing the stack to be
4331 - Removed coherent stacks from the codebase. Stacks allocated in normal memory
4333 CPU in BL3-1.
4334 - Reworked the crash reporting in BL3-1 to use less stack.
4335 - Optimized the EL3 register state stored in the `cpu_context` structure so
4336 that registers that do not change during normal execution are re-initialized
4339 - As a result of some of the above, reduced the runtime stack size in all BL
4340 images. For BL3-1, this saves 1KB per CPU.
4342 - PSCI SMC handler improvements to correctly handle calls from secure states and
4345 - CPU contexts are now initialized from the `entry_point_info`. BL3-1 fully
4346 determines the exception level to use for the non-trusted firmware (BL3-3)
4348 provided to BL3-1). This allows platform code to directly run non-trusted
4352 - Code refactoring improvements:
4354 - Refactored `fvp_config` into a common platform header.
4355 - Refactored the fvp gic code to be a generic driver that no longer has an
4357 - Refactored the CCI-400 driver to not have dependency on platform code.
4358 - Simplified the IO driver so it's no longer necessary to call `io_init()` and
4360 - Simplified the interface the the TZC-400 driver.
4361 - Clarified the platform porting interface to the TSP.
4362 - Reworked the TSPD setup code to support the alternate BL3-2 initialization
4363 flow where BL3-1 generic code hands control to BL3-2, rather than expecting
4364 the TSPD to hand control directly to BL3-2.
4365 - Considerable rework to PSCI generic code to support CPU specific operations.
4367 - Improved console log output, by:
4369 - Adding the concept of debug log levels.
4370 - Rationalizing the existing debug messages and adding new ones.
4371 - Printing out the version of each BL stage at runtime.
4372 - Adding support for printing console output from assembler code, including
4375 - Moved up to the latest versions of the FVPs, toolchain, EDK2, kernel, Linaro
4376 file system and DS-5.
4378 - On the FVP port, made the use of the Trusted DRAM region optional at build
4379 time (off by default). Normal platforms will not have such a "ready-to-use"
4382 - Added support for PSCI `SYSTEM_OFF` and `SYSTEM_RESET` APIs.
4384 - Added support for CPU specific reset sequences, power down sequences and
4388 - Merged the Juno port into the master branch. Added support for CPU hotplug and
4394 - Removed the concept of top/bottom image loading. The image loader now
4399 - CPU idle now works on the publicized version of the Foundation FVP.
4400 - All known issues relating to the compiler version used have now been resolved.
4401 This TF-A version uses Linaro toolchain 14.07 (based on GCC 4.9).
4405 - GICv3 support is experimental. The Linux kernel patches to support this are
4407 TF-A.
4409 - While this version greatly reduces the on-chip RAM requirements, there are
4412 - The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
4415 - The Juno-specific firmware design documentation is incomplete.
4417 - Some recent enhancements to the FVP port have not yet been translated into the
4418 Juno port. These will be tracked via the tf-issues project.
4420 - The Linux kernel version referred to in the user guide has DVFS and HMP
4422 A future kernel version will re-enable these features.
4424 - DS-5 v5.19 does not detect Version 5.8 of the Cortex-A57-A53 Base FVPs in CADI
4426 version has changed. For example, for the Cortex-A57x4-A53x4 Base FVP, the
4427 `<SimName>` reported by the FVP is `FVP_Base_Cortex_A57x4_A53x4`, while DS-5
4438 to System Generator:FVP_Base_Cortex-A57x4_A53x4
4440 A similar change can be made to the other Cortex-A57-A53 Base FVP variants.
4442 ## 0.4 (2014-06-03)
4446 - Makefile improvements:
4448 - Improved dependency checking when building.
4449 - Removed `dump` target (build now always produces dump files).
4450 - Enabled platform ports to optionally make use of parts of the Trusted
4451 Firmware (e.g. BL3-1 only), rather than being forced to use all parts. Also
4453 - Specified the full path to source files and removed use of the `vpath`
4456 - Provided translation table library code for potential re-use by platforms
4459 - Moved architectural timer setup to platform-specific code.
4461 - Added standby state support to PSCI cpu_suspend implementation.
4463 - SRAM usage improvements:
4465 - Started using the `-ffunction-sections`, `-fdata-sections` and
4466 `--gc-sections` compiler/linker options to remove unused code and data from
4469 - Placed all assembler functions in their own section to allow more unused
4471 - Updated BL1 and BL2 to use a single coherent stack each, rather than one per
4473 - Changed variables that were unnecessarily declared and initialized as
4474 non-const (i.e. in the .data section) so they are either uninitialized (zero
4477 - Moved the Test Secure-EL1 Payload (BL3-2) to execute in Trusted SRAM by
4480 - Implemented a TrustZone Address Space Controller (TZC-400) driver. A default
4482 `-C bp.secure_memory=1` is now supported.
4484 - Started saving the PSCI cpu_suspend 'power_state' parameter prior to
4485 suspending a CPU. This allows platforms that implement multiple power-down
4488 - Refactored the entire codebase to reduce the amount of nesting in header files
4494 - Optimized the data cache clean/invalidate operations.
4496 - Improved the BL3-1 unhandled exception handling and reporting. Unhandled
4499 - Major rework to the handover interface between BL stages, in particular the
4500 interface to BL3-1. The interface now conforms to a specification and is more
4503 - Added support for optionally making the BL3-1 entrypoint a reset handler
4505 architecture to re-use BL3-1 with fewer modifications to generic code.
4507 - Reserved some DDR DRAM for secure use on FVP platforms to avoid future
4508 compatibility problems with non-secure software.
4510 - Added support for secure interrupts targeting the Secure-EL1 Payload (SP)
4512 target and supporting test code to the TSP. Also demonstrated non-secure
4517 - Now support use of the model parameter `-C bp.secure_memory=1` in the Base
4519 - Support for secure world interrupt handling now available (see **New
4521 - Made enough SRAM savings (see **New features**) to enable the Test Secure-EL1
4522 Payload (BL3-2) to execute in Trusted SRAM by default.
4523 - The tested filesystem used for this release (Linaro AArch64 OpenEmbedded
4525 - Improved the Makefile structure to make it easier to separate out parts of the
4526 TF-A for re-use in platform ports. Also, improved target dependency checking.
4530 - GICv3 support is experimental. The Linux kernel patches to support this are
4532 TF-A.
4533 - Dynamic image loading is not available yet. The current image loader
4535 limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to
4537 - TF-A still uses too much on-chip Trusted SRAM. A number of RAM usage
4539 - CPU idle does not work on the advertised version of the Foundation FVP. Some
4542 - Various bugs in TF-A, UEFI and the Linux kernel have been observed when using
4545 subtle change in the way the compiler converts between 64-bit and 32-bit
4548 - The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
4551 ## 0.3 (2014-02-28)
4555 - Support for Foundation FVP Version 2.0 added. The documented UEFI
4558 AEMv8 and Cortex-A57-A53 Base FVPs, as well as the Foundation FVP.
4563 - Enabled third party contributions. Added a new contributing.md containing
4567 - The PSCI CPU_SUSPEND API has been stabilised to the extent where it can be
4570 - Entry into standby states is not supported.
4571 - The API is only supported on the AEMv8 and Cortex-A57-A53 Base FVPs.
4573 - The PSCI AFFINITY_INFO api has undergone limited testing on the Base FVPs to
4576 - Required C library and runtime header files are now included locally in TF-A
4580 - Added I/O abstraction framework, primarily to allow generic code to load
4581 images in a platform-independent way. The existing image loading code has been
4582 reworked to use the new framework. Semi-hosting and NOR flash I/O drivers are
4585 - Introduced Firmware Image Package (FIP) handling code and tools. A FIP
4589 NOR flash, although some support for image loading using semi- hosting is
4592 \:::\{note} Building a FIP by default is a non-backwards-compatible change. :::
4594 \:::\{note} Generic BL2 code now loads a BL3-3 (non-trusted firmware) image
4595 into DRAM instead of expecting this to be pre-loaded at known location. This
4596 is also a non-backwards-compatible change. :::
4598 \:::\{note} Some non-trusted firmware (e.g. UEFI) will need to be rebuilt so
4602 - Reworked BL2 to BL3-1 handover interface. A new composite structure
4604 to BL3-1, including information on how handover execution control to BL3-2 (if
4605 present) and BL3-3 (non-trusted firmware).
4607 - Added library support for CPU context management, allowing the saving and
4610 - Shared system registers between Secure-EL1 and EL1.
4611 - VFP registers.
4612 - Essential EL3 system registers.
4614 - Added a framework for implementing EL3 runtime services. Reworked the PSCI
4617 - Reworked the exception handling logic, making use of both SP_EL0 and SP_EL3
4622 - Added support for a Test Secure-EL1 Payload (TSP) and a corresponding
4634 - Support has been added for switching context between secure and normal worlds
4636 - PSCI API calls `AFFINITY_INFO` & `PSCI_VERSION` have now been tested (to a
4638 - The TF-A build artifacts are now placed in the `./build` directory and
4639 sub-directories instead of being placed in the root of the project.
4640 - TF-A is now free from build warnings. Build warnings are now treated as
4642 - TF-A now provides C library support locally within the project to maintain
4644 - The PSCI locking code has been reworked so it no longer takes locks in an
4646 - The RAM-disk method of loading a Linux file-system has been confirmed to work
4647 with the TF-A and Linux kernel version (based on version 3.13) used in this
4653 releases of TF-A.
4655 - The TrustZone Address Space Controller (TZC-400) is not being programmed yet.
4656 Use of model parameter `-C bp.secure_memory=1` is not supported.
4657 - No support yet for secure world interrupt handling.
4658 - GICv3 support is experimental. The Linux kernel patches to support this are
4660 TF-A.
4661 - Dynamic image loading is not available yet. The current image loader
4663 limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to
4665 - TF-A uses too much on-chip Trusted SRAM. Currently the Test Secure-EL1 Payload
4666 (BL3-2) executes in Trusted DRAM since there is not enough SRAM. A number of
4668 - CPU idle does not work on the advertised version of the Foundation FVP. Some
4671 - Various bugs in TF-A, UEFI and the Linux kernel have been observed when using
4674 subtle change in the way the compiler converts between 64-bit and 32-bit
4677 - The tested filesystem used for this release (Linaro AArch64 OpenEmbedded
4682 - The Makefile structure doesn't make it easy to separate out parts of the TF-A
4683 for re-use in platform ports, for example if only BL3-1 is required in a
4685 - The firmware design documentation for the Test Secure-EL1 Payload (TSP) and
4688 ## 0.2 (2013-10-25)
4692 - First source release.
4693 - Code for the PSCI suspend feature is supplied, although this is not enabled by
4698 - The "psci" nodes in the FDTs provided in this release now fully comply with
4704 releases of TF-A.
4706 - The TrustZone Address Space Controller (TZC-400) is not being programmed yet.
4707 Use of model parameter `-C bp.secure_memory=1` is not supported.
4708 - No support yet for secure world interrupt handling or for switching context
4710 - GICv3 support is experimental. The Linux kernel patches to support this are
4712 TF-A.
4713 - Dynamic image loading is not available yet. The current image loader
4715 limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to
4717 - Although support for PSCI `CPU_SUSPEND` is present, it is not yet stable and
4719 - PSCI API calls `AFFINITY_INFO` & `PSCI_VERSION` are implemented but have not
4721 - The TF-A make files result in all build artifacts being placed in the root of
4722 the project. These should be placed in appropriate sub-directories.
4723 - The compilation of TF-A is not free from compilation warnings. Some of these
4725 - TF-A currently uses toolchain/system include files like stdio.h. It should
4728 - The PSCI code takes some locks in an incorrect sequence. This may cause
4730 - The Linux kernel used in this release is based on version 3.12-rc4. Using this
4731 kernel with the TF-A fails to start the file-system as a RAM-disk. It fails to
4732 execute user-space `init` from the RAM-disk. As an alternative, the
4733 VirtioBlock mechanism can be used to provide a file-system to the kernel.
4737 *Copyright (c) 2013-2020, Arm Limited and Contributors. All rights reserved.*
4739 [mbed tls releases]: https://tls.mbed.org/tech-updates/releases
4740 [pr#1002]: https://github.com/ARM-software/arm-trusted-firmware/pull/1002#issuecomment-312650193
4742 [tf-issue#501]: https://github.com/ARM-software/tf-issues/issues/501