1# Change Log & Release Notes 2 3This document contains a summary of the new features, changes, fixes and known 4issues in each release of Trusted Firmware-A. 5 6## [2.7.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.6..refs/tags/v2.7.0) (2022-05-20) 7 8### New Features 9 10- **Architecture** 11 12 - **Statistical profiling Extension (FEAT_SPE)** 13 14 - add support for FEAT_SPEv1p2 ([f20eb89](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f20eb893a072bb9b404eedb886e8c65fe76ffb45)) 15 16 - **Branch Record Buffer Extension (FEAT_BRBE)** 17 18 - add BRBE support for NS world ([744ad97](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/744ad97445ce7aa65adaef376d0b5bafc12a90d3)) 19 20 - **Extended Cache Index (FEAT_CCIDX)** 21 22 - update the do_dcsw_op function to support FEAT_CCIDX ([d0ec1cc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0ec1cc437c59e64ecba44710dbce82a04ff892d)) 23 24- **Platforms** 25 26 - add SZ_* macros ([1af59c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1af59c457010e6e3e6536752736eb02115bca543)) 27 28 - **Allwinner** 29 30 - add SMCCC SOCID support ([436cd75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/436cd754f2b0f9c0ce3094961bd1e179eeff2fc1)) 31 - allow to skip PMIC regulator setup ([67412e4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/67412e4d7ae3defaac78ef5e351c63e06cfd907a)) 32 - apx803: add aldo1 regulator ([a29f6e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a29f6e76cbf76d509c00f84f068b59864d210dfd)) 33 - choose PSCI states to avoid translation ([159c36f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/159c36fd2fc5afbe979e5028b9e845ed4b7a40f1)) 34 - provide CPU idle states to the rich OS ([e2b1877](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e2b18771fc2a0528dda18dbdaac08dd8530df25a)) 35 - simplify CPU_SUSPEND power state encoding ([52466ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52466ec38ef312da62ad062720a03a183329f831)) 36 37 - **Arm** 38 39 - **FVP** 40 41 - measure critical data ([cf21064](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf21064ec8a1889f64de48e30e38285227d27745)) 42 - update HW_CONFIG DT loading mechanism ([39f0b86](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/39f0b86a76534d0b7c71dd0c8b34f1a74480386b)) 43 - enable RSS backend based measured boot ([c44e50b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c44e50b72567205650c6455f3a258f36af0c84dd)) 44 45 - **Morello** 46 47 - add changes to enable TBBR boot ([4af5397](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4af53977533bee7b5763d3efad1448545c2ebef7)) 48 - add DTS for Morello SoC platform ([572c8ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/572c8ce255397f7cff9640676e510817a8e4c6a3)) 49 - add support for nt_fw_config ([6ad6465](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6ad6465e5ce452688cac079f16d26f64e9f4ce3c)) 50 - add TARGET_PLATFORM flag ([8840711](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8840711f33131969ec6b62ca3da079cf0573ac8b)) 51 - configure DMC-Bing mode ([9b8c431](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b8c431e2b2d656da7f8c4158e3d32e104446fec)) 52 - expose scmi protocols in fdts ([87639aa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/87639aab0b6a30d4f49d069c0ea06900b11072a6)) 53 - split platform_info sds struct ([4a7a9da](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4a7a9dafbc953089957a0cc1a7183731a5b003e1)) 54 - zero out the DDR memory space ([2d39b39](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d39b39704c1e4f2a189543ac4ff05ae58e5f5c8)) 55 56 - **N1SDP** 57 58 - add support for nt_fw_config ([cf85030](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf85030efe73439e06295f8185b0a6bebf7b5eae)) 59 - enable trusted board boot on n1sdp ([fe2b37f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fe2b37f6858168a56c3d393bc72f560468d02165)) 60 61 - **RD** 62 63 - **RD-N2** 64 65 - add board support for rdn2cfg2 variant ([efeb438](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/efeb43808d2e3ed23e1d51d5e86460db92971e96)) 66 - add support for rdedmunds variant ([ef515f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef515f0d3466a8beded4fd662718abbd97391b13)) 67 68 - **SGI** 69 70 - add page table translation entry for secure uart ([33d10ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/33d10ac8bf134519f303fd7ce5fb5d583be2f515)) 71 - deviate from arm css common uart related definitions ([f2cccca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f2ccccaa81ec14a80fedb48c37226e5d852ada7a)) 72 - enable fpregs context save and restore ([18fa43f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/18fa43f753b79cfc3cc5426a3ef50b04efbf6206)) 73 - route TF-A logs via secure uart ([987e2b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/987e2b7c20eb4ab4215ff5289b715300f5cec054)) 74 75 - **TC** 76 77 - add reserved memory region for Gralloc ([ad60a42](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ad60a42cd79713984065dca8540c091c49755f32)) 78 - enable CI-700 PMU for profiling ([fbfc598](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fbfc59840f9cd0ea53921c7f6fb9f4850a3b42ee)) 79 - enable GPU ([82117bb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/82117bb48180175c25936b0ff9e33563e25e18f4)) 80 - enable SMMU for DPU ([4a6ebee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4a6ebeeca37ece34a58982c8b6ebdc8cfd70814b)) 81 - enable tracing ([59da207](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/59da207e2f2f028c9051c89bc5a05e95d996c18c)) 82 83 - **Corstone-1000** 84 85 - identify bank to load fip ([cf89fd5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf89fd57ed3286d7842eef41cd72a3977eb6d317)) 86 - implement platform specific psci reset ([a599c80](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a599c80d063975cbeedbc86cfb619fca8545c487)) 87 - made changes to accommodate 3MB for optee ([854d1c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/854d1c103a9b73bbde7ef1b89b06b29e3cc053bb)) 88 89 - **Intel** 90 91 - add macro to switch between different UART PORT ([447e699](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/447e699f70f1a1d1b85a8136b445eba689166c5d)) 92 - add RSU 'Max Retry' SiP SMC services ([4c26957](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4c26957be253a7ab3acb316f42bf3ee10c409ed2)) 93 - add SiP service for DCMF status ([984e236](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/984e236e0dee46708534a23c637271a931ceb67e)) 94 - add SMC for enquiring firmware version ([c34b2a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c34b2a7a1a38dba88b6b668a81bd07c757525830)) 95 - add SMC support for Get USERCODE ([93a5b97](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/93a5b97ec9e97207769db18ae34886e6b8bf2ea4)) 96 - add SMC support for HWMON voltage and temp sensor ([52cf9c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52cf9c2cd4882534d02e8996e4ff1143ee59290e)) 97 - add SMC support for ROM Patch SHA384 mailbox ([77902fc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77902fca8fe7449473b09198e1fe197f7b4765d7)) 98 - add SMC/PSCI services for DCMF version support ([44eb782](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/44eb782e15c9af532f2455b37bd53ca93830f6e2)) 99 - add SMPLSEL and DRVSEL setup for Stratix 10 MMC ([bb0fcc7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb0fcc7e011ec4319a79734ba44353015860e39f)) 100 - add support for F2S and S2F bridge SMC with mask to enable, disable and reset bridge ([11f4f03](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/11f4f03043ef05762f4d6337804c39dc8f9af54f)) 101 - allow to access all register addresses if DEBUG=1 ([7e954df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e954dfc2ba83262f7596dd0f17de75163e49e5e)) 102 - create source file for firewall configuration ([afa0b1a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/afa0b1a82a404c616da2da8f52cdcd587938955f)) 103 - enable firewall for OCRAM in BL31 ([ae19fef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ae19fef33707700a91b0b672aa784e084a6ca500)) 104 - enable SMC SoC FPGA bridges enable/disable ([b7f3044](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7f3044e8725d9af997999547630892cf9e2f0ad)) 105 - extend attestation service to Agilex family ([581182c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/581182c1916df03860744d8e32941c72b2cc3fda)) 106 - implement timer init divider via cpu frequency. ([#1](https://review.trustedfirmware.org:29418/TF-A/trusted-firmware-a/issues/1)) ([f65bdf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f65bdf3a54eed8f7651761c25bf6cc7437f4474b)) 107 - initial commit for attestation service ([d174083](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d17408316db10db611e23716e8a5b9b9f53ad509)) 108 - single certificate feature enablement ([7facace](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7facacec6328e505b243a4974d045d45fe068afd)) 109 - support AES Crypt Service ([6726390](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6726390eb02e9659cfaf2d3598be9bf12fbc5901)) 110 - support crypto service key operation ([342a061](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/342a0618c7ff89327ac5b34dc0713509ffae609b)) 111 - support crypto service session ([6dc00c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6dc00c24ab0100a2aae0f416c72470f8ed17e149)) 112 - support ECDH request ([4944686](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49446866a515c2db855d456f39df3d586b2084b7)) 113 - support ECDSA Get Public Key ([d2fee94](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d2fee94afa6ba7e76508e6bead7eb2936c5eafb8)) 114 - support ECDSA HASH Signing ([6925410](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/692541051b8cb0f435ae46c5d7351231ee292319)) 115 - support ECDSA HASH Verification ([7e25eb8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e25eb87016ba8355cf0a3a5f71fb8b8785de044)) 116 - support ECDSA SHA-2 Data Signature Verification ([5830506](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/583050607e43cef8b544a5700386a019e54c422f)) 117 - support ECDSA SHA-2 Data Signing ([07912da](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07912da1b7663451493fb5e40e4c33deeb18a639)) 118 - support extended random number generation ([24f9dc8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24f9dc8a43fea350416ca9312a78ab4e786da8ad)) 119 - support HMAC SHA-2 MAC verify request ([c05ea29](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c05ea2969070be90a7dbb2d0344c66d89401edf6)) 120 - support session based SDOS encrypt and decrypt ([537ff05](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/537ff052579862a4865d36d06940feaa796d16da)) 121 - support SHA-2 hash digest generation on a blob ([7e8249a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e8249a2dbacfa751990c47644f0403311c6e260)) 122 - support SiP SVC version ([f0c40b8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0c40b897f8a25bc50c53239dcf750dd395ebabf)) 123 - support version 2 SiP SVC SMC function ID for mailbox commands ([c436707](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c436707bc6eed31ab61408ef40db6063d05f0912)) 124 - support version 2 SiP SVC SMC function ID for non-mailbox commands ([ad47f14](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ad47f1422f3f9aa4a622e08b71fc8f5caab98a98)) 125 - update to support maximum response data size ([b703fac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b703facaaae1e3fe5afa4742b436bb07e065b5e9)) 126 127 - **Marvell** 128 129 - **Armada** 130 131 - **A3K** 132 133 - add north and south bridge reset registers ([a4d35ff](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4d35ff381c625d61bcc22f9f9a1a45d8663b19d)) 134 135 - **MediaTek** 136 137 - introduce mtk makefile ([500d40d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/500d40d877617653d347fb6308144973d4297ab9)) 138 139 - **MT8195** 140 141 - apply erratas of CA78 for MT8195 ([c21a736](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c21a736d6f3fa9fb0647bff404b0174ebf1acd91)) 142 - add EMI MPU surppot for SCP and DSP ([690cb12](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/690cb1265ea84851bd6405a0a6a57d2f1c9f03a3)) 143 - dump EMI MPU configurations ([20ef588](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/20ef588e86ad8f3cf13382c164463046db261feb)) 144 - improve SPM wakeup log ([ab45305](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ab45305062f50f81e5c3f800ef4c6cef5097cb04)) 145 146 - **MT8186** 147 148 - add DFD control in SiP service ([e46e9df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e46e9df0d0e05f2aaee613fc4f697fcc8d79c0b3)) 149 - add SPM suspend driver ([7ac6a76](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7ac6a76c47d429778723aa804b64c48220a10f11)) 150 - add Vcore DVFS driver ([635e6b1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/635e6b108e773daf37c00f46e6fbb1cae4e78f96)) 151 - disable 26MHz clock while suspending ([9457cec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9457cec8c02f78ba56fd9298dd795766c89281a2)) 152 - initialize platform for MediaTek MT8186 ([27132f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/27132f13ca871dc3cf1aa6938995284cf5016e00)) 153 - add power-off function for PSCI ([a68346a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a68346a772859ee6971ec14c6473d2a853e9c66f)) 154 - add CPU hotplug ([1da57e5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1da57e54b2270b3b49710afa6fd947b01d61b261)) 155 - add DCM driver ([95ea87f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/95ea87ffc2445c77f070e6a2f78ffa424810faed)) 156 - add EMI MPU basic driver ([1b17e34](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b17e34c5d7740a357b2027d88aef7760b346616)) 157 - add MCDI drivers ([06cb65e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/06cb65ef079941d0525dca75dd0e110e9330906d)) 158 - add pinctrl support ([af5a0c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af5a0c40aff21c4b8771365f19dcb01d6086b30d)) 159 - add pwrap and pmic driver ([5bc88ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5bc88ec61c75ed42b41d84817aa4d6ee68a2efc8)) 160 - add reboot function for PSCI ([24dd5a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24dd5a7b71544c503446e58cb23c0cfd09245a3c)) 161 - add RTC drivers ([6e5d76b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e5d76bac8786120d037953f5a6fd67aaff035c1)) 162 - add SiP service ([5aab27d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5aab27dc4294110a6c0b69bf5ec5343e7df883a7)) 163 - add sys_cirq support ([109b91e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/109b91e38c8d4f73941c8574759560a1f1636d05)) 164 - apply erratas for MT8186 ([572f8ad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/572f8adbb062c36835fbb82944dd2ed772134bfd)) 165 - initialize delay_timer ([d73e15e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d73e15e66a33398c8fc51c83f975a3f35494faf5)) 166 - initialize GIC ([206f125](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/206f125cc177bc110eb87d40ffc7fa18b28c01ce)) 167 - initialize systimer ([a6a0af5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a6a0af57c3369dfc6fc2f25877d812a24e9be311)) 168 169 - **NXP** 170 171 - add SoC erratum a008850 ([3d14a30](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3d14a30b88762e901e134acc89c6ac4fa9e3f321)) 172 - add ifc nor and nand as io devices ([b759727](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b759727f5936a687314168dd8912d30897a8c6be)) 173 - add RCPM2 registers definition ([d374060](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d374060abe9b63296f63f1e3c811aeeddb7a093c)) 174 - add CORTEX A53 helper functions ([3ccc8ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3ccc8ac3e5da48819a2fc90ec48a175515de38cb)) 175 176 - **i.MX** 177 178 - **i.MX 8M** 179 180 - add a simple csu driver for imx8m family ([71c40d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71c40d3bb7c90a6c36d5c49d0830ca95aba65a2f)) 181 - add imx csu/rdc enum type defines for imx8m ([0c6dfc4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c6dfc47847608b6ade0c00716e93afc6725362c)) 182 - enable conditional build for SDEI ([d2a339d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d2a339dfa1665edf87a30a4318af954e764c205c)) 183 - enable the coram_s tz by default on imx8mn/mp ([d5ede92](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5ede92d78c829d8a3adad0759219b79e0dc0707)) 184 - enable the csu init on imx8m ([0a76495](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0a76495bc2cb0c5291027020a3cd2d3adf31c8ed)) 185 - do not release JR0 to NS if HAB is using it ([77850c9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77850c96f23bcdc76ecb0ecd27a982c00fde5d9d)) 186 - switch to xlat_tables_v2 ([4f8d5b0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4f8d5b018efc42d1ffa76fca8efb0d16a57f5edd)) 187 188 - **i.MX 8M Mini** 189 190 - enable optee fdt overlay support ([9d0eed1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d0eed111cb1294605b6d82291fef16a51d35e46)) 191 - enable Trusty OS on imx8mm ([ff3acfe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff3acfe3cc1658917376152913a9d1b5b9b8de34)) 192 - add support for measured boot ([cb2c4f9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cb2c4f93c18b948fbfde9d50ab7d30362be0e00a)) 193 194 - **i.MX 8M Plus** 195 196 - add trusty for imx8mp ([8b9c21b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8b9c21b480dd5c3265be1105a9462b3f5657a6b1)) 197 - enable BL32 fdt overlay support on imx8mp ([aeff146](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aeff14640a91f6d33bfdbc0dc7b0e920f6d14b91)) 198 199 - **i.MX 8M Nano** 200 201 - enable optee fdt overlay support ([2612891](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/26128912884b26fab67bce9d87ba0e1c85a0be1e)) 202 - enable Trusty OS for imx8mn ([99349c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99349c8ecba910dabbaa72b9be91f3ed762036f5)) 203 204 - **i.MX 8M Q** 205 206 - enable optee fdt overlay support ([023750c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/023750c6a898e77c185839f5e56f8e23538f718a)) 207 - enable trusty for imx8mq ([a18e393](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a18e393339e1d481f4fdf0d621fe4f39ce93a4fe)) 208 209 - **Layerscape** 210 211 - add CHASSIS 3 support for tbbr ([9550ce9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9550ce9ddd7729a961f51ed61ea4b2030e284dcb)) 212 - add new soc errata a009660 support ([785ee93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/785ee93cc3bd9b43d88fee5acefbd131bf6f2756)) 213 - add new soc errata a010539 support ([85bd092](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/85bd0929433875e0b84fdc2046d9ec2cf0164903)) 214 - add soc helper macro definition for chassis 3 ([602cf53](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/602cf53b6f507cea88f4af5c07bed9325bc7a9b8)) 215 - define more chassis 3 hardware address ([0d396d6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0d396d6455a659c4e679f02fae1f9043713474b0)) 216 - print DDR errata information ([3412716](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3412716b30260958b30d1fa2e1c6d8cce195cd7d)) 217 218 - **LS1043A** 219 220 - add ls1043a soc support ([3b0de91](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b0de9182501fae9de372efd1faaf35a7bf74f68)) 221 222 - **LS1043ARDB** 223 224 - add ls1043ardb board support ([e4bd65f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e4bd65fed8a12d06181c1343cf786ac91badb6b0) 225 226 - **LX2** 227 228 - enable DDR erratas for lx2 platforms ([cd960f5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd960f5009ee062bba9c479505caee6bbe644649)) 229 230 - **LS1046A** 231 232 - add new SoC platform ls1046a ([cc70859](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc708597fa72094c5a01df60e6538e4a7429c2a0)) 233 234 - **LS1046ARDB** 235 236 - add ls1046ardb board support ([bb52f75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb52f7560b62043ed08a753f399dc80e8c1582d3)) 237 238 - **LS1046AFRWY** 239 240 - add ls1046afrwy board support ([b51dc56](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b51dc56ab9ea79e4709f0d0ce965525d0d3da918)) 241 242 - **LS1046AQDS** 243 244 - add board ls1046aqds support ([16662dc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/16662dc40dd2578d3000528ece090ed39ed18b9c)) 245 246 - **LS1088A** 247 248 - add new SoC platform ls1088a ([9df5ba0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9df5ba05b4fe4cd44157363a897b73553ba6e2f1)) 249 250 - **LS1088ARDB** 251 252 - add ls1088ardb board support ([2771dd0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2771dd0293b6cda6811e8bed95f2354a3ee0124e)) 253 254 - **LS1088AQDS** 255 256 - add ls1088aqds board support ([0b0e676](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0b0e67669814139c6818e61e03d0d0e3314fdc99)) 257 258 - **QEMU** 259 260 - add SPMD support with SPMC at S-EL1 ([f58237c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f58237ccd9fd2350730d60ab7de59b5c376bfb35)) 261 - add support for measured boot ([5e69026](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5e690269d579d9461be3c5f5e3f59d4c666863a0)) 262 263 - **QTI** 264 265 - **MSM8916** 266 267 - allow booting secondary CPU cores ([a758c0b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a758c0b65c6730fb07846899d6436ba257484d34)) 268 - initial platform port ([dddba19](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dddba19a6a3cb7a1039beaffc3169c4eb3291afd)) 269 - setup hardware for non-secure world ([af64473](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af6447315c8534331513ca6b6556af661e0ba88b)) 270 271 - **Renesas** 272 273 - **R-Car** 274 275 - **R-Car 3** 276 277 - modify sequence for update value for WUPMSKCA57/53 ([d9912cf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d9912cf3d1022fc6d38a6059290040985de56e63)) 278 - modify type for Internal function argument ([ffb725b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ffb725be98ffd010c851629a6da75bf57f770c7f)) 279 - update IPL and Secure Monitor Rev.3.0.3 ([14d9727](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/14d9727e334300b3f5f57e76a9f6e21431e6c6b5)) 280 281 - **ST** 282 283 - add a function to configure console ([53612f7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/53612f72938f37244a5f10ae7c57abe7358c221f)) 284 - add STM32CubeProgrammer support on UART ([fb3e798](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb3e7985c9b657c535c02b722ecc413f643e671e)) 285 - add STM32MP_UART_PROGRAMMER target ([9083fa1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9083fa11ead67272b94329e8f84257de6658620d)) 286 - add early console in BL2 ([c768b2b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c768b2b22f4fb16cf8be8b4815a1984b29918c20)) 287 - disable authentication based on part_number ([49abdfd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49abdfd8cececb91a4bc7e7b29a30c09dce461c7)) 288 - get pin_count from the gpio-ranges property ([d0f2cf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0f2cf3b148df75d5cbbd42dfa18012043e5d1f4)) 289 - map 2MB for ROM code ([1697ad8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1697ad8cc81307972d31cec3b27d58f589eeeb3f)) 290 - protect UART during platform init ([acf28c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/acf28c267b3679a0770b2010f2ec3fb3c2d19975)) 291 - update stm32image tool for header v2 ([2d8886a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d8886aceed613b9be25f20900914cacc8bb0fb9)) 292 - update the security based on new compatible ([812daf9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/812daf916c9c977a4f6d7d745d22b90c8492fc71)) 293 - use newly introduced clock framework ([33667d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/33667d299bd5398ca549f542345e0f321b483d17)) 294 295 - **ST32MP1** 296 297 - adaptations for STM32MP13 image header ([a530874](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a5308745ee3ab3b77ca942052e60968bcc01340d)) 298 - add "Boot mode" management for STM32MP13 ([296ac80](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/296ac8012b77ea84079b38cc60ee786a5f91857f)) 299 - add a second fixed regulator ([225ce48](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/225ce4822ccf2e7c7c1fca6cf3918d4399158613)) 300 - add GUID values for updatable images ([8d6b476](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8d6b4764f3e54431c3d01342d39d1efa70c3dbf9)) 301 - add GUID's for identifying firmware images to be booted ([41bd8b9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/41bd8b9e2ad3b755505684601f07d4f7f8ec04c4)) 302 - add helper to enable high speed mode in low voltage ([dea02f4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dea02f4eaed855c2f05d8a1d7eefca313e98e5b4)) 303 - add logic to pass the boot index to the Update Agent ([ba02add](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ba02add9ea8fb9a8b0a533c1065a77c7dda4f2a6)) 304 - add logic to select the images to be booted ([8dd7553](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8dd755314fdfa077465bd6cd5e248be392d90378)) 305 - add NVMEM layout compatibility definition ([dfbdbd0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dfbdbd0625990267c6742268118ea748e77c6123)) 306 - add part numbers for STM32MP13 ([30eea11](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/30eea116cdd66b3fa1e1208e185eb7285a83d898)) 307 - add regulator framework compilation ([bba9fde](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bba9fdee589fb9a7aca5963f53b7ce67c30520b3)) 308 - add sdmmc compatible in platform define ([3331d36](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3331d3637c295993a78f22afe7463cf1c334d329)) 309 - add sign-compare warning ([c10f3a4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c10f3a4559ebf7a654a9719fec619e81e6ee1d69)) 310 - add stm32_get_boot_interface function ([a6bfa75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a6bfa75cf25241a486ab371ae105ea7ebf2d34d8)) 311 - add support for building the FWU feature ([ad216c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ad216c106682f1d2565b2a08e11a601b418dc8a4)) 312 - add support for reading the metadata partition ([0ca180f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ca180f6416160a523ff442f1ad0b768a9a3a948)) 313 - add timeout in IO compensation ([de02e9b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/de02e9b0ec29548b8ce5ef6ee9adcd9c5edb0518)) 314 - allow configuration of DDR AXI ports number ([88f4fb8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/88f4fb8fa759b1761954067346ee674b454bdfde)) 315 - call pmic_voltages_init() in platform init ([ffd1b88](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ffd1b889225a8aec124df9e330f41dc638fd7180)) 316 - chip rev. Z is 0x1001 on STM32MP13 ([ef0b8a6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef0b8a6c1b1a0eab3626041f3168f82bdb410836)) 317 - enable BL2_IN_XIP_MEM to remove relocation sections ([d958d10](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d958d10eb360024e15f3c921dc3863a0cee98830)) 318 - enable format-signedness warning ([cff26c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cff26c19169dd94857e8180cc46b7aa4ccac574a)) 319 - get CPU info from SYSCFG on STM32MP13 ([6512c3a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6512c3a62a4a7baaf32597284b242bc7172b7e26)) 320 - introduce new flag for STM32MP13 ([bdec516](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bdec516ee862bfadc25a4d0c02a3b8d859c1fa25)) 321 - manage HSLV on STM32MP13 ([fca10a8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fca10a8f1b47231ef92634a0adf1a26cbfc97c2a)) 322 - manage monotonic counter ([f5a3688](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f5a3688b8608df0f269a0b6df18632ebb9e26a01)) 323 - new way to access platform OTP ([ae3ce8b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ae3ce8b28eac73e9a41fdb28424d9f0f4b5f200e)) 324 - preserve the PLL4 settings for USB boot ([bf1af15](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf1af154db2c89028a8a551c18885add35d38966)) 325 - register fixed regulator ([967a8e6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/967a8e63c33822680e3a4631430dcd9a4a64becd)) 326 - remove unsupported features on STM32MP13 ([111a384](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/111a384c90afc629e644e7a8284abbd4311cc6b3)) 327 - retry 3 times FWU trial boot ([f87de90](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f87de907c87e5b2091592c131c4d3d2f737bef01)) 328 - select platform compilation either by flag or DT ([99a5d8d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99a5d8d01d38474b056766651bd746a4fe93ab20)) 329 - skip TOS_FW_CONFIG if not in FIP ([b706608](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7066086424c2f6fd04880db852306d6f487962e)) 330 - stm32mp_is_single_core() for STM32MP13 ([7b48a9f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7b48a9f3286b8f174acf8821fec48fd2e4771514)) 331 - update BACKUP_BOOT_MODE for STM32MP13 ([4b031ab](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4b031ab4c50d0b9f7127daa7f4eec634f39de970)) 332 - update boot API for header v2.0 ([5f52eb1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5f52eb15970e57d2777d114948fc1110e3dd3f6c)) 333 - update CFG0 OTP for STM32MP13 ([1c37d0c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c37d0c1d378769249c797de5b13d73cf6f17a53)) 334 - update console management for SP_min ([aafff04](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aafff0435448c8409935132be41758e0031f0822)) 335 - update IO compensation on STM32MP13 ([8e07ab5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8e07ab5f705b213af28831f7c3e9878154e07df0)) 336 - update IP addresses for STM32MP13 ([52ac998](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52ac9983d67522b6b821391941c8b0d01fd68941)) 337 - update memory mapping for STM32MP13 ([48ede66](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/48ede6615168118c674288f2e4f8ee1b11d2fa02)) 338 - updates for STM32MP13 device tree compilation ([d38eaf9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d38eaf99d327bc1400f51c87b6d8a2f92cd828c6)) 339 - usb descriptor update for STM32MP13 ([d59b9d5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d59b9d53b9cfb2443575c62c6716eb5508374a7b)) 340 - use clk_enable/disable functions ([c7a66e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c7a66e720ae1a1a5ef98eaf9ff327cd352549010)) 341 - use only one filter for TZC400 on STM32MP13 ([b7d0058](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7d0058a3a9153a3863cf76a6763ea751b3ab48d)) 342 - warn when debug enabled on secure chip ([ac4b8b0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ac4b8b06eb23134d2a9002834541d33f8d43661b)) 343 344 - **Texas Instruments** 345 346 - add enter sleep method ([cf5868b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cf5868b8cd7239dee69bdf6ba3ab87bd06bf15f5)) 347 - add gic save and restore calls ([b40a467](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b40a467783e5911f97d6e92ebdeb34ca2f005552)) 348 - add PSCI handlers for system suspend ([2393c27](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2393c27680a1ec636e413051e87e986df5a866fe)) 349 - allow build config of low power mode support ([a9f46fa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a9f46fad82b807a9f0a967245e3ac10ee8dd0ef1)) 350 - increase SEC_SRAM_SIZE to 128k ([38164e6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/38164e64bd853a8329475e9168c5fcb94ecc528b)) 351 352 - **Xilinx** 353 354 - **Versal** 355 356 - add SPP/EMU platform support for versal ([be73459](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/be73459a945d8fa781fcc864943ccd0a8d92421c)) 357 - add common interfaces to handle EEMI commands ([1397967](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1397967490c9f0ebff0d20a566260d1475fe065e)) 358 - add SMCCC call TF_A_PM_REGISTER_SGI ([fcf6f46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fcf6f469318d693a024d42ae2d0f4afb26c1e85d)) 359 - add support to reset SGI ([bf70449](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf70449ba2d1ffd20b01741c491dc0f565009b3d)) 360 - add UART1 as console ([2c79149](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2c791499c26b40c31ce7f68c3bf0dca777fc62de)) 361 - enhance PM_IOCTL EEMI API to support additional arg ([d34a5db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d34a5db8a76abdfc8fa68f43b24b971699086a06)) 362 - get version for ATF related EEMI APIs ([da6e654](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/da6e654bc8b03ee784d0e96a71c4e591e63930f2)) 363 - remove the time stamp configuration ([18e2a79](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/18e2a79f8a5eaa72a2a7e641c2481beb9f827dce)) 364 365 - **ZynqMP** 366 367 - disable the -mbranch-protection flag ([67abd47](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/67abd4762bd563be94e734bb0fe4087e88d5d446)) 368 - fix section `coherent_ram' will not fit in region `RAM' ([9b4ed0a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b4ed0af02a8ff1fd9a81af5213fde16d3eb8d92)) 369 - add feature check support ([223a628](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/223a6284b8a0a3ead884a7f0cf333a464d32e319)) 370 - add support to get info of xilfpga ([cc077c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc077c22273075db328bd30fa12c28abf9eef052)) 371 - add uart1 as console ([ea66e4a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea66e4af0baf5d5b905e72f824a672f16a6e0f98)) 372 - increase the max xlat tables when debug build is enabled ([4c4b961](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4c4b9615b1d9512a4a89aa08e722547cc491a07b)) 373 - pass ioctl calls to firmware ([76ff8c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/76ff8c459e9e6d105e614d68648bd6680806f93e)) 374 - pm_api_clock_get_num_clocks cleanup ([e682d38](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e682d38b56854e1586b25d929dbc83543b4c66e4)) 375 376- **Bootloader Images** 377 378 - add XLAT tables symbols in linker script ([bb5b942](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb5b942e6f133198daedcca0b74ec598af260a54)) 379 380 - **BL2** 381 382 - add support to separate no-loadable sections ([96a8ed1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/96a8ed14b74cca33a8caf567d0f0a2d3b2483a3b)) 383 384 - **BL31** 385 386 - aarch64: RESET_TO_BL31_WITH_PARAMS ([25844ff](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/25844ff728e4a0e5430ba2032457aba7b780a701)) 387 388- **Services** 389 390 - **RME** 391 392 - add dummy platform token to RMMD ([0f9159b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0f9159b7ebb7e784a8ed998869ff21095fa105b1)) 393 - add dummy realm attestation key to RMMD ([a043510](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a0435105f229a65c7861b5997793f905cf90b823)) 394 395 - **SPM** 396 397 - update ff-a boot protocol documentation ([573ac37](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/573ac37373d3e8b2c31b3aaeed759e4656e060ec)) 398 399 - **EL3 SPMC** 400 401 - allow BL32 specific defines to be used by SPMC_AT_EL3 ([2d65ea1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d65ea1930d4ce26cc176a8c60e9401d0b4f862a)) 402 - add plat hook for memory transactions ([a8be4cd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a8be4cd057bce5f0b4ac6af396c0c870474d1ef4)) 403 - add EL3 SPMC #defines ([44639ab](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/44639ab73e43e0b79da834dff8c85266d68e5066)) 404 - introduce accessor function to obtain datastore ([6a0788b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a0788bc0e704283e52c80990aa2bb6e047a0cc2)) 405 - add FF-A secure partition manager core ([5096aeb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5096aeb2ba646548a7a6ab59e975b996e6c9026a)) 406 - add FFA_FEATURES handler ([55a2963](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/55a296387b9720855df429a08c886f47a4a45057)) 407 - add FFA_PARTITION_INFO_GET handler ([f74e277](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f74e27723bb54ad1318fa462fbcff70af555b2e6)) 408 - add FFA_RUN handler ([aad20c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aad20c85cb6f4bc91318d3c6488cf72a20fdbe96)) 409 - add FFA_RX_RELEASE handler ([f0c25a0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0c25a082fc8b891d4d21518028118561caa4735)) 410 - add function to determine the return path from the SPMC ([20fae0a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/20fae0a7ce7fd407cd3efb7745017ee6ab605159)) 411 - add helper function to obtain endpoint mailbox ([f16b6ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f16b6ee3deac93706efe465f399c9542e12d5eeb)) 412 - add helper function to obtain hyp structure ([a7c0050](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a7c00505f85684326a223535a319c170d14826f6)) 413 - add helper to obtain a partitions FF-A version ([c2b1434](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2b1434369292081f907c548e496f59e197eb2f1)) 414 - add partition mailbox structs ([e1df600](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e1df6008d9b4a00da25ec08fbdcbd3a5967fdb54)) 415 - add support for direct req/resp ([9741327](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9741327df577c3f43db42b26bda607429e62af0b)) 416 - add support for FF-A power mgmt. messages in the EL3 SPMC ([59bd2ad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/59bd2ad83c13ed3c84bb9b841032c95927358890)) 417 - add support for FFA_MSG_WAIT ([c4db76f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c4db76f066f236fe490ebc7a50833a04e08f5151)) 418 - add support for FFA_SPM_ID_GET ([46872e0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/46872e01f5efb555fef8367595b59e5d2f75cec0)) 419 - add support for forwarding a secure interrupt to the SP ([729d779](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/729d7793f830781ff8ed44d144c3346c6e4251a3)) 420 - add support for handling FFA_ERROR ABI ([d663fe7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d663fe7a3002ff028c190eb732278b878e78b7b7)) 421 - add support for v1.1 FF-A boot protocol ([2e21921](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e21921502b1317031cf2a2f69c5d47ac88a505d)) 422 - add support for v1.1 FF-A memory data structures ([7e804f9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e804f9695c48681c91e9e6fc6175eb6997df867)) 423 - enable building of the SPMC at EL3 ([1d63ae4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1d63ae4d0d8374a732113565be90d58861506e39)) 424 - enable checking of execution ctx count ([5b0219d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5b0219ddd5da42413f4c2be9302224b5b71295ff)) 425 - enable handling FF-A RX/TX Mapping ABIs ([1a75224](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1a752245ecae6487844c57667e24b704e6df8079)) 426 - enable handling FFA_VERSION ABI ([0c7707f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c7707fdf21fc2a8658f5a4bdfd2f8883d02ada5)) 427 - enable handling of the NS bit ([0560b53](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0560b53e71ab6daefa8e75665a718605478746a4)) 428 - enable parsing of messaging methods from manifest ([3de378f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3de378ff8c9430c964cbe9b0c58fa5afc4d237ce)) 429 - enable parsing of UUID from SP Manifest ([857f579](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/857f5790da3770a9ca52416274eec4e545c9be53)) 430 - enable the SPMC to pass the linear core ID in a register ([f014300](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0143004e548582760aacd6f15f5499b18081a69)) 431 - prevent read only xlat tables with the EL3 SPMC ([70d986d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/70d986ddbbf56a20c7550c079dd4dc9462332594)) 432 - support FFA_ID_GET ABI ([d5fe923](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5fe92350cb018ae7083ed26a6a16508ccd82a86)) 433 - allow forwarding of FFA_FRAG_RX/TX calls ([642db98](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/642db9840712044b9c496e04a7acd60580e54117)) 434 - enable handling of FF-A SMCs with the SPMC at EL3 ([bb01a67](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb01a67306f47271adde051e541c760028c1a0f1)) 435 - update SPMC init flow to use EL3 implementation ([6da7607](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6da76075bf4b953d621aa15c379e62a5f785de3f)) 436 - add logical partition framework ([7affa25](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7affa25cad400101c016082be2d102be0f4fce80)) 437 - add FF-A memory management code ([e0b1a6d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e0b1a6d59e57c0dbe87f5b8f8166f1123664f058)) 438 - prevent duplicated sharing of memory regions ([fef85e1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fef85e1e53fcf44e8d9ed50c89d8a764bf1b7738)) 439 - support multiple endpoints in memory transactions ([f0244e5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f0244e5dd1b8cbab75ef00c1b9b56eed5b3cad4b)) 440 441 - **SPMD** 442 443 - forward FFA_VERSION from SPMD to SPMC ([9944f55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9944f55761c4d5cc1feefaf5e33bf7fb83d8f5f3)) 444 - enable SPMD to forward FFA_VERSION to EL3 SPMC ([9576fa9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9576fa93a2effc23a533b80dce41d7104a8d200b)) 445 - add FFA_MSG_SEND2 forwarding in SPMD ([c2eba07](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2eba07c47f8d831629104eeffcec11ed7d3b0a5)) 446 - add FFA_RX_ACQUIRE forwarding in SPMD ([d555233](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d555233fe5a04dfd99fd6ac30bacc5284285c131)) 447 448 - **SPM MM** 449 450 - add support to save and restore fp regs ([15dd6f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15dd6f19da8ee4b20ba525e0a742d0df9e46e071)) 451 452- **Libraries** 453 454 - **CPU Support** 455 456 - add library support for Poseidon CPU ([1471475](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1471475516cbf1b4a411d5ef853bd92d0edd542e)) 457 - add support for Cortex-X1 ([6e8eca7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e8eca78e5db966e10e2fa2737e9be4d5af51fa9)) 458 - add L1PCTL macro definiton for CPUACTLR_EL1 ([8bbb1d8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8bbb1d80a58dbdf96fcabbdebbfbd21d2d5344a4)) 459 460 - **EL3 Runtime** 461 462 - add arch-features detection mechanism ([6a0da73](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a0da73647546aea1d10b4b2347bac9d532bcb43)) 463 - replace ARM_ARCH_AT_LEAST macro with FEAT flags ([0ce220a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ce220afb24f0511332b251952019d7011ccc282)) 464 465 - **FCONF** 466 467 - add a helper to get image index ([9e3f409](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9e3f409398af447b1d03001dd981007a9bb1617e)) 468 - add NS load address in configuration DTB nodes ([ed4bf52](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ed4bf52c33b6860d58a2ffc946bd293ec76bbdaa)) 469 470 - **Standard C Library** 471 472 - add support for length specifiers ([701e94b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/701e94b08f382691b0deabd4df882abd87e17ab5)) 473 474 - **PSA** 475 476 - add initial attestation API ([0848565](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/084856513d6730a50a3d65ac9c3bdae465117c40)) 477 - add measured boot API ([758c647](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/758c64715b691be92de623f81032494e38a43cc8)) 478 - mock PSA APIs ([0ce2072](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ce2072d9b9f419bb19595454395a33a5857ca2f)) 479 480- **Drivers** 481 482 - **Generic Clock** 483 484 - add a minimal clock framework ([847c6bc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/847c6bc8e6d55b1c0f31a52407aa61515cd6c612)) 485 486 - **FWU** 487 488 - add a function to pass metadata structure to platforms ([9adce87](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9adce87efc8acc947b8b49d700c9773a7f071e02)) 489 - add basic definitions for GUID handling ([19d63df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/19d63df1af72b312109b827cca793625ba6fcd16)) 490 - add platform hook for getting the boot index ([40c175e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/40c175e75bc442674a5dc793c601b09681158ab9)) 491 - pass a const metadata structure to platform routines ([6aaf257](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6aaf257de4a4070ebc233f35a09bce4c39ea038c)) 492 - simplify the assert to check for fwu init ([40b085b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/40b085bddf60cf8c533b379ccb41e6668c5080dd)) 493 494 - **Measured Boot** 495 496 - add RSS backend ([0442ebd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0442ebd2e9bcf5fa4344d8fa8ef4b69a3b249e33)) 497 498 - **GUID Partition Tables Support** 499 500 - add a function to identify a partition by GUID ([3cb1065](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3cb1065581f6d9a8507af8dbca3779d139aa0ca7)) 501 - cleanup partition and gpt headers ([2029f93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2029f930097b0c3b1b1faa660032d16ed01a5c86)) 502 - copy the partition GUID into the partition structure ([7585ec4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7585ec4d36ebb7e286cfec959b2de084eded8201)) 503 - make provision to store partition GUID value ([938e8a5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/938e8a500a25a949cfd25f0cb79f6c1359c9b40c)) 504 - verify crc while loading gpt header ([a283d19](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a283d19f82ddb635d9d9fa061e7fd956167ebe60)) 505 506 - **Arm** 507 508 - **GIC** 509 510 - allow overriding GICD_PIDR2_GICV2 address ([a7521bd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a7521bd5d887bfd69d99a55a81416e38ba9ebc97)) 511 512 - **GIC-600AE** 513 514 - disable SMID for unavailable blocks ([3f0094c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3f0094c15d433cd3de413a4633a4ac2b8e1d1f2e)) 515 - enable all GICD, PPI, ITS SMs ([6a1c17c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a1c17c770139c00395783e7568220d61264c247)) 516 - introduce support for RAS error handling ([308dce4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/308dce40679f63db504cd3d746a0c37a2a05f473)) 517 518 - **SMMU** 519 520 - add SMMU abort transaction function ([6c5c532](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c5c5320511ab8202fb9eccce9e66b4e4e0d9a33)) 521 - configure SMMU Root interface ([52a314a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52a314af254966a604e192fcc3326737354f217a)) 522 523 - **MHU** 524 525 - add MHU driver ([af26d7d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af26d7d6f01068809f17cc2d49a9b3d573c640a9)) 526 527 - **RSS** 528 529 - add RSS communication driver ([ce0c40e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ce0c40edc93aa403cdd2eb6c630ad23e28b01c3e)) 530 531 - **TZC** 532 533 - **TZC-380** 534 535 - add sub-region register definition ([fdafe2b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fdafe2b5ead66a1b5175db77bcc7cedafa14a059)) 536 537 - **Marvell** 538 539 - **Armada** 540 541 - **A3K** 542 543 - **A3720** 544 545 - preserve x1/x2 regs in console_a3700_core_init() ([7c85a75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7c85a7572960efbaabe20c9db037bcec66be3e98)) 546 547 - **MediaTek** 548 549 - **APU** 550 551 - add mt8195 APU clock and pll SiP call ([296b590](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/296b590206aa6db51e5c82b1a97a4f9707b49c4d)) 552 - add mt8195 APU iommap regions ([339e492](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/339e4924a7a3fd11bc176e0bf3e01d76133d364c)) 553 - add mt8195 APU mcu boot and stop SiP call ([88906b4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/88906b443734399be5c07a5bd690b63d3d82cefa)) 554 555 - **NXP** 556 557 - **DCFG** 558 559 - add Chassis 3 support ([df02aee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/df02aeeec640d2358301e903d9c8c473d455be9e)) 560 - add gic address align register definition ([3a8c9d7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3a8c9d78d4c65544d789bd64bd005ac10b5b352d)) 561 - add some macro definition ([1b29fe5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b29fe534b8732193850fced2da1dc449450bd3b)) 562 563 - **NXP Crypto** 564 565 - add chassis 3 support ([d60364d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d60364d48e31b33b57049d848b7462eb0e0de612)) 566 567 - **DDR** 568 569 - add rawcard 1F support ([f2de48c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f2de48cb143c20ccd7a9c141df3d34cae74049de)) 570 - add workaround for errata A050958 ([291adf5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/291adf521a54a365e54964bff4dae53d51c65936)) 571 572 - **GIC** 573 574 - add some macros definition for gicv3 ([9755fd2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9755fd2ec2894323136715848910b13053cfe0ce)) 575 576 - **CSU** 577 578 - add bypass bit mask definition ([ec5fc50](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ec5fc501f15922967bf5d8260072ba1f9aec9640)) 579 580 - **IFC NAND** 581 582 - add IFC NAND flash driver ([28279cf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/28279cf2c141caf5e4e7156f874cde6f5a0d271b)) 583 584 - **IFC NOR** 585 586 - add IFC nor flash driver ([e2fdc77](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e2fdc77ba4eee91f0d1490e34f0fff552fc55dc9)) 587 588 - **TZC-380** 589 590 - add tzc380 platform driver support ([de9e57f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/de9e57ff1f3769e770eac44b94127eb7239a63f2)) 591 592 - **ST** 593 594 - introduce fixed regulator driver ([5d6a264](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d6a2646f7759a5a2b3daed0d8aef4588c552ba4)) 595 596 - **Clock** 597 598 - add clock driver for STM32MP13 ([9be88e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9be88e75c198b08c508d8e470964720a781294b3)) 599 - assign clocks to the correct BL ([7418cf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7418cf397916c97cb4ecf159b1f497a84299b695)) 600 - check HSE configuration in serial boot ([31e9750](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/31e9750bc17bd472d4f2a3db297461efc301be51)) 601 - define secure and non-secure gate clocks ([aaa09b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aaa09b713c6f539fb5b2ee7e2dfd75f2d46875f5)) 602 - do not refcount on non-secure clocks in bl32 ([3d69149](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3d69149a7e9e9a899d57f48bee26f98614f88935)) 603 - manage disabled oscillator ([bcccdac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bcccdacc7e7b7b985df942b3fae26cb9038a2574)) 604 605 - **DDR** 606 607 - add read valid training support ([5def13e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5def13eb01ebac5656031bdc388a215d012fdaf8)) 608 609 - **GPIO** 610 611 - allow to set a gpio in output mode ([53584e1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/53584e1d5b2b843ea3bb9e01e3f01ea7c364ee6a)) 612 - do not apply secure config in BL2 ([fc0aa10](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fc0aa10a2cd3cab887a8baa602891d1f45db2537)) 613 - add a function to reset a pin ([737ad29](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/737ad29bf992a7a79d538d1e0b47c7f38d9a4b9d)) 614 615 - **SDMMC2** 616 617 - allow compatible to be defined in platform code ([6481a8f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6481a8f1e045ac80f0325b8bfe7089ba23deaf7b)) 618 - manage cards power cycle ([258bef9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/258bef913aa76ead1b10c257d1695d9c0ef1c79d)) 619 620 - **ST PMIC** 621 622 - add pmic_voltages_init() function ([5278ec3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5278ec3faf2010fd6aea1d8cd4294dd229c5c21d)) 623 - register the PMIC to regulator framework ([85fb175](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/85fb175b5ef854bc4607db98a4cfb5f35d822cee)) 624 625 - **STPMIC1** 626 627 - add new services ([ea552bf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea552bf5a57b573a6b09e396e3466b3c4af727f0)) 628 - add USB OTG regulators ([13fbfe0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/13fbfe046e71393961d2c70a4f748a15f9c15f77)) 629 630 - **Regulator** 631 632 - add support for regulator-always-on ([9b4ca70](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b4ca70d97d9a2556752b511ff9fe52012faff02)) 633 - add a regulator framework ([d5b4a2c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5b4a2c4e7fd0bcb9f08584b242e69a2e591fb71)) 634 635 - **UART** 636 637 - manage oversampling by 8 ([1f60d1b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1f60d1bd33d434b0c82a74e276699ee5a2f63833)) 638 - add uart driver for STM32MP1 ([165ad55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/165ad5561ef598ea6261ba082610eeff3f208df7)) 639 640- **Miscellaneous** 641 642 - **Debug** 643 644 - update print_memory_map.py ([d16bfe0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d16bfe0feffe6a20399fb91d86fd8f7282b941dd)) 645 646 - **DT Bindings** 647 648 - add bindings for STM32MP13 ([1b8898e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b8898eb32c3872a34fc59f4216736f23af0c6ea)) 649 - add TZC400 bindings for STM32MP13 ([24d3da7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24d3da76d221390bb47d501c2ed77a1a7d2b42e7)) 650 651 - **FDT Wrappers** 652 653 - add function to find or add a sudnode ([dea8ee0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dea8ee0d3f13f8d1638745b76e86bd7617bf92e7)) 654 655 - **FDTs** 656 657 - add the ability to supply idle state information ([2b2b565](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2b2b565717cc0299e75e8806004d1a3548e9fbf7)) 658 659 - **STM32MP1** 660 661 - add DDR support for STM32MP13 ([e6fddbc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e6fddbc995947d4e5a5dc6607c76cd46fdd840e2)) 662 - add DT files for STM32MP13 ([3b99ab6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b99ab6e370a01caec14bc5422a86001eaf291b8)) 663 - add nvmem_layout node and OTP definitions ([ff8767c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff8767cbfc2bb851a2f6cc32fbe3693ddbfb7d12)) 664 - add st-io_policies node for STM32MP13 ([2bea351](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2bea35122d102492f18c427535ce6c9b7016e356)) 665 - add support for STM32MP13 DK board ([2b7f7b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2b7f7b751f4b0f7a8a0f4a35407af22cc269e529)) 666 - update NVMEM nodes ([375b79b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/375b79bb4a773fe6a5dd971272c72bf12155050e)) 667 668- **Documentation** 669 670 - context management refactor proposal ([3274226](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/327422633bef112a10579d4daeca0f596cd02911)) 671 672 - **Threat Model** 673 674 - Threat Model for TF-A v8-R64 Support ([dc66922](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dc669220d5666c2c808bc11ba81c86a9b071271a)) 675 676- **Tools** 677 678 - **Secure Partition Tool** 679 680 - add python SpSetupActions framework ([b1e6a41](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b1e6a41572240839e62099aa00298174b18c696a)) 681 - delete c version of the sptool ([f4ec476](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f4ec47613fef8db8037195147dc2ac6fb6f154ff)) 682 - python version of the sptool ([2e82874](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e82874cc9b7922e000dd4d7718e3153e347b1d7) 683 - use python version of sptool ([822c727](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/822c72791f791d26e233df0c15a655c3dbd8b117)) 684 685### Resolved Issues 686 687- **Architecture** 688 689 - **Activity Monitors Extension (FEAT_AMU)** 690 691 - add default value for ENABLE_FEAT_FGT and ENABLE_FEAT_ECV flags ([820371b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/820371b13028a6f620a62cf73a951883d051666b)) 692 - fault handling on EL2 context switch ([f74cb0b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f74cb0be8ac80eb3072555cb04eb09375d4cb31f)) 693 - limit virtual offset register access to NS world ([a4c3945](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4c394561af31ae0417ed9ff3b3152adb7cd5355)) 694 695 - **Scalable Vector Extension (FEAT_SVE)** 696 697 - disable ENABLE_SVE_FOR_NS for AARCH32 ([24ab2c0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/24ab2c0af74be174acf755a36b3ebba867184e60)) 698 699- **Platforms** 700 701 - **Allwinner** 702 703 - improve DTB patching error handling ([79808f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/79808f10c32d441572666551b1545846079af15b)) 704 705 - **Arm** 706 707 - fix fvp and juno build with USE_ROMLIB option ([861250c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/861250c3b26d64f859f5f37686e453d5074fa976)) 708 - increase ARM_BL_REGIONS count ([dcb1959](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dcb1959161935aa58d2bb852f3cef0b96458a4e1)) 709 - remove reclamation of functions starting with "init" ([6c87abd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c87abdda400354ebf4f5351086c32a4620475c9)) 710 - use PLAT instead of TARGET_PLATFORM ([c5f3de8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5f3de8dabc9b955b6051a6c6116d40b10a84f5d)) 711 - fix SP count limit without dual root CoT ([9ce15fe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ce15fe8910580efca46b9f102e117402ce769db)) 712 713 - **FVP** 714 715 - FCONF Trace Not Shown ([0c55c10](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c55c10305df6217fd978d58ce203dbad3edd4d5)) 716 - disable reclaiming init code by default ([fdb9166](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fdb9166b9494402eb2da7e0b004c121b322725e0)) 717 - extend memory map to include all DRAM memory regions ([e803542](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e80354212f591c8813dec27353e8241e03155b4c)) 718 - fix NULL pointer dereference issue ([a42b426](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a42b426b8548e3304e995f1a49d2470d71072949)) 719 - op-tee sp manifest doesn't map gicd ([69cde5c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/69cde5cd9563f0c665862f1e405ae8e8d2818c6e)) 720 721 - **Morello** 722 723 - change the AP runtime UART address ([07302a2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07302a23ec1af856b3d4de0439161a8c23414f84)) 724 - fix SoC reference clock frequency ([e8b7a80](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e8b7a80436c2bc81c61fc4703d6580f2fe9226a9)) 725 - include errata workaround for 1868343 ([f94c84b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f94c84baa2a2bad75397b0ec6a0922fe8a475847)) 726 727 - **SGI** 728 729 - disable SVE for NS to support SPM_MM builds ([78d7e81](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/78d7e819798ace643b6e22025dc76aedb199bbd5)) 730 731 - **TC** 732 733 - remove the bootargs node ([68fe3ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/68fe3cec25bc9ea4e1bafdb1d9f5315e245d650b)) 734 735 - **Corstone-1000** 736 737 - change base address of FIP in the flash ([1559450](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1559450132c5e712f4d6896e53e4f1cb521fa465)) 738 739 - **Broadcom** 740 741 - allow build to specify mbedTLS absolute path ([903d574](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/903d5742953d9d4b224e71d8b1e62635e83f44a9)) 742 - fix the build failure with mbedTLS config ([95b5c01](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/95b5c0126b802b894ea0177d973978e06b6a254d)) 743 744 - **Intel** 745 746 - add flash dcache after return response for INTEL_SIP_SMC_MBOX_SEND_CMD ([ac097fd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ac097fdf07ad63b567ca751dc518f8445a0baef6)) 747 - allow non-secure access to FPGA Crypto Services (FCS) ([4837a64](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4837a640934630f8034ceec1bb84cc40673d8a6b)) 748 - always set doorbell to SDM after sending command ([e93551b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e93551bb3bd8ac43779fa70c7363ee2568da45ca)) 749 - assert if bl_mem_params is NULL pointer ([35fe7f4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/35fe7f400a7f1d65ff2fee5531d20f6c2f3e6f39)) 750 - bit-wise configuration flag handling ([276a436](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/276a43663e8e315fa1bf0aa4824051d88705858b)) 751 - change SMC return arguments for INTEL_SIP_SMC_MBOX_SEND_CMD ([108514f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/108514ff7160a86efb791449a4635ffe0f9fdf2c)) 752 - configuration status based on start request ([e40910e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e40910e2dc3fa59bcce83ec1cf9a33b3e85012c4)) 753 - define macros to handle buffer entries ([7db1895](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7db1895f0be2f8c6710bf51d8441d5e53e3ef0fe)) 754 - enable HPS QSPI access by default ([000267b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/000267be22d3c0077c0fd0a8377ceeed5aada4c3)) 755 - extend SDM command to return the SDM firmware version ([c026dfe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c026dfe38cfae379457a6ef53130bd5ebc9d7808)) 756 - extending to support large file size for AES encryption and decryption ([dcb144f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dcb144f1fbcef73ddcc448d5ed6134aa279069b6)) 757 - extending to support large file size for SHA-2 ECDSA data signing and signature verifying ([1d97dd7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1d97dd74cd128edd7ad45b725603444333c7b262)) 758 - extending to support large file size for SHA2/HMAC get digest and verifying ([70a7e6a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/70a7e6af958f3541476a8de6baac8e376fcc67f9)) 759 - fix bit masking issue in intel_secure_reg_update ([c9c0709](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c9c070994caedf123212aad23b6942122c5dd793)) 760 - fix configuration status based on start request ([673afd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/673afd6f8e7266900b00a7cbeb275fe1a3d69cce)) 761 - fix ddr address range checker ([12d71ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/12d71ac6627bb6822a0314e737794a8503df79dd)) 762 - fix ECC Double Bit Error handling ([c703d75](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c703d752cce4fd101599378e72db66ccf53644fa)) 763 - fix fpga config write return mechanism ([ef51b09](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef51b097bfa906bf1cee8ee641a1b7bcc8c5f3c0)) 764 - flush dcache before sending certificate to mailbox ([49d44ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49d44ec5f357b1bcf8eae9e91fbd72aef09e00dd)) 765 - get config status OK status ([07915a4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07915a4fd5848fbac69dcbf28f00353eed10a942)) 766 - introduce a generic response error code ([651841f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/651841f20110ce6fac650e3ac47b0a9cce18e6f3)) 767 - make FPGA memory configurations platform specific ([f571183](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f571183b066b1a91b7fb178c3aad9d6360d1918c)) 768 - modify how configuration type is handled ([ec4f28e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ec4f28ecec8887a685d6119c096ad346da1ea53e)) 769 - null pointer handling for resp_len ([a250c04](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a250c04b0cc807f626df92a7091ff13b3a3aa9ed)) 770 - refactor NOC header ([bc1a573](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc1a573d5519f121cb872fce1d88fe2e0db07b2c)) 771 - reject non 4-byte align request size for FPGA Crypto Service (FCS) ([52ed157](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52ed157fd66812debb13a792c21f763de01aef70)) 772 - remove redundant NOC header declarations ([58690cd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/58690cd629b4ccdefe5313f805219598074a3501)) 773 - remove unused printout ([0d19eda](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0d19eda0dd2ffae27d0551b1f0a06a2b8f96c853)) 774 - update certificate mask for FPGA Attestation ([fe5637f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fe5637f27aebfdab42915c2ced2c34d8685ee2bb)) 775 - update encryption and decryption command logic ([02d3ef3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/02d3ef333d4a0a07a3e40defb12a8cde3a7cba03)) 776 - use macro as return value ([e0fc2d1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e0fc2d1907b1c8a062c44a435be77a12ffeed84b)) 777 778 - **Marvell** 779 780 - **Armada** 781 782 - **A3K** 783 784 - change fatal error to warning when CM3 reset is not implemented ([30cdbe7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/30cdbe7043832f7bd96b40294ac062a8fc9c540f)) 785 - fix comment about BootROM address range ([5a60efa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a60efa12a57cde98240f861e45609cb9b94d58d)) 786 787 - **Mediatek** 788 789 - **MT8186** 790 791 - remove unused files in drivers/mcdi ([bc714ba](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc714bafe7ae8ca29075ba9bf3985c0e15ae0f64)) 792 - extend MMU region size ([0fe7ae9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0fe7ae9c64aa6f6d5b06a80de9c88081057d5dbe)) 793 794 - **NVIDIA** 795 796 - **Tegra** 797 798 - **Tegra 194** 799 800 - remove incorrect erxctlr assert ([e272c61](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e272c61ce8185deb397dcf168ec72bdaa5926a33)) 801 802 - **NXP** 803 804 - fix total dram size checking ([0259a3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0259a3e8282ed17c1d378a27f820f44b3bebab07)) 805 - increase soc name maximum length ([3ccd7e4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3ccd7e45a2c3ff9fa7794f0284c9d0298e7cb982)) 806 807 - **i.MX** 808 809 - **i.MX 8M** 810 811 - check the validation of domain id ([eb7fb93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/eb7fb938c3ce34ccfb143ae8ba695df899098436)) 812 813 - **i.MX 8M Plus** 814 815 - change the BL31 physical load address ([32d5042](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/32d5042204e8b41caa4c0c1ed5b48bad9f1cb1b5)) 816 817 - **Layerscape** 818 819 - fix build issue of mmap_add_ddr_region_dynamically ([e2818d0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e2818d0afc20a60d302f85f4c915e4ae4cc3cb9c)) 820 - fix coverity issue ([5161cfd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5161cfde9bfaa3a715d160fcd4870f276adad332)) 821 - update WA for Errata A-050426 ([72feaad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/72feaad980cdc472868bc95914202bf57ed51b2d)) 822 823 - **LX2** 824 825 - drop erratum A-009810 ([e36b0e4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e36b0e4910aea56f90a6ab9b8cf3dc4008220031)) 826 827 - **Renesas** 828 829 - **R-Car** 830 831 - **R-Car 3** 832 833 - change stack size of BL31 ([d544dfc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d544dfcc4959d203b06dbfb85fb0ad895178b379)) 834 - fix SYSTEM_OFF processing for R-Car D3 ([1b49ba0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1b49ba0fde5eb9e47fe50152c192579101feb718)) 835 - fix to bit operation for WUPMSKCA57/53 ([82bb6c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/82bb6c2e88314a5b3f2326c95095c3b20a389947)) 836 837 - **Socionext** 838 839 - **Synquacer** 840 841 - initialise CNTFRQ in Non Secure CNTBaseN ([4d4911d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4d4911d77d4d59c7dd18d7fc3724ddb1fa3582b7)) 842 843 - **ST** 844 845 - add missing header include ([b1391b2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b1391b294ca7803f46bc47048b4a02a15dda9a16)) 846 - don't try to read boot partition on SD cards ([9492b39](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9492b391a35c66e1e7630e95347259191b28314d)) 847 - fix NULL pointer dereference issues ([2deff90](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2deff904a953c6a87331ab6830ab80e3889d9e23)) 848 - manage UART clock and reset only in BL2 ([9e52d45](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9e52d45fdf619561e0a7a833b77aaacc947a4dfd)) 849 - remove extra chars from dtc version ([03d2077](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/03d20776efc20a04a5191a4f39965079a4d60b3c)) 850 851 - **ST32MP1** 852 853 - add missing debug.h ([356ed96](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/356ed961184847dcd088cfcda44b71eeb0ef2377)) 854 - correct dtc version check ([429f10e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/429f10e3367748abd33b4f6f9ee362c0ba74dd95)) 855 - correct include order ([ff7675e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff7675ebf94999618dbde14bb59741cefb2b2edd)) 856 - correct types in messages ([43bbdca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/43bbdca04f5a20bb4e648e18fc63061b6a6e4ecf)) 857 - deconfigure UART RX pins ([d7176f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d7176f0319cd399aae9a906e5d78e67b32e183f5)) 858 - do not reopen debug features ([21cfa45](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21cfa4531a76a7c3cad00e874400b97e2f68723c)) 859 - fix enum prints ([ceab2fc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ceab2fc3442dbda1c4beaff3c4fe708a04c02303)) 860 - include assert.h to fix build failure ([570c71b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/570c71b20a195ade510f5d584c69325d2634c50b)) 861 - remove interrupt_provider warning for dtc ([ca88c76](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca88c761d34854ed3e0b16b9c5f39b0790d320ab)) 862 - restrict DEVICE2 mapping in BL2 ([db3e0ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/db3e0ece7157181a3529d14172368003eb63dc30)) 863 - rework switch/case for MISRA ([f7130e8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f7130e81cf9c3682232bb9319b1798184b44920f)) 864 - set reset pulse duration to 31ms ([9a73a56](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9a73a56c353d32742e03b828647562bdbe2ddbb2)) 865 866 - **Xilinx** 867 868 - fix coding style violations ([bb1768c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb1768c67ea06ac466e2cdc7e5338c3d23dac79d)) 869 - fix mismatching function prototype ([81333ea](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/81333eac716b25a9fd112cc4f5990e069f3bdb40)) 870 871 - **Versal** 872 873 - resolve misra R10.1 in pm services ([775bf1b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/775bf1bbd32c2df47f4ff597eb8a452d2983e590)) 874 - resolve misra R10.3 ([b2bb3ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b2bb3efb8f590f31b1205c51d56be1dd6f473fbb)) 875 - resolve misra R10.3 in pm services ([5d1c211](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d1c211e225d40d2926bf34483c90f907a6c5dc3)) 876 - resolve misra R10.6 ([93d4625](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/93d462562727f4f428e6f975a972226dafbfd305)) 877 - resolve misra R10.6 in pm services ([fa98d7f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa98d7f2f8752e37f740b43f533547288552a393)) 878 - resolve misra R14.4 ([a62c40d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a62c40d42703d5f60a8d80938d2cff721ee131bd)) 879 - resolve misra R15.6 ([b9fa2d9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9fa2d9fc154feffe78e677ace54b0e34f011439)) 880 - resolve misra R15.6 in pm services ([4156719](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4156719550ceddf5b1b4a47464fb32f7506e0dca)) 881 - resolve misra R15.7 ([bc2637e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc2637e3799dbc9642447ddb719e0262347b1309)) 882 - resolve misra R16.3 in pm services ([27ae531](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/27ae5310883b0db7d4e2dd4fbc1fd58e675f75b5)) 883 - resolve misra R17.7 ([526a1fd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/526a1fd1472874561988777f8ecd8b87734a0671)) 884 - resolve misra R20.7 in pm services ([5dada62](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5dada6227b949ef702bfab7986bc083689afdaf7)) 885 - resolve misra R7.2 ([0623dce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0623dcea0f6e7a5c9d65413445df8a96a2b40d42)) 886 - fix coverity scan warnings ([0b15187](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0b15187225a9134e3acbc7693646b21d43617b3b)) 887 - fix the incorrect log message ([ea04b3f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea04b3fe183b6661f656b4cc38cb93a73d9bc202)) 888 889 - **ZynqMP** 890 891 - define and enable ARM_XLAT_TABLES_LIB_V1 ([c884c9a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c884c9a55b167383ff3d96d2d0a30ac6842bcc86)) 892 - query node status to power up APU ([b35b556](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b35b556718b60b78cb5d96b0c137e2fe82eb0086)) 893 - resolve misra 7.2 warnings ([5bcbd2d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5bcbd2de127292f3ad076217e08468388c6844b0)) 894 - resolve misra 8.3 warnings ([944e7ea](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/944e7ea94f2594e2b128c671cf7415265302596b)) 895 - resolve misra R10.3 ([2b57da6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2b57da6c91ebe14588e63e5a24f31ef32711eca2)) 896 - resolve misra R14.4 warnings ([dd1fe71](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dd1fe7178b578916b1e133b7c65c183e1f994371)) 897 - resolve misra R15.6 warnings ([eb0d2b1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/eb0d2b17722c01a22bf3ec1123f7bed2bf891b09)) 898 - resolve misra R15.7 warnings ([16de22d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/16de22d037644359ef2a04058134f9c326b36633)) 899 - resolve misra R16.3 warnings ([e7e5d30](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e7e5d30308ccfb931f7b6d0afa6c5c23971e95c0)) 900 - resolve misra R8.4 warnings ([610eeac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/610eeac89438d603435bde694eb4ddab07f46e45)) 901 - update the log message to verbose ([1277af9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1277af9bacca36b46d7aa341187bb3abef84332f)) 902 - use common interface for eemi apis ([a469c1e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a469c1e1f4c1cd69f98ce45d6e0709de091b8cb3)) 903 904- **Bootloader Images** 905 906 - **BL1** 907 908 - invalidate SP in data cache during secure SMC ([f1cbbd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f1cbbd6332bb85672dc72cbcc4ac7023323c6936)) 909 910 - **BL2** 911 912 - correct messages with image_id ([e4c77db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e4c77db9c80d87009611a3079454877e6ce45a04)) 913 - define RAM_NOLOAD for XIP ([cc562e7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc562e74101d800b0b0ee3422fb7f4f8321ae2b7)) 914 915- **Services** 916 917 - **RME** 918 919 - enable/disable SVE/FPU for Realms ([a4cc85c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4cc85c129d031d9c887cf59b1baeaef18a43010)) 920 - align RMI and GTSI FIDs with SMCCC ([b9fd2d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9fd2d3ce3d4e543a2e04dc237cd4e7ff7765c7a)) 921 - preserve x4-x7 as per SMCCCv1.1 ([1157830](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/11578303fd04a8da36fddb5e6de44f026bf4d24c)) 922 923 - **TRP** 924 925 - Distinguish between cold and warm boot ([00e8113](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/00e8113145aa12d89db72068bdd3157f08575d14)) 926 927 - **SPM** 928 929 - **EL3 SPMC** 930 931 - fix incorrect FF-A version usage ([25eb2d4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/25eb2d41a6d2ede1e945bbc67ae3f740b92a40bb)) 932 - fix FF-A memory transaction validation ([3954bc3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3954bc3c03439dbdc7029cf2418c79a037918ce4)) 933 934- **Libraries** 935 936 - **CPU Support** 937 938 - workaround for Cortex-A710 2282622 ([ef934cd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef934cd17c30dcc39cd9022a1c4e9523ec8ba617)) 939 - workaround for Cortex-A710 erratum 2267065 ([cfe1a8f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cfe1a8f7123f0dc8376b2075cc6e8e32b13739b2)) 940 - workaround for Cortex A78 AE erratum 2376748 ([92e8708](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/92e870843e9bd654fd1041d66f284c19ca9c0d4f)) 941 - workaround for Cortex A78 AE erratum 2395408 ([3f4d81d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3f4d81dfd26649fbcbbbe993a9f0236f5bb07c8a)) 942 - workaround for Cortex X2 erratum 2002765 ([34ee76d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34ee76dbdfeee85f123cb903ea95dbee5e9a44a5)) 943 - workaround for Cortex X2 erratum 2058056 ([e16045d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e16045de50e8b430e6601ba0e1e47097d8310f3d)) 944 - workaround for Cortex X2 erratum 2083908 ([1db6cd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1db6cd60279e2d082876692a65cf9c532f506a69)) 945 - workaround for Cortex-A510 erratum 1922240 ([8343563](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/83435637bfafbf1ce642a5fabb52e8d7b2819e36)) 946 - workaround for Cortex-A510 erratum 2041909 ([e72bbe4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e72bbe47ba7f2a0087654fd99ae24b5b7b444943)) 947 - workaround for Cortex-A510 erratum 2042739 ([d48088a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d48088acbe400133037ae74acf1b722b059119bb)) 948 - workaround for Cortex-A510 erratum 2172148 ([c0959d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c0959d2c460cbf7c14e7ba2a57d69ecddae80fd8)) 949 - workaround for Cortex-A510 erratum 2218950 ([cc79018](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc79018b71e45acb524fc5d429d394497ad53646)) 950 - workaround for Cortex-A510 erratum 2250311 ([7f304b0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f304b02a802b7293d7a8b4f4030c5ff00158404)) 951 - workaround for Cortex-A510 erratum 2288014 ([d5e2512](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5e2512c6b86409686f5d1282922ebdf72459fc2)) 952 - workaround for Cortex-A710 erratum 2008768 ([af220eb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af220ebbe467aa580e6b9ba554676f78ffec930f)) 953 - workaround for Cortex-A710 erratum 2136059 ([8a855bd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8a855bd24329e081cf13a257c7d2dc3ab4e5dcca)) 954 - workaround for Cortex-A78 erratum 2376745 ([5d796b3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d796b3a25150faff68013880f5a9350cbc53889)) 955 - workaround for Cortex-A78 erratum 2395406 ([3b577ed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b577ed53d104cfb324390b7519da5e7744d1001)) 956 - workaround for Cortex-X2 errata 2017096 ([e7ca443](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e7ca4433fa591233e7e2912b689ab56e531f9775)) 957 - workaround for Cortex-X2 errata 2081180 ([c060b53](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c060b5337a43cd42f55b99d83096bb44b51b5335)) 958 - workaround for Cortex-X2 erratum 2147715 ([63446c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/63446c27d11453faacfddecffa44d3880615d412)) 959 - workaround for Cortex-X2 erratum 2216384 ([4dff759](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4dff7594f94f1e788aef709cc5b3d079693b6242)) 960 - workaround for DSU-110 erratum 2313941 ([7e3273e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e3273e8e4dca44e7cb88a827b94e662fa8f83e9)) 961 - workaround for Rainier erratum 1868343 ([a72144f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a72144fb7a30c2782a583a3b0064e741d1fe2c9f)) 962 - workarounds for cortex-x1 errata ([7b76c20](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7b76c20d8eb4271b381371ce0d510fbe6ad825bf)) 963 - use CPU_NO_EXTRA3_FUNC for all variants ([b2ed998](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b2ed99894d326993961680fb8e786c267a712400)) 964 965 - **EL3 Runtime** 966 967 - set unset pstate bits to default ([7d33ffe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7d33ffe4c116506ed63e820d5b6edad81680cd11)) 968 969 - **Context Management** 970 971 - add barrier before el3 ns exit ([0482503](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/04825031b2384a08504821f39e98e23bb6f93f11)) 972 - remove registers accessible only from secure state from EL2 context ([7f41bcc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f41bcc76d8857b4678c90796ebd85794ff3ee5f)) 973 - refactor the cm_setup_context function ([2bbad1d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2bbad1d126248435e26f9d0d9f5920d8806148d7)) 974 - remove initialization of EL2 registers when EL2 is used ([fd5da7a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fd5da7a84731e9687f56c263ff3aa8ebed75075a)) 975 - add cm_prepare_el3_exit_ns function ([8b95e84](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8b95e8487006ff77a7d84fba5bd20ba7e68d8330)) 976 - refactor initialization of EL1 context registers ([b515f54](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b515f5414b00a8b7ca9b21363886ea976bd19914)) 977 978 - **FCONF** 979 980 - correct image_id type in messages ([cec2fb2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cec2fb2b1a8359bf1f349a5b8c8a91a1845f4ca1)) 981 982 - **PSCI** 983 984 - correct parent_node type in messages ([b9338ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9338eee7fbcac7f4b55f27b064572e847810422)) 985 986 - **GPT** 987 988 - rework delegating/undelegating sequence ([6a00e9b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6a00e9b0c8c37fc446f83ef63e95a75353e31e8b)) 989 990 - **Translation Tables** 991 992 - fix bug on VERBOSE trace ([956d76f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/956d76f69d0c96829784c5a6d16aa79e4e0ecab1)) 993 994 - **Standard C Library** 995 996 - correct some messages ([a211fde](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a211fde940d4dbd8e95e4f352af2a066a4f89f30)) 997 - fix snprintf corner cases ([c1f5a09](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c1f5a0925ddf84981d9e176d146bfddb48eb45d1)) 998 - limit snprintf radix value ([b30dd40](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b30dd4030dcef950eac05393013ee019c3cb3205)) 999 - snprintf: include stdint.h ([410c925](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/410c925ab31693dc74d654ff9167c8eed3ec5a62)) 1000 1001 - **Locks** 1002 1003 - add __unused for clang ([5a030ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a030ce4aed271344087bca723903e10fef59ac9)) 1004 1005- **Drivers** 1006 1007 - **FWU** 1008 1009 - rename is_fwu_initialized ([aae7c96](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/aae7c96de63914c954f0fc64cd795844832483fc)) 1010 1011 - **I/O** 1012 1013 - **MTD** 1014 1015 - correct types in messages ([6e86b46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e86b462490429fee6db877338a649b0e199b0ec)) 1016 1017 - **Measured Boot** 1018 1019 - add RMM entry to event_log_metadata ([f4e3e1e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f4e3e1e85f64d8930e89c1396bc9785512f656bd)) 1020 1021 - **MTD** 1022 1023 - correct types in messages ([6e86b46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6e86b462490429fee6db877338a649b0e199b0ec)) 1024 1025 - **SCMI** 1026 1027 - add missing \n in ERROR message ([0dc9f52](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0dc9f52a2a9f0b9686c65dd60c84e0bcca552144)) 1028 - make msg_header variable volatile ([99477f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99477f051ef857a1e0600cb98858fc74c007e1ff)) 1029 - use same type for message_id ([2355ebf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2355ebff6f6312086868f44b8ad7f821f6385208)) 1030 1031 - **UFS** 1032 1033 - delete call to inv_dcache_range for utrd ([c5ee858](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5ee8588bf9a36075723e5aacceefa93fd2de8c9)) 1034 - disables controller if enabled ([b3f03b2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b3f03b20135fc5fcd5e6ec7e5ca49f1e59b5602e)) 1035 - don't zero out buf before ufs read ([2ef6b8d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2ef6b8d378e7f7c1b1eb7abe176989c3f996f2dc)) 1036 - don't zero out the write buffer ([cd3ea90](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd3ea90b200534b8c9d81619731c9ce198478a3c)) 1037 - fix cache maintenance issues ([38a5ecb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/38a5ecb756e217a80ed951747797ab150449ee9b)) 1038 - move nutrs assignment to ufs_init ([0956319](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0956319b580726029ddc4e00cde6c5a348b99052)) 1039 - read and write attribute based on spec ([a475518](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a475518337e15935469543b1cce353e5b337ef52)) 1040 1041 - **Arm** 1042 1043 - **GIC** 1044 1045 - **GICv3** 1046 1047 - fix iroute value wrong issue ([65bc2d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/65bc2d224b836c230888796c4eda455997dccd8b)) 1048 1049 - **TZC** 1050 1051 - **TZC-400** 1052 1053 - correct message with filter ([bdc88d2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bdc88d2154448957f452cb472ff95ccec5808ca1)) 1054 1055 - **Marvell** 1056 1057 - **COMPHY** 1058 1059 - change reg_set() / reg_set16() to update semantics ([95c26d6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/95c26d6489bd8b2fc8b8e14bc2da5d2918055acc)) 1060 1061 - **Armada 3700** 1062 1063 - drop MODE_REFDIV constant ([9fdecc7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9fdecc72f0fce17ca2cd8e4c3b26c01262166d10)) 1064 - fix comment about COMPHY status register ([4bcfd8c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4bcfd8c02e3e3aa27b55dedeed11fb16bac991a9)) 1065 - fix comments about selector register values ([71183ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71183ef6654c2a485458307a84ce7c473524689a)) 1066 - fix Generation Setting registers names ([e5a2aac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e5a2aac5bbc6dedb20edcc8e7850be2813cb668b)) 1067 - fix PIN_PU_IVREF register name ([c9f138e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c9f138ebfef90d5b7b5651f06efd81bcbc55366b)) 1068 - fix reference clock selection value names ([6ba97f8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6ba97f83dbb314b076588b97415a4078924e1903)) 1069 - fix SerDes frequency register value name ([bdcf44f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bdcf44f1af496e06b693b781fe16bbc2a05fa365)) 1070 - use reg_set() according to update semantics ([4d01bfe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4d01bfe66522b13f0d9042206e986551c94fc01e)) 1071 1072 - **Armada** 1073 1074 - **A3K** 1075 1076 - **A3720** 1077 1078 - configure UART after TX FIFO reset ([15546db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15546dbf40e5ea81a982a1e6d1e5ba729b06ae51)) 1079 - do external reset during initialization ([0ee80f3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ee80f35a28d651d243a6d56678800f9697d14c0)) 1080 1081 - **NXP** 1082 1083 - ddr: corrects mapping of HNFs nodes ([e3a2349](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e3a234971abb2402cbf376eca6fcb657a7709fae)) 1084 1085 - **QSPI** 1086 1087 - fix include path for QSPI driver ([ae95b17](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ae95b1782b7a3ab9bbe46ae9ab31f48fb6ebe137)) 1088 1089 - **NXP Crypto** 1090 1091 - refine code to avoid hang issue for some of toolchain ([fa7fdfa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa7fdfabf07d91439b0869ffd8e805f0166294bf)) 1092 1093 - **DDR** 1094 1095 - fix coverity issue ([f713e59](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f713e5954e0906443cd20ae97e229ddbb9ab7005)) 1096 1097 - **ST** 1098 1099 - **Clock** 1100 1101 - check _clk_stm32_get_parent return ([b8eab51](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b8eab512bf9d253f96b0333ee0f1bffa1afc3170)) 1102 - correct stm32_clk_parse_fdt_by_name ([7417cda](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7417cda6aeaf6abf48dfbe22dc965b626f61c613)) 1103 - correct types in error messages ([44fb470](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/44fb470b7f298645ac31ada4491553824d77d934)) 1104 - initialize pllcfg table ([175758b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/175758b2777eb6df3c4aefd79448e97e76a15272)) 1105 - print enums as unsigned ([9fa9a0c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9fa9a0c55cc830e609415d2cedd2d34fcbec1008)) 1106 1107 - **DDR** 1108 1109 - add missing debug.h ([15ca2c5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15ca2c5e14abe415e70d08fb595973dd3e3b0af9)) 1110 - correct DDR warnings ([a078134](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a078134e2305ca5695731bc275a5ca892cc38880)) 1111 1112 - **FMC** 1113 1114 - fix type in message ([afcdc9d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/afcdc9d8d71e2b60071d3d34704f0e598e67a514)) 1115 1116 - **SDMMC2** 1117 1118 - check regulator enable/disable return ([d50e7a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d50e7a71cb5f8ecfbe2eb69c163d532bab82cbf0)) 1119 - correct cmd_idx type in messages ([bc1c98a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc1c98a8c79b6f72395123ea8ed857a488746d4b)) 1120 1121 - **ST PMIC** 1122 1123 - add static const to pmic_ops ([57e6018](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/57e6018305a97f4e3627d16d8b1886419f274b4a)) 1124 - correct verbose message ([47065ff](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/47065ffe44c701b231322ec7160c8624d50a9deb)) 1125 1126 - **SPI** 1127 1128 - always check SR_TCF flags in stm32_qspi_wait_cmd() ([55de583](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/55de58323e458b38b455439a8846cb663deb5508)) 1129 - remove SR_BUSY bit check before sending command ([5993b91](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5993b9157fd049d06194083032771ffcf73da086)) 1130 1131 - **UART** 1132 1133 - correctly fill BRR register ([af7775a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/af7775ab535138ff49643f749110dca143d4122c)) 1134 1135 - **USB** 1136 1137 - correct type in message ([bd9cd63](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bd9cd63ba096cb16161efa4df40f957421660df1)) 1138 1139- **Miscellaneous** 1140 1141 - **AArch64** 1142 1143 - fix encodings for MPAMVPM* registers ([e926558](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e92655849d0a9e5893eb2d7e5f42cf8b931d4db6)) 1144 1145 - **FDTs** 1146 1147 - **STM32MP1** 1148 1149 - correct memory mapping for STM32MP13 ([99605fb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99605fb1166794db1dedf1b7280cb184945c229c)) 1150 - remove mmc1 alias if not needed ([a0e9724](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a0e972438b99012da422411c8e504a19bdad44a2)) 1151 1152 - **PIE** 1153 1154 - align fixup_gdt_reloc() for aarch64 ([5ecde2a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5ecde2a271ac0f3762c16f5a277a70e55e172f0b)) 1155 - do not skip __RW_END__ address during relocation ([4f1a658](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4f1a658f899a169e702b1c7146b59f7c04b0338b)) 1156 1157 - **Security** 1158 1159 - apply SMCCC_ARCH_WORKAROUND_3 to A73/A75/A72/A57 ([9b2510b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9b2510b69de26cc7f571731b415f6dec82669b6c)) 1160 - loop workaround for CVE-2022-23960 for Cortex-A76 ([a10a5cb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a10a5cb609045de216c01111ec3fcf09a092da0b)) 1161 - report CVE 2022 23960 missing for aarch32 A57 and A72 ([2e5d7a4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e5d7a4b6b26d9d8b6c8e580c33d877e591b1fb3)) 1162 - update Cortex-A15 CPU lib files for CVE-2022-23960 ([187a617](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/187a61761ef5d59bed0c94cca725bd6f116f64d0)) 1163 - workaround for CVE-2022-23960 ([c2a1521](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2a15217c3053117f4d39233002cb1830fa96670)) 1164 - workaround for CVE-2022-23960 ([1fe4a9d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1fe4a9d181ead0dcb2bc494e90552d3e7f0aaf4c)) 1165 - workaround for CVE-2022-23960 for A76AE, A78AE, A78C ([5f802c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5f802c8832f3c5824ca6de17593205ebbf8bf585)) 1166 - workaround for CVE-2022-23960 for Cortex-A57, Cortex-A72 ([be9121f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/be9121fd311ff48c94f3d90fe7efcf84586119e4)) 1167 - workaround for CVE-2022-23960 for Cortex-X1 ([e81e999](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e81e999b9da33ab5d2d3e5185b1ad7c46046329c)) 1168 1169- **Tools** 1170 1171 - **NXP Tools** 1172 1173 - fix create_pbl print log ([31af441](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/31af441a0445d4a5e88ddcc371c51b3701c25839)) 1174 - fix tool location path for byte_swape ([a89412a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a89412a649020367a3ed0f87658ee131cd3dcd18)) 1175 1176 - **Firmware Image Package Tool** 1177 1178 - avoid packing the zero size images in the FIP ([ab556c9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ab556c9c646f1b5f1b500449a5813a4eecdc0302)) 1179 - respect OPENSSL_DIR ([0a956f8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0a956f81805b46b1530f30dd79d16950dc491a7b) 1180 1181 - **Secure Partition Tool** 1182 1183 - add leading zeroes in UUID conversion ([b06344a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b06344a3f2c5a0fede3646627f37d1fce3d3d585)) 1184 - update Optee FF-A manifest ([ca0fdbd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca0fdbd8e0d625ece0f87ca16eacabf13db70921)) 1185 1186 - **Certificate Creation Tool** 1187 1188 - let distclean Makefile target remove the cert_create tool ([e15591a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e15591aaf47ab45941f0d7a03abf3e4a830ac1d9)) 1189 1190- **Dependencies** 1191 1192 - **commitlint** 1193 1194 - change scope-case to lower-case ([804e52e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/804e52e9a770de72913f27b5bc9e7dd965e114c5)) 1195 1196## [2.6.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.5..refs/tags/v2.6) (2021-11-22) 1197 1198### ⚠ BREAKING CHANGES 1199 1200- **Architecture** 1201 1202 - **Activity Monitors Extension (FEAT_AMU)** 1203 1204 - The public AMU API has been reduced to enablement only 1205 to facilitate refactoring work. These APIs were not previously used. 1206 1207 **See:** privatize unused AMU APIs ([b4b726e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b4b726ea868359cf683c07337b69fe91a2a6929a)) 1208 1209 - The `PLAT_AMU_GROUP1_COUNTERS_MASK` platform definition 1210 has been removed. Platforms should specify per-core AMU counter masks 1211 via FCONF or a platform-specific mechanism going forward. 1212 1213 **See:** remove `PLAT_AMU_GROUP1_COUNTERS_MASK` ([6c8dda1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c8dda19e5f484f8544365fd71d965f0afc39244)) 1214 1215- **Libraries** 1216 1217 - **FCONF** 1218 1219 - FCONF is no longer added to BL1 and BL2 automatically 1220 when the FCONF Makefile (`fconf.mk`) is included. When including this 1221 Makefile, consider whether you need to add `${FCONF_SOURCES}` and 1222 `${FCONF_DYN_SOURCES}` to `BL1_SOURCES` and `BL2_SOURCES`. 1223 1224 **See:** clean up source collection ([e04da4c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e04da4c8e132f43218f18ad3b41479ca54bb9263)) 1225 1226- **Drivers** 1227 1228 - **Arm** 1229 1230 - **Ethos-N** 1231 1232 - multi-device support 1233 1234 **See:** multi-device support ([1c65989](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c65989e70c9734defc666e824628620b2060b92)) 1235 1236### New Features 1237 1238- **Architecture** 1239 1240 - **Activity Monitors Extension (FEAT_AMU)** 1241 1242 - enable per-core AMU auxiliary counters ([742ca23](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/742ca2307f4e9f82cb2c21518819425e5bcc0f90)) 1243 1244 - **Support for the `HCRX_EL2` register (FEAT_HCX)** 1245 1246 - add build option to enable FEAT_HCX ([cb4ec47](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cb4ec47b5c73e04472984acf821e6be41b98064f)) 1247 1248 - **Scalable Matrix Extension (FEAT_SME)** 1249 1250 - enable SME functionality ([dc78e62](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dc78e62d80e64bf4fe5d5bf4844a7bd1696b7c92)) 1251 1252 - **Scalable Vector Extension (FEAT_SVE)** 1253 1254 - enable SVE for the secure world ([0c5e7d1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c5e7d1ce376cabcebebc43dbf238fe4482ab2dc)) 1255 1256 - **System Register Trace Extensions (FEAT_ETMv4, FEAT_ETE and FEAT_ETEv1.1)** 1257 1258 - enable trace system registers access from lower NS ELs ([d4582d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d4582d30885673987240cf01fd4f5d2e6780e84c)) 1259 - initialize trap settings of trace system registers access ([2031d61](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2031d6166a58623ae59034bc2353fcd2fabe9c30)) 1260 1261 - **Trace Buffer Extension (FEAT_TRBE)** 1262 1263 - enable access to trace buffer control registers from lower NS EL ([813524e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/813524ea9d2e4138246b8f77a772299e52fb33bc)) 1264 - initialize trap settings of trace buffer control registers access ([40ff907](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/40ff90747098ed9d2a09894d1a886c10ca76cee6)) 1265 1266 - **Self-hosted Trace Extension (FEAT_TRF)** 1267 1268 - enable trace filter control register access from lower NS EL ([8fcd3d9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8fcd3d9600bb2cb6809c6fc68f945ce3ad89633d)) 1269 - initialize trap settings of trace filter control registers access ([5de20ec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5de20ece38f782c8459f546a08c6a97b9e0f5bc5)) 1270 1271 - **RME** 1272 1273 - add context management changes for FEAT_RME ([c5ea4f8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5ea4f8a6679131010636eb524d2a15b709d0196)) 1274 - add ENABLE_RME build option and support for RMM image ([5b18de0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5b18de09e80f87963df9a2e451c47e2321b8643a)) 1275 - add GPT Library ([1839012](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1839012d5b5d431f7ec307230eae9890a5fe7477)) 1276 - add Realm security state definition ([4693ff7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4693ff7225faadc5ad1bcd1c2fb3fbbb8fe1aed0)) 1277 - add register definitions and helper functions for FEAT_RME ([81c272b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/81c272b3b71af38bc5cfb10bbe5722e328a1578e)) 1278 - add RMM dispatcher (RMMD) ([77c2775](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77c2775323a5ff8b77230f05c0cc57f830e9f153)) 1279 - add Test Realm Payload (TRP) ([50a3056](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/50a3056a3cd33d395e8712e1d1e67a8840bf3db1)) 1280 - add xlat table library changes for FEAT_RME ([3621823](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/362182386bafbda9e6671be921fa30cc20610d30)) 1281 - disable Watchdog for Arm platforms if FEAT_RME enabled ([07e96d1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/07e96d1d2958b6f121476fd391ac67bf8c2c4735)) 1282 - run BL2 in root world when FEAT_RME is enabled ([6c09af9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c09af9f8b36cdfa1dc4d5052f7e4792f63fa88a)) 1283 1284- **Platforms** 1285 1286 - **Allwinner** 1287 1288 - add R329 support ([13bacd3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/13bacd3bc3e6b76009adf9183e5396b6457eb12c)) 1289 1290 - **Arm** 1291 1292 - add FWU support in Arm platforms ([2f1177b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2f1177b2b9ebec3b2fe92607cd771bda1dc9cbfc)) 1293 - add GPT initialization code for Arm platforms ([deb4b3a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/deb4b3a63e3a52f2e9823865a1932f6289ccb7ac)) 1294 - add GPT parser support ([ef1daa4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef1daa420f7b2920b2ee35379de2aefed6ab2605)) 1295 - enable PIE when RESET_TO_SP_MIN=1 ([7285fd5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7285fd5f9aa6d9cc0e0f1dc9c71785b46a88d999)) 1296 1297 - **FPGA** 1298 1299 - add ITS autodetection ([d7e39c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d7e39c43f2f58aabb085ed7b8f461f9ece6002d0)) 1300 - add kernel trampoline ([de9fdb9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/de9fdb9b5925ae08137d4212a85e9a1d319509c9)) 1301 - determine GICR base by probing ([93b785f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/93b785f5ae66a6418581c304c83a346e8baa5aa3)) 1302 - query PL011 to learn system frequency ([d850169](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d850169c9c233c4bc413d8319196557b54683688)) 1303 - support GICv4 images ([c69f815](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c69f815b09ab85d3ace8fd2979ffafb1184ec76c)) 1304 - write UART baud base clock frequency into DTB ([422b44f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/422b44fb56db7ca8b1a2f9f706733d7d4c2fdeb1)) 1305 1306 - **FVP** 1307 1308 - enable external SP images in BL2 config ([33993a3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/33993a3737737a03ee5a9d386d0a027bdc947c9c)) 1309 - add memory map for FVP platform for FEAT_RME ([c872072](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c8720729726faffc39ec64f3a02440a48c8c305a)) 1310 - add RMM image support for FVP platform ([9d870b7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d870b79c16ef09b0c4a9db18e071c2fa235d1ad)) 1311 - enable trace extension features by default ([cd3f0ae](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd3f0ae6f855b2998bc09e5c3a458528c92acb90)) 1312 - pass Event Log addr and size from BL1 to BL2 ([0500f44](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0500f4479eb1d0d5ab9e83dac42b633a5ff677dd)) 1313 1314 - **FVP-R** 1315 1316 - support for TB-R has been added 1317 - configure system registers to boot rich OS ([28bbbf3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/28bbbf3bf583e0c85004727e694455dfcabd50a4)) 1318 1319 - **RD** 1320 1321 - **RD-N2** 1322 1323 - add support for variant 1 of rd-n2 platform ([fe5d5bb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fe5d5bbfe6bd0f386f92bdc419a7e04d885d5b43)) 1324 - add tzc master source ids for soc dma ([3139270](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3139270693ab0fc6d66fed4fe11e183829b47e2e)) 1325 1326 - **SGI** 1327 1328 - add CPU specific handler for Neoverse N2 ([d932a58](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d932a5831e26620d61d171d0fd8bc2f14938e6f1)) 1329 - add CPU specific handler for Neoverse V1 ([cbee43e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cbee43ebd69377bce1c4fa8d40c6fd67f2be2ee4)) 1330 - increase max BL2 size ([7186a29](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7186a29bbfe3044d5e8001ddfe1d9238578e0944)) 1331 - enable AMU for RD-V1-MC ([e8b119e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e8b119e03ad9de5fc440e5929287c94c22fc3946)) 1332 - enable use of PSCI extended state ID format ([7bd64c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7bd64c70e91f73a236b84fb51d5045e308479b5a)) 1333 - introduce platform variant build option ([cfe1506](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cfe1506ee8303d9e0714b3a5b2cd165f76ad5d11)) 1334 1335 - **TC** 1336 1337 - enable MPMM ([c19a82b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c19a82bef08df58350f1b6668e0604ff8a5bd46d)) 1338 - Enable SVE for both secure and non-secure world ([10198ea](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/10198eab3aa7b0eeba10d9667197816b052ba3e4)) 1339 - populate HW_CONFIG in BL31 ([34a87d7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34a87d74d9fbbe8037431ea5101110a9f1cf30e1)) 1340 - introduce TC1 platform ([6ec0c65](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6ec0c65b09745fd0f4cee44ee3aa99870303f448)) 1341 - add DRAM2 to TZC non-secure region ([76b4a6b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/76b4a6bb208c22b1c5971964a209ff7d54982348)) 1342 1343 - add bootargs node ([4a840f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4a840f27cd7a05d8e3687aa325adcd019c0d22ee)) 1344 - add cpu capacity to provide scheduling information ([309f593](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/309f5938e610c73cb51b3ba175fed971f49d0888)) 1345 - add Ivy partition ([a19bd32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a19bd32ed14c33571f3715198d47bac9d0f2808e)) 1346 - add support for trusted services ([ca93248](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca9324819ee308f9b3a4bb004f02a512c8f301f6)) 1347 - update Matterhorn ELP DVFS clock index ([a2f6294](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a2f6294c98935895d4592ef7e30058ca6e995f4b)) 1348 - update mhuv2 dts node to align with upstream driver ([63067ce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/63067ce87e4afa193b2c7f6a4917d1e54b61b000)) 1349 1350 - **Diphda** 1351 1352 - adding the diphda platform ([bf3ce99](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf3ce9937182e5d8d91e058baabb8213acedacdb)) 1353 - disabling non volatile counters in diphda ([7f70cd2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f70cd29235cc5e96ff6b5f509c7e4260bec5610)) 1354 - enabling stack protector for diphda ([c7e4f1c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c7e4f1cfb84136a7521f26e403a6635ffdce4a2b)) 1355 1356 - **Marvell** 1357 1358 - introduce t9130_cex7_eval ([d01139f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d01139f3b59a1bc6542e74f52ff3fb26eea23c69)) 1359 1360 - **Armada** 1361 1362 - **A8K** 1363 1364 - allow overriding default paths ([0b702af](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0b702afc3aabc349a513a5b00397b58a62fea634)) 1365 1366 - **MediaTek** 1367 1368 - enable software reset for CIRQ ([b3b162f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b3b162f3b48e087f6656513862a6f9e1fa0757b1)) 1369 1370 - **MT8192** 1371 1372 - add DFD control in SiP service ([5183e63](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5183e637a0496ad8dfbd8c892bc874ac6a1531bf)) 1373 1374 - **MT8195** 1375 1376 - add DFD control in SiP service ([3b994a7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3b994a75306cc487144dd8e2e15433799e62e6f2)) 1377 - add display port control in SiP service ([7eb4223](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7eb42237575eb3f241c9b22efc5fe91368470aa6)) 1378 - remove adsp event from wakeup source ([c260b32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c260b3246b6be27c7463d36ce7f76368c94a8540)) 1379 - add DCM driver ([49d3bd8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49d3bd8c4c80ecd19ecfd74812ff1eaa01478cdd)) 1380 - add EMI MPU basic drivers ([75edd34](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/75edd34ade8efaa8a76c5fd59103454023632989)) 1381 - add SPM suspend driver ([859e346](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/859e346b89461f31df17b76ef25ce9e8d2a7279d)) 1382 - add support for PTP3 ([0481896](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/048189637ead887787bd5bc47b1dfab98f321705)) 1383 - add vcore-dvfs support ([d562130](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d562130ea9637b885135a5efe41cb98f2365754f)) 1384 - support MCUSYS off when system suspend ([d336e09](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d336e093dd9ec917ce69484eae8914d98efa328d)) 1385 1386 - **NXP** 1387 1388 - add build macro for BOOT_MODE validation checking ([cd1280e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cd1280ea2e5c8be6f28485a2d5054d06e54e74c1)) 1389 - add CCI and EPU address definition ([6cad59c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6cad59c429b4382ad62aee3a67fa1b3fd4ad38b7)) 1390 - add EESR register definition ([8bfb168](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8bfb16813aff9b3dcbeaa2f77027d44b97f04b6d)) 1391 - add SecMon register definition for ch_3_2 ([66f7884](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/66f7884b5229b1d2977d73d105af1c34cb55f95d)) 1392 - define common macro for ARM registers ([35efe7a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/35efe7a4cea4b3c55b661aac49ef1a85ca8feaa9)) 1393 - define default PSCI features if not defined ([a204785](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a2047853224083328ef67cacbc17a2001ba14701)) 1394 - define default SD buffer ([4225ce8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4225ce8b87635287ecf5cd3baaf31ea703a2640b)) 1395 1396 - **i.MX** 1397 1398 - **i.MX 8M** 1399 1400 - add sdei support for i.MX8MN ([ce2be32](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ce2be321e8a5865871810b36c580181ea95a1a64)) 1401 - add sdei support for i.MX8MP ([6b63125](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6b63125c415491417e1c389e4015be5ebdee2841)) 1402 - add SiP call for secondary boot ([9ce232f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ce232fe985a0bb308af459ede8a22629255d4e7)) 1403 - add system_reset2 implementation ([60a0dde](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/60a0dde91bd03f4011c1d52d4d3aea8166e939a0)) 1404 1405 - **i.MX 8M Mini** 1406 1407 - enlarge BL33 (U-boot) size in FIP ([d53c9db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d53c9dbf9ff9c435552b62f47fb95bfe86d025e3)) 1408 1409 - **i.MX 8M Plus** 1410 1411 - add imx8mp_private.h to the build ([91566d6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/91566d663b26434813fa674412bb695be1965557)) 1412 - add in BL2 with FIP ([75fbf55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/75fbf5546b7beca93e4782bc35906f9536392e04)) 1413 - add initial definition to facilitate FIP layout ([f696843](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f696843eab5cf0547b6c6307eaccea25678654c4)) 1414 - enable Trusted Boot ([a16ecd2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a16ecd2cff36b3a8a76d223f4e272e165c941b31)) 1415 1416 - **Layerscape** 1417 1418 - add ls1028a soc and board support ([52a1e9f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/52a1e9ff37251987b71b743951038cd8d1fa0ba4)) 1419 1420 - **LX2** 1421 1422 - add SUPPORTED_BOOT_MODE definition ([28b3221](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/28b3221aebdd48577e2288a75cd2f7547da514e9)) 1423 1424 - **LS1028A** 1425 1426 - add ls1028a soc support ([9d250f0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d250f03d7a38cac86655495879b2151b877db0d)) 1427 1428 - **LS1028ARDB** 1429 1430 - add ls1028ardb board support ([34e2112](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34e2112d1a3a8e4ea33a24bdc6505518266333a9)) 1431 1432 - **QTI** 1433 1434 - **SC7280** 1435 1436 - add support for pmk7325 ([b8a0511](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b8a05116ed2a87a9689c4f9be6218a4bce88034a)) 1437 - support for qti sc7280 plat ([46ee50e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/46ee50e0b34e19d383a28bc3b3dadbfb4c07b270)) 1438 1439 - **Renesas** 1440 1441 - **R-Car** 1442 1443 - change process for Suspend To RAM ([731aa26](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/731aa26f38d76645b6d50077c28dffb9b02dd08a)) 1444 1445 - **R-Car 3** 1446 1447 - add a DRAM size setting for M3N ([f95d551](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f95d551217a287bd909aa3c82f4ade4986ad7244)) 1448 - add new board revision for Salvator-XS/H3ULCB ([4379a3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4379a3e9744cf3b0844446335aca40357a889b9a)) 1449 - add optional support for gzip-compressed BL33 ([ddf2ca0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ddf2ca03979ea9fad305b1bc59beb6e27f0e1c02)) 1450 - add process of SSCG setting for R-Car D3 ([14f0a08](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/14f0a0817297905c03ddf2c4c6040482ef71d744)) 1451 - add process to back up X6 and X7 register's value ([7d58aed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7d58aed3b05fa8c677a7c823c1ca5017a462a3d3)) 1452 - add SYSCEXTMASK bit set/clear in scu_power_up ([63a7a34](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/63a7a34706eedba4d13ce6fc661a634801cf8909)) 1453 - apply ERRATA_A53_1530924 and ERRATA_A57_1319537 ([2892fed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2892fedaf27d8bbc68780a4a2c506c768e81b9f1)) 1454 - change the memory map for OP-TEE ([a4d821a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4d821a5a625d941f95ec39fb51ac4fc07c46c5c)) 1455 - emit RPC status to DT fragment if RPC unlocked ([12c75c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/12c75c8886a0ee69d7e279a48cbeb8d1602826b3)) 1456 - keep RWDT enabled ([8991086](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/899108601a0c3b08ead5e686d92ea0794700ff35)) 1457 - modify LifeC register setting for R-Car D3 ([5460f82](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5460f82806752e419fdd6862e8ca9c5fefbee3f2)) 1458 - modify operation register from SYSCISR to SYSCISCR ([d10f876](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d10f87674ecee54cffe1ab554cc05733fd16c7f0)) 1459 - modify SWDT counter setting for R-Car D3 ([053c134](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/053c134683cf74fbf4efad311815b806821f1436)) 1460 - remove access to RMSTPCRn registers in R-Car D3 ([71f2239](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71f2239f53cd3137ad6abdaf0334dc53f2f21cb1)) 1461 - update DDR setting for R-Car D3 ([042d710](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/042d710d1d917357c5142b340c79978264d3afb1)) 1462 - update IPL and Secure Monitor Rev.3.0.0 ([c5f5bb1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c5f5bb17abfcf6c0eeb3e6c3d70499de0bd6abc0)) 1463 - use PRR cut to determine DRAM size on M3 ([42ffd27](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/42ffd279dd1a686b19e2f1b69d2e35413d5efeba)) 1464 1465 - **ST** 1466 1467 - add a new DDR firewall management ([4584e01](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4584e01dc643665038004f6c8a4f8bd64e14dacb)) 1468 - add a USB DFU stack ([efbd65f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/efbd65fa7b5cf70f20d6b18152741ccdf8a65bb6)) 1469 - add helper to save boot interface ([7e87ba2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e87ba2598a07facdeb73237dcb350a261ac17b6)) 1470 - add STM32CubeProgrammer support on USB ([afad521](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/afad5214a79259f56bc2003b00859abfe8a18d4d)) 1471 - add STM32MP_EMMC_BOOT option ([214c8a8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/214c8a8d08b2b3c24f12cbc69f497f44851ca524)) 1472 - create new helper for DT access ([ea97bbf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ea97bbf6a001b270fd0a25b4b0d0c382e277f3f8)) 1473 - implement platform functions for SMCCC_ARCH_SOC_ID ([3d20178](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3d201787e8246022b1f193283c12e7cb4bfc83ff)) 1474 - improve FIP image loading from MMC ([18b415b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/18b415be9d631b3e0c3a3caacc5f02edb9413f6b)) 1475 - manage io_policies with FCONF ([d5a84ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d5a84eeaac2c8ce14d3f2662dc9523b4abf41516)) 1476 - use FCONF to configure platform ([29332bc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/29332bcd680ce7e5f864813d9a900360f5e35d41)) 1477 - use FIP to load images ([1d204ee](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1d204ee4ab12893fceb12097bd4f0a074be253b2)) 1478 1479 - **ST32MP1** 1480 1481 - add STM32MP_USB_PROGRAMMER target ([fa92fef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa92fef0a024cdb537fe56c84a0156cc48c1ac2d)) 1482 - add USB DFU support for STM32MP1 ([942f6be](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/942f6be211d4816ad2568d30d807b8fd53d7f981)) 1483 1484 - **Xilinx** 1485 1486 - **Versal** 1487 1488 - add support for SLS mitigation ([302b4df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/302b4dfb8fb0041959b8593a098ccae6c61e3238)) 1489 1490 - **ZynqMP** 1491 1492 - add support for runtime feature config ([578f468](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/578f468ac058bbb60b08f78e2aa2c20cdc601620)) 1493 - sync IOCTL IDs ([38c0b25](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/38c0b2521a0ea0951f4e1ee678ccdbce5fc07a98)) 1494 - add SDEI support ([4143268](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4143268a5ca8f91f1014e0d83edf766946ffff76)) 1495 - add support for XCK26 silicon ([7a30e08](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7a30e08b70e7fbb745554d500182bb6e258c5ab8)) 1496 - extend DT description by TF-A ([0a8143d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0a8143dd636d4234dd2e79d32cb49dc80675c68f)) 1497 1498- **Bootloader Images** 1499 1500 - import BL_NOBITS_{BASE,END} when defined ([9aedca0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9aedca021d917c7435aa2a0405972aa9d44493a2)) 1501 1502- **Services** 1503 1504 - **FF-A** 1505 1506 - adding notifications SMC IDs ([fc3f480](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fc3f480023e3a52460add25f18dd550dde44d9ff)) 1507 - change manifest messaging method ([bb320db](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb320dbc4751f7ea0c37ffba07d14628e58081d0)) 1508 - feature retrieval through FFA_FEATURES call ([96b71eb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/96b71eb9597efbf4857216cac1caeefc9e8bbf3e)) 1509 - update FF-A version to v1.1 ([e1c732d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e1c732d46fa91231b39209621ead1e5a5fb2c497)) 1510 - add Ivy partition to tb fw config ([1bc02c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1bc02c2e0f63b6a7863e10cf6189292d42e693db)) 1511 - add support for FFA_SPM_ID_GET ([70c121a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/70c121a258e43dc2462ed528b44d92594ffb27b3)) 1512 - route secure interrupts to SPMC ([8cb99c3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8cb99c3fc3539bb9926e73a1c33fd72f424fc453)) 1513 1514- **Libraries** 1515 1516 - **CPU Support** 1517 1518 - add support for Hayes CPU ([7bd8dfb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7bd8dfb85a8bf5c22d6a39f4538b89cc748090d1)) 1519 - add support for Hunter CPU ([fb9e5f7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb9e5f7bb76e9764b3ecd7973668c851015fa1b4)) 1520 - add support for Demeter CPU ([f4616ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f4616efafbc1004f1330f515b898e7617e338875)) 1521 - workaround for Cortex A78 AE erratum 1941500 ([47d6f5f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/47d6f5ff16d1f2ad009d630a381054b10fa0a06f)) 1522 - workaround for Cortex A78 AE erratum 1951502 ([8913047](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8913047a52e646877812617a2d98cff99494487b)) 1523 1524 - **MPMM** 1525 1526 - add support for MPMM ([6812078](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/68120783d6d6f99c605e9f746ee0e91e2908feb1)) 1527 1528 - **OP-TEE** 1529 1530 - introduce optee_header_is_valid() ([b84a850](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b84a850864c05fef587fcbb301f955428966de64)) 1531 1532 - **PSCI** 1533 1534 - require validate_power_state to expose CPU_SUSPEND ([a1d5ac6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a1d5ac6a5aa5d9d18a481de20d272f64a71391f7)) 1535 1536 - **SMCCC** 1537 1538 - add bit definition for SMCCC_ARCH_SOC_ID ([96b0596](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/96b0596ea25e1f03b862a5bfaa92add6c3e51a33)) 1539 1540- **Drivers** 1541 1542 - **FWU** 1543 1544 - add FWU metadata header and build options ([5357f83](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5357f83d4ee89fb831d7e4f6149ae2f652e1b9af)) 1545 - add FWU driver ([0ec3ac6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0ec3ac60d86b75d132e7a63fc09ea47e67f90bbd)) 1546 - avoid booting with an alternate boot source ([4b48f7b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4b48f7b56577a78cdc9a2b47280cb62cbae0f7c3)) 1547 - avoid NV counter upgrade in trial run state ([c0bfc88](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c0bfc88f8e8e03974834cbcacbbfbd5f202a2857)) 1548 - initialize FWU driver in BL2 ([396b339](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/396b339dc20b97ddd75146e03467a255e28f31b9)) 1549 - introduce FWU platform-specific functions declarations ([efb2ced](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/efb2ced256dacbab71ca11cbc87f70f413ca6729)) 1550 1551 - **I/O** 1552 1553 - **MTD** 1554 1555 - offset management for FIP usage ([9a9ea82](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9a9ea82948fd2f1459b6351cb0641f3f77b4e6de)) 1556 1557 - **Measured Boot** 1558 1559 - add documentation to build and run PoC ([a125c55](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a125c556230501ee0f5ec9f8b0b721625d484a41)) 1560 - move init and teardown functions to platform layer ([47bf3ac](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/47bf3ac31ec84d4b221fdef760c04b5f4416cba4)) 1561 - image hash measurement and recording in BL1 ([48ba034](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/48ba0345f7b42880ec4442d7e90e3e1af95feadd)) 1562 - update tb_fw_config with event log properties ([e742bcd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e742bcdae0d28dc14a2aa0b4ca30f50420bb5ebe)) 1563 1564 - **MMC** 1565 1566 - boot partition read support ([5014b52](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5014b52dec0c2527ca85c0fbe9c9281a24cc7b10)) 1567 1568 - **MTD** 1569 1570 - **NAND** 1571 1572 - count bad blocks before a given offset ([bc3eebb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc3eebb25d5ee340e56047d0e46b81d5af85ff17)) 1573 1574 - **SCMI** 1575 1576 - add power domain protocol ([7e4833c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7e4833cdde8235d228f1f1c40f52b989ad5aa98a)) 1577 1578 - **Arm** 1579 1580 - **Ethos-N** 1581 1582 - multi-device support ([1c65989](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c65989e70c9734defc666e824628620b2060b92)) 1583 1584 - **GIC** 1585 1586 - **GICv3** 1587 1588 - detect GICv4 feature at runtime ([858f40e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/858f40e379684fefc8b52c7b9e60576bc3794a69)) 1589 - introduce GIC component identification ([73a643e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/73a643eed9d88910a09ca666bc7ab7f5e532324e)) 1590 - multichip: detect GIC-700 at runtime ([feb7081](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/feb7081863f454b9e465efc074ca669f7a4c783d)) 1591 1592 - **GIC-600AE** 1593 1594 - introduce support for Fault Management Unit ([2c248ad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2c248ade2e958eed33127b4ea767fbb7499f31a7)) 1595 1596 - **TZC** 1597 1598 - **TZC-400** 1599 1600 - update filters by region ([ce7ef9d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ce7ef9d146ce5ca6b9be5ef049377b3817d53d10)) 1601 1602 - **MediaTek** 1603 1604 - **APU** 1605 1606 - add mt8192 APU device apc driver ([f46e1f1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f46e1f18539d6d992c82ae605c2cd2a1d0757fa4)) 1607 - add mt8192 APU iommap regions ([2671f31](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2671f3187249d641c55929c812d6691aeeff502a)) 1608 - add mt8192 APU SiP call support ([ca4c0c2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ca4c0c2e78eb19d442de4608d9096a755b540a37)) 1609 - setup mt8192 APU_S_S_4 and APU_S_S_5 permission ([77b6801](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77b6801966d203e09ca118fad42543e934d73e6f)) 1610 1611 - **EMI MPU** 1612 1613 - add MPU support for DSP ([6c4973b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c4973b0a9a75aa83233b696c97d573426eebd98)) 1614 1615 - **NXP** 1616 1617 - **DCFG** 1618 1619 - define RSTCR_RESET_REQ ([6c5d140](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6c5d140ed99cfec47b239acc242c0f3db1e3bf7c)) 1620 1621 - **FLEXSPI** 1622 1623 - add MT35XU02G flash info ([a4f5015](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4f5015a0080134251e9272719f5dad1ce2aa842)) 1624 1625 - **Renesas** 1626 1627 - **R-Car3** 1628 1629 - add extra offset if booting B-side ([993d809](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/993d809cc115ce23dd2df1df19dc8bb548cc19cd)) 1630 - add function to judge a DDR rank ([726050b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/726050b8e2d2ee2234e103e2df55f9c7f262c851)) 1631 1632 - **ST** 1633 1634 - manage boot part in io_mmc ([f3d2750](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f3d2750aa2293c0279bc447a85771827ca8b74c1)) 1635 1636 - **USB** 1637 1638 - add device driver for STM32MP1 ([9a138eb](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9a138eb5f29f6747e181a1b3b4199ad57721a3e0)) 1639 1640 - **USB** 1641 1642 - add a USB device stack ([859bfd8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/859bfd8d42341c6dea2b193db79dc4828e074ad7)) 1643 1644- **Miscellaneous** 1645 1646 - **Debug** 1647 1648 - add new macro ERROR_NL() to print just a newline ([fd1360a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fd1360a339e84ccd49f8a2d8a42e4c131a681b3c)) 1649 1650 - **CRC32** 1651 1652 - **Hardware CRC32** 1653 1654 - add support for HW computed CRC ([a1cedad](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a1cedadf73863ff103fecd64fa188334e1541337)) 1655 1656 - **Software CRC32** 1657 1658 - add software CRC32 support ([f216937](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f21693704a7bac275e12b44ae30fd210bc317175)) 1659 1660 - **DT Bindings** 1661 1662 - add STM32MP1 TZC400 bindings ([43de546](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/43de546b909947ab44f104aaee02b98fba70f44c)) 1663 1664 - **FDT Wrappers** 1665 1666 - add CPU enumeration utility function ([2d9ea36](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2d9ea360350303e37a8dd39f3599ac88aaef0ff9)) 1667 1668 - **FDTs** 1669 1670 - add for_each_compatible_node macro ([ff76614](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ff766148b52bfecf09728a83fc3becc7941d943c)) 1671 - introduce wrapper function to read DT UUIDs ([d13dbb6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d13dbb6f1d5e28737a3319af035a6cb991bc6f8f)) 1672 - add firewall regions into STM32MP1 DT ([86b43c5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/86b43c58a4105c8cef13d860dd73fa9bd560526a)) 1673 - add IO policies for STM32MP1 ([21e002f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21e002fb777fad9d02a94dc961f077fb444517fa)) 1674 - add STM32MP1 fw-config DT files ([d9e0586](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d9e0586b619b331eb2db75911ca82f927e20bd1c)) 1675 1676 - **STM32MP1** 1677 1678 - align DT with latest kernel ([e8a953a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e8a953a9b85806f7324c8c7245435d5b9226c279)) 1679 - delete nodes for non-used boot devices ([4357db5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4357db5b17ce6ba7357dd99276f34ab497ce60ef)) 1680 1681 - **NXP** 1682 1683 - **OCRAM** 1684 1685 - add driver for OCRAM initialization ([10b1e13](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/10b1e13bd200849ff134dd8d2fde341a8526f563)) 1686 1687 - **PSCI** 1688 1689 - define CPUECTLR_TIMER_2TICKS ([3a2cc2e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3a2cc2e262890cffee1fc46835e85be6055189e8)) 1690 1691- **Dependencies** 1692 1693 - **libfdt** 1694 1695 - also allow changing base address ([4d585fe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4d585fe52feb231d5e73ec50a505122d5e9bf450)) 1696 1697### Resolved Issues 1698 1699- **Architecture** 1700 1701- **Platforms** 1702 1703 - print newline before fatal abort error message ([a5fea81](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a5fea8105887d0dd15edf94aebd591b1b6b5ef05)) 1704 1705 - **Allwinner** 1706 1707 - delay after enabling CPU power ([86a7429](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/86a7429e477786dad6fab002538aef825f4ca35a)) 1708 1709 - **Arm** 1710 1711 - correct UUID strings in FVP DT ([748bdd1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/748bdd19aa27c15438d829bdba42fe4062a265a1)) 1712 - fix a VERBOSE trace ([5869ebd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5869ebd0e87f1de987e51994103440fa8c77b26f)) 1713 - remove unused memory node ([be42c4b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/be42c4b4bf3c44f2970b7a1658c46b8d5863cad1)) 1714 1715 - **FPGA** 1716 1717 - allow build after MAKE_* changes ([9d38a3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9d38a3e698331e3c8192cc3e0cc8584e6ed987d9)) 1718 - avoid re-linking from executable ELF file ([a67ac76](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a67ac7648cd814ed8f8d4ece1b265c6d48c6dc81)) 1719 - Change PL011 UART IRQ ([195381a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/195381a91313bc0bce2cfa087f3c55136a9e8496)) 1720 - limit BL31 memory usage ([d457230](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d4572303ed45faceffed859955b0e71724fddfd2)) 1721 - reserve BL31 memory ([13e16fe](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/13e16fee86451e2f871c2aac757b32299fe5ead6)) 1722 - streamline generated axf file ([9177e4f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9177e4fd9356b0f249be8b6fe14f222e10f1e6cd)) 1723 - enable AMU extension ([d810e30](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d810e30dd6b47e0725dccbcb42ca0a0c5215ee34)) 1724 - increase initrd size ([c3ce73b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c3ce73be0bfe31fa28805fe92b3e727232ffd37a)) 1725 1726 - **FVP** 1727 1728 - fix fvp_cpu_standby() function ([3202ce8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3202ce8bbb4af8580736d2a1634ad45c3f89d931)) 1729 - spmc optee manifest remove SMC allowlist ([183725b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/183725b39d75e362a32b3c5d0be110c255c56bdd)) 1730 - allow changing the kernel DTB load address ([672d669](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/672d669d6c72f92c6b81464d1d421e392bc1aa3e)) 1731 - bump BL2 stack size ([d22f1d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d22f1d358731f0f55f2f392fa587f0fa8d315aa5)) 1732 - provide boot files via semihosting ([749d0fa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/749d0fa80d1c7ca30b4092a381a06deeeaf1747f)) 1733 - OP-TEE SP manifest per latest SPMC changes ([b7bc51a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b7bc51a7a747bf40d219b2041e5b3ce56737a71b)) 1734 1735 - **FVP-R** 1736 1737 - fix compilation error in release mode ([7d96e79](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7d96e79a1a2efdf85f1ed46cdd5c577b58054f53)) 1738 1739 - **Morello** 1740 1741 - initialise CNTFRQ in Non Secure CNTBaseN ([7f2d23d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f2d23d9d790df90021de6c5165ef10fe5cc5590)) 1742 1743 - **TC** 1744 1745 - enable AMU extension ([b5863ca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b5863cab9adb3fed0c1e4dfb92cf906794e7bdb4)) 1746 - change UUID to string format ([1c19536](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1c1953653c20b4a8c61a7deb3fc493d496d8c478)) 1747 - remove "arm,psci" from psci node ([814646b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/814646b4cb792ab14df04e28360fefd168399b3c)) 1748 - remove ffa and optee device tree node ([f1b44a9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f1b44a9050fbc12e8c260107bfff2930476df062)) 1749 - set cactus-tertiary vcpu count to 1 ([05f667f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/05f667f0c670ba9682050714561309f00210c282)) 1750 1751 - **SGI** 1752 1753 - avoid redefinition of 'efi_guid' structure ([f34322c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f34322c1cea1e355aeb4133df6aa601d719be5a3)) 1754 1755 - **Marvell** 1756 1757 - Check the required libraries before building doimage ([dd47809](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dd47809e9ea75188060bf8b294efa8578d255c63)) 1758 1759 - **Armada** 1760 1761 - select correct pcie reference clock source ([371648e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/371648e1c76b5230bf8e153629064c02086365c9)) 1762 - fix MSS loader for A8K family ([dceac43](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dceac436f620e60cd0149194377871b225216079)) 1763 1764 - **A3K** 1765 1766 - disable HANDLE_EA_EL3_FIRST by default ([3017e93](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3017e932768c7357a1a41493c58323419e9a1ec9)) 1767 - enable workaround for erratum 1530924 ([975563d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/975563dbfc012b6e8a7765dd8e48220e1bc53dec)) 1768 - Fix building uart-images.tgz.bin archive ([d3f8db0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d3f8db07b618e79c05805a1598e5e834e42fea98)) 1769 - Fix check for external dependences ([2baf503](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2baf50385ba2b460afef4a7919b13b3a350fd03a)) 1770 - fix printing info messages on output ([9f6d154](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9f6d15408340af07ed3c2500202b147189eaa7ef)) 1771 - update information about PCIe abort hack ([068fe91](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/068fe919613197bf221c00fb84a1d94c66a7a8ca)) 1772 - Remove encryption password ([076374c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/076374c9b97d47b10ba5c6034817866c08d66ed4)) 1773 1774 - **A8K** 1775 1776 - Add missing build dependency for BLE target ([04738e6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/04738e69917f8e8790bf4cf83ceb05f85e1f45bb)) 1777 - Correctly set include directories for individual targets ([559ab2d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/559ab2df4a35cd82b2a67a0bebeb3028544a6766)) 1778 - Require that MV_DDR_PATH is correctly set ([528dafc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/528dafc367c4f49d4904c4335422502dacf469bf)) 1779 - fix number of CPU power switches. ([5cf6faf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5cf6fafe223da89c60e2323c242ea188b17e98c3)) 1780 1781 - **MediaTek** 1782 1783 - **MT8183** 1784 1785 - fix out-of-bound access ([420c26b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/420c26b33a29c8328a1806ccb2f5a5885041fdfc)) 1786 1787 - **MT8195** 1788 1789 - use correct print format for uint64_t ([964ee4e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/964ee4e6be70ef638d6c875a761ab5ca359d84fe)) 1790 - fix error setting for SPM ([1f81ccc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1f81cccedd40cb397813b0fa826ea1d793b02089)) 1791 - extend MMU region size ([9ff8b8c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ff8b8ca9393e31e790eb2c8e7ea5c5f41f45198)) 1792 - fix coverity fail ([85e4d14](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/85e4d14df157b5641421ea2b844c146ddc230152)) 1793 1794 - **NXP** 1795 1796 - **i.MX** 1797 1798 - do not keep mmc_device_info in stack ([99d37c8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99d37c8cb8196a7296311fb4f97f80f086021c74)) 1799 1800 - **i.MX 8M** 1801 1802 - **i.MX 8M Mini** 1803 1804 - fix FTBFS on SPD=opteed ([10bfc77](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/10bfc77e7b3afce17185114ac66361a0914f7784)) 1805 1806 - **Layerscape** 1807 1808 - **LX2** 1809 1810 - **LS1028A** 1811 1812 - define endianness of scfg and gpio ([2475f63](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2475f63bdec6c24c13f7d6ec7f70275b1bde5c15)) 1813 - fix compile error when enable fuse provision ([a0da9c4](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a0da9c4bd296ec1a47683a1ee05f5d1ed71828c7)) 1814 1815 - **QEMU** 1816 1817 - (NS_DRAM0_BASE + NS_DRAM0_SIZE) ADDR overflow 32bit ([325716c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/325716c97b7835b8d249f12c1461556bab8c53a0)) 1818 - reboot/shutdown with low to high gpio ([bd2ad12](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bd2ad12ef10f558a5b15f5768b66e7b2606c6498)) 1819 1820 - **QTI** 1821 1822 - **SC1780** 1823 1824 - qti smc addition ([cc35a37](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cc35a3771d28a96906f8d0f393ff664924a2d4dc)) 1825 1826 - **Raspberry Pi** 1827 1828 - **Raspberry Pi 4** 1829 1830 - drop /memreserve/ region ([5d2793a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5d2793a61aded9602af86e90a571f64ff07f93b3)) 1831 1832 - **Renesas** 1833 1834 - **R-Car** 1835 1836 - change process that copy code to system ram ([49593cc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49593cc1ce0d0471aeef7ca24a5415da2dd55bea)) 1837 - fix cache maintenance process of reading cert header ([c77ab18](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c77ab18ec7c8e0f3d953177b835e004a9b53515f)) 1838 - fix to load image when option BL2_DCACHE_ENABLE is enabled ([d2ece8d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d2ece8dba2f31091b1fa6c302d4255495bb15705)) 1839 1840 - **R-Car 3** 1841 1842 - fix disabling MFIS write protection for R-Car D3 ([a8c0c3e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a8c0c3e9d0df2215ed3b9ef66f4596787d957566)) 1843 - fix eMMC boot support for R-Car D3 ([77ab366](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77ab3661e55c39694c7ee81de2d1615775711b64)) 1844 - fix source file to make about GICv2 ([fb3406b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb3406b6b573cb0b35138ca3c89c5641d3d7b790)) 1845 - fix version judgment for R-Car D3 ([c3d192b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c3d192b8e52823dcbc32e21e47c30693d38bb49f)) 1846 - generate two memory nodes for larger than 2 GiB channel 0 ([21924f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21924f2466b9b5e1243c142932e6f498da5633e9)) 1847 1848 - **Rockchip** 1849 1850 - **RK3399** 1851 1852 - correct LPDDR4 resume sequence ([2c4b0c0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2c4b0c05c6546e24eb7209ffb3bb465d4feed164)) 1853 - fix dram section placement ([f943b7c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f943b7c8e292e3aad2fcbdd0a37505f62b3b4c87)) 1854 1855 - **Socionext** 1856 1857 - **Synquacer** 1858 1859 - update scmi power domain off handling ([f7f5d2c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f7f5d2c4cd209c2d21244da4fa442050eb4531ab)) 1860 1861 - **ST** 1862 1863 - add STM32IMAGE_SRC ([f223505](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f22350583c2e26ea291eae3dc54db867fdf0d9af)) 1864 - add UART reset in crash console init ([b38e2ed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b38e2ed29ef791dad0cb61fed81b74d612f58b01)) 1865 - apply security at the end of BL2 ([99080bd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/99080bd1273331007f0b2d6f64fed51ac6861bcd)) 1866 - correct BSEC error code management ([72c7884](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/72c7884092684af4cc3c49e08f913b3ffed783ba)) 1867 - correct IO compensation disabling ([c2d18ca](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c2d18ca80f4bd32f58ba07f53d9bb2586df18fc0)) 1868 - correct signedness comparison issue ([5657dec](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5657decc7ffa1376c0a97b6d14ea1428877f5af4)) 1869 - improve DDR get size function ([91ffc1d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/91ffc1deffa2c1c64efe4dfaf27b78f2621a8b0b)) 1870 - only check header major when booting ([8ce8918](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8ce89187459ec77dd9ffdffba3a2b77838d51b6d)) 1871 - panic if boot interface is wrong ([71693a6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/71693a66341e7d9d683ef32981243cb4c4439351)) 1872 - remove double space ([306dcd6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/306dcd6b0d1981b75e103c560a4034bdaa6862d5)) 1873 1874 - **ST32MP1** 1875 1876 - add bl prefix for internal linker script ([7684ddd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7684dddcfb14c45bad33b091410a0bf14a3a9830)) 1877 1878 - **Xilinx** 1879 1880 - **Versal** 1881 1882 - correct IPI buffer offset ([e1e5b13](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e1e5b1339b9f73f7f1893d8a6d4dfe4b19ba0ad1)) 1883 - use sync method for blocking calls ([fa58171](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fa58171534976f94b93a44184afd050d8225e404)) 1884 1885 - **ZynqMP** 1886 1887 - use sync method for blocking calls ([c063c5a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c063c5a4f92d5787536e595ca4906b458b0f26cb)) 1888 1889- **Services** 1890 1891 - drop warning on unimplemented calls ([67fad51](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/67fad514ee974dcf0252fa0e9219eb3c580eb714)) 1892 1893 - **RME** 1894 1895 - fixes a shift by 64 bits bug in the RME GPT library ([322b344](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/322b344e30cb87b9293060d5946b3c17fe3b9133)) 1896 1897 - **SPM** 1898 1899 - do not compile if SVE/SME is enabled ([4333f95](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4333f95bedb5f2b53dcb62e0e9c563794ec33c07)) 1900 - error macro to use correct print format ([0c23e6f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0c23e6f44d41593b6e7f97594c12b5791bd75189)) 1901 - revert workaround hafnium as hypervisor ([3221fce](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3221fce842c0b5aea984bb8dbc1393082bd88a58)) 1902 - fixing coverity issue for SPM Core. ([f7fb0bf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/f7fb0bf77f3434bfb67411cad65e704fdef27f76)) 1903 1904- **Libraries** 1905 1906 - **LIBC** 1907 1908 - use long for 64-bit types on aarch64 ([4ce3e99](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4ce3e99a336b74611349595ea7fd5ed0277c3eeb)) 1909 1910 - **CPU Support** 1911 1912 - correct Demeter CPU name ([4cb576a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4cb576a0c5bd2e7669606996a9f79602596df07c)) 1913 - workaround for Cortex A78 erratum 2242635 ([1ea9190](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1ea9190c6a4d2299c6dc19adc0bbe93d4f051eff)) 1914 - workaround for Cortex-A710 erratum 2058056 ([744bdbf](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/744bdbf732ffd2abf84b2431624051e93bc29f7b)) 1915 - workaround for Neoverse V1 erratum 2216392 ([4c8fe6b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4c8fe6b17fa994a630b2a30f8666df103f2e370d)) 1916 - workaround for Neoverse-N2 erratum 2138953 ([ef8f0c5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef8f0c52ddf83e815a029319971682d7a26b6a6f)) 1917 - workaround for Neoverse-N2 erratum 2138958 ([c948185](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c948185c973c13df36c62c4bcb50e22b14d6e06a)) 1918 - workaround for Neoverse-N2 erratum 2242400 ([603806d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/603806d1376c4b18211fb1d4cc338153de026c32)) 1919 - workaround for Neoverse-N2 erratum 2242415 ([5819e23](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5819e23bc47c860872141caf42bddddb1b8679a5)) 1920 - workaround for Neoverse-N2 erratum 2280757 ([0d2d999](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0d2d99924e1be548e75c46cfd536f7503cf863e0)) 1921 - rename Matterhorn, Matterhorn ELP, and Klein CPUs ([c6ac4df](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c6ac4df622befb5bb42ac136745094e1498c91d8)) 1922 1923 - **EL3 Runtime** 1924 1925 - correct CASSERT for pauth ([b4f8d44](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b4f8d44597faf641177134ee08db7c3fcef5aa14)) 1926 - fix SVE and AMU extension enablement flags ([68ac5ed](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/68ac5ed0493b24e6a0a178171a47db75a31cc423)) 1927 - random typos in tf-a code base ([2e61d68](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2e61d6871cc310e9404fe5cfa10b9828f1c869a7)) 1928 - Remove save/restore of EL2 timer registers ([a7cf274](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a7cf2743f3eb487912302aafc748c81bbd1fc603)) 1929 1930 - **OP-TEE** 1931 1932 - correct signedness comparison ([21d2be8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/21d2be83a2eabb328071e857e538ced3c8351874)) 1933 1934 - **GPT** 1935 1936 - add necessary barriers and remove cache clean ([77612b9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77612b90acaffc82cea712f4a431c727bbb968ec)) 1937 - use correct print format for uint64_t ([2461bd3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/2461bd3a89f7f2cdf4a7302536746733970cfe53)) 1938 1939 - **Translation Tables** 1940 1941 - remove always true check in assert ([74d720a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/74d720a026735263d2f290fd05370dad0d4c7219)) 1942 1943- **Drivers** 1944 1945 - **Authentication** 1946 1947 - avoid NV counter upgrade without certificate validation ([a2a5a94](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a2a5a9456969266dc68d5845f31e05be0c3ff2e3)) 1948 1949 - **CryptoCell-713** 1950 1951 - fix a build failure with CC-713 library ([e5fbee5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e5fbee5085c682ac3438e6f66c8bdaffb6076fa2)) 1952 1953 - **MTD** 1954 1955 - fix MISRA issues and logic improvement ([5130ad1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5130ad14d52a0196422fed8a7d08e25659890b15)) 1956 - macronix quad enable bit issue ([c332740](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c3327408eb4b5852c0ed9d8933c35aaa6de34c21)) 1957 1958 - **NAND** 1959 1960 - **SPI NAND** 1961 1962 - check correct manufacturer id ([4490b79](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4490b7963303fbe59b07a66c8498a803eb5c239c)) 1963 - check that parameters have been set ([bc453ab](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bc453ab1b2fd4267d34f2b9587f73b8940ee1538)) 1964 1965 - **SCMI** 1966 1967 - entry: add weak functions ([b3c8fd5](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b3c8fd5d778144340d289ad4825123106aac4a96)) 1968 - smt: fix build for aarch64 ([0e223c6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0e223c6a9e5a2d92cae00fdd16a02a3f8971b114)) 1969 - mention "SCMI" in driver initialisation message ([e0baae7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/e0baae7316bfdf3e49e5e158f79eb80cd51fc700)) 1970 - relax requirement for exact protocol version ([125868c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/125868c94150f52ff85cdb59aee623ab1f9f259d)) 1971 1972 - **UFS** 1973 1974 - add reset before DME_LINKSTARTUP ([905635d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/905635d5e74e3c7b7b2412a673009c8aaabb73e1)) 1975 1976 - **Arm** 1977 1978 - **GIC** 1979 1980 - **GICv3** 1981 1982 - add dsb in both disable and enable function of gicv3_cpuif ([5a5e0aa](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a5e0aac398989536dc4be790820af89da3d093a)) 1983 1984 - **GIC-600AE** 1985 1986 - fix timeout calculation ([7f322f2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7f322f228e76caa5480f827af0aa6751f00fc1c4)) 1987 1988 - **TZC** 1989 1990 - **TZC-400** 1991 1992 - never disable filter 0 ([ef378d3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ef378d3ec1ef9d7c28baef32ed409688e962542b)) 1993 1994 - **Marvell** 1995 1996 - **COMPHY** 1997 1998 - fix name of 3.125G SerDes mode ([a669983](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a669983c78828e3f4a4f14b9e5a6ee79dcfde20f)) 1999 2000 - **Armada 3700** 2001 2002 - configure phy selector also for PCIe ([0f3a122](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0f3a1221093256999af5f2a80e9b3d7231b9f5fb)) 2003 - fix address overflow ([c074f70](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c074f70ce5d85e1735b589b323fac99d7eb988b5)) 2004 - handle failures in power functions ([49b664e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49b664e75f43fda08dddef4f0510d346bdd25565)) 2005 2006 - **CP110** 2007 2008 - fix error code in pcie power on ([c0a909c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c0a909cdcce2d9a2ceefe672ad2fc1cae7e39ec4)) 2009 2010 - **Armada** 2011 2012 - **A3K** 2013 2014 - **A3720** 2015 2016 - fix configuring UART clock ([b9185c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b9185c75f7ec2b600ebe0d49281e216a2456b764)) 2017 - fix UART clock rate value and divisor calculation ([66a7752](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/66a7752834382595d26214783ae4698fd1f00bd6)) 2018 - fix UART parent clock rate determination ([5a91c43](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5a91c439cbeb1f64b8b9830de91efad5113d3c89)) 2019 2020 - **MediaTek** 2021 2022 - **PMIC Wrapper** 2023 2024 - update idle flow ([9ed4e6f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/9ed4e6fb669b8fcafc4e8acfa6a36db305d27ac8)) 2025 2026 - **MT8192** 2027 2028 - **SPM** 2029 2030 - add missing bit define for debug purpose ([310c3a2](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/310c3a26e17d99aafc73b3504d0b6dfbdb97fd4c)) 2031 2032 - **NXP** 2033 2034 - **FLEXSPI** 2035 2036 - fix warm boot wait time for MT35XU512A ([1ff7e46](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/1ff7e46b092b74891bc2dc7263e4dfae947b2223)) 2037 2038 - **SCFG** 2039 2040 - fix endianness checking ([fb90cfd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/fb90cfd4eee504f1d16aa143728af427dc6e0ed8)) 2041 2042 - **SFP** 2043 2044 - fix compile warning ([3239a17](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3239a17561c124df7095391c0d64e86910660cdc)) 2045 2046 - **Renesas** 2047 2048 - **R-Car3** 2049 2050 - console: fix a return value of console_rcar_init ([bb273e3](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bb273e3be1c4f1cddeac9ceaac95fb56e41e6b98)) 2051 - ddr: update DDR setting for H3, M3, M3N ([ec767c1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ec767c1b99675fbb50ef1b2fdb2d38e881e4789d)) 2052 - emmc: remove CPG_CPGWPR redefinition ([36d5645](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/36d5645aec947ab00b925b21141e59e58e1efd8c)) 2053 - fix CPG registers redefinition ([0dae56b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0dae56bb2f0aa1f89ec98ebe3931fb19751a5c72)) 2054 - i2c_dvfs: fix I2C operation ([b757d3a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b757d3a1d901bee9b7ad430702575adba04889ba)) 2055 2056 - **ST** 2057 2058 - **Clock** 2059 2060 - use correct return value ([8f97c4f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8f97c4fab1769b3f7f37a2a7a01ade36e5c94eaa)) 2061 - correctly manage RTC clock source ([1550909](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/15509093f0ba9a10f97c6f92bc3bb9fcf79a48ce)) 2062 - fix MCU/AXI parent clock ([b8fe48b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/b8fe48b6f2b07fce49363cb3c0f8dac9e286439b)) 2063 - fix MPU clock rate ([602ae2f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/602ae2f23c2bc9d79a9ab2b7c5dde1932fffc984)) 2064 - fix RTC clock rating ([cbd2e8a](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cbd2e8a6afdd05c4b404d7998134a3f60cc15518)) 2065 - keep RTC clock always on ([5b111c7](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/5b111c74795ea5e9c8a12d0e6b18d77e431311ed)) 2066 - keep RTCAPB clock always on ([373f06b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/373f06be4ee1114369b96763481b58885623aea4)) 2067 - set other clocks as always on ([bf39318](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/bf39318d93c270ff72bda4b46e4771aba7aea313)) 2068 2069 - **I/O** 2070 2071 - **STM32 Image** 2072 2073 - invalidate cache on local buf ([a5bcf82](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a5bcf82402ff415326b4dba42aae95c499821e94)) 2074 - uninitialized variable warning ([c1d732d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c1d732d0db2463998036c678619007da79a25b3f)) 2075 2076 - **ST PMIC** 2077 2078 - initialize i2c_state ([4282284](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/42822844bfed2e9ffaeae850cc60f5c3d4d9d654)) 2079 - missing error check ([a4bcfe9](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a4bcfe94e73db89ce2ebbb23c8e33e51eea5026a)) 2080 2081 - **STPMIC1** 2082 2083 - fix power switches activation ([0161991](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0161991184e5feacacc679bdb9c92681b85235eb)) 2084 - update error cases return ([ed6a852](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/ed6a85234653c5ee2520389b769ff47e321df8a4)) 2085 2086 - **UART** 2087 2088 - **STM32 Console** 2089 2090 - do not skip init for crash console ([49c7f0c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49c7f0cef4cc864185828750f1f61f3f33f284f7)) 2091 2092 - **USB** 2093 2094 - add a optional ops get_other_speed_config_desc ([216c122](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/216c1223c2c65bd1c119a28b9406f70a9ee7b063)) 2095 - fix Null pointer dereferences in usb_core_set_config ([0cb9870](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0cb9870ddfa1b2fec50debe6d6333cbcb3df1e7e)) 2096 - remove deadcode when USBD_EP_NB = 1 ([7ca4928](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7ca49284be083b03ae11aa348b40358876ee5d4b)) 2097 - remove unnecessary cast ([025f5ef](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/025f5ef201a39ba7285f368139e690bbd7a44653)) 2098 2099- **Miscellaneous** 2100 2101 - use correct printf format for uint64_t ([4ef449c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4ef449c15a4055d92632cb7e72267f525a7e2fca)) 2102 2103 - **DT Bindings** 2104 2105 - fix static checks ([0861fcd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/0861fcdd3e3f2625e133de3dae9c548de7c1ee48)) 2106 2107 - **FDTs** 2108 2109 - avoid output on missing DT property ([49e789e](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/49e789e353efaf97f84eca016c6a1b8a2b3e3d98)) 2110 - fix OOB write in uuid parsing function ([d0d6424](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0d642450f1f3a0f43e0e156ef57a0c460dd48cf)) 2111 2112 - **Morello** 2113 2114 - fix scmi clock specifier to cluster mappings ([387a906](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/387a9065a271ecde0e47dc5a9f9d037637502beb)) 2115 2116 - **STM32MP1** 2117 2118 - correct copyright dates ([8d26029](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8d26029168fe70a86de524ed68c56e8666823714)) 2119 - set ETH clock on PLL4P on ST boards ([3e881a8](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/3e881a8834a955f1e552300bdbf1dafd02ea8f1c)) 2120 - update PLL nodes for ED1/EV1 boards ([cdbbb9f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/cdbbb9f7ecd4687fa52e1c655b631377c24862b9)) 2121 - use 'kHz' as kilohertz abbreviation ([4955d08](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4955d08de7aa664387d2e5f690e78b85ac23a402)) 2122 2123 - **PIE** 2124 2125 - invalidate data cache in the entire image range if PIE is enabled ([596d20d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/596d20d9e4d50c02b5a0cce8cad2a1c205cd687a)) 2126 2127 - **Security** 2128 2129 - Set MDCR_EL3.MCCD bit ([12f6c06](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/12f6c0649732a35a7ed45ba350a963f09a5710ca)) 2130 2131 - **SDEI** 2132 2133 - fix assert while kdump issue ([d39db26](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d39db2695ba626b9c0ee38652fe160b4e84b15d9)) 2134 - print event number in hex format ([6b94356](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6b94356b577744d425476a029c47bd35eb13c148)) 2135 - set SPSR for SDEI based on TakeException ([37596fc](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/37596fcb43e34ed4bcf1bd3e86d8dec1011edab8)) 2136 2137- **Documentation** 2138 2139 - fix TF-A v2.6 release date in the release information page ([c90fa47](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c90fa47202b762fe8f54e9c0561e94d37907b6ad)) 2140 - fix `FF-A` substitution ([a61940c](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/a61940ca739eb89be7c1bb2408a9178c2da5cb70)) 2141 - fix typos in v2.5 release documentation ([481c7b6](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/481c7b6b9107a3f71ee750f89cacdd8f9c729838)) 2142 - remove "experimental" tag for stable features ([700e768](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/700e7685dd4682a929645a79de39f503c9140b2d)) 2143 2144 - **Contribution Guidelines** 2145 2146 - fix formatting for code snippet ([d0bbe81](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/d0bbe8150eb35fe2bac1567751bf84a8f073dd39)) 2147 2148- **Build System** 2149 2150 - use space in WARNINGS list ([34b508b](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/34b508be9f021831423a8a14f56dff547e24c743)) 2151 2152 - **Git Hooks** 2153 2154 - downgrade `package-lock.json` version ([7434b65](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/7434b65208175bdf3f44e0e62aaaeabc9c494ee3)) 2155 2156- **Tools** 2157 2158 - **STM32 Image** 2159 2160 - improve the tool ([8d0036d](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/8d0036d3d8c8ac1524539ea90382acafb1e524c0)) 2161 2162 - **SPTOOL** 2163 2164 - SP UUID little to big endian in TF-A build ([dcdbcdd](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/dcdbcddebdee8d4d2c6c8316f615b428758b22ac)) 2165 2166 - **DOIMAGE** 2167 2168 - Fix doimage syntax breaking secure mode build ([6d55ef1](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/6d55ef1a24dc92a3b737aaa02141f550caaace06)) 2169 2170- **Dependencies** 2171 2172 - **checkpatch** 2173 2174 - do not check merge commits ([77a0a7f](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/77a0a7f1d96b188849d1d8d8884b3c93857d3f69)) 2175 2176## [2.5.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.4..refs/tags/v2.5) (2021-05-17) 2177 2178### New Features 2179 2180- Architecture support 2181 2182 - Added support for speculation barrier(`FEAT_SB`) for non-Armv8.5 platforms 2183 starting from Armv8.0 2184 - Added support for Activity Monitors Extension version 1.1(`FEAT_AMUv1p1`) 2185 - Added helper functions for Random number generator(`FEAT_RNG`) registers 2186 - Added support for Armv8.6 Multi-threaded PMU extensions (`FEAT_MTPMU`) 2187 - Added support for MTE Asymmetric Fault Handling extensions(`FEAT_MTE3`) 2188 - Added support for Privileged Access Never extensions(`FEAT_PANx`) 2189 2190- Bootloader images 2191 2192 - Added PIE support for AArch32 builds 2193 - Enable Trusted Random Number Generator service for BL32(sp_min) 2194 2195- Build System 2196 2197 - Added build option for Arm Feature Modifiers 2198 2199- Drivers 2200 2201 - Added support for interrupts in TZC-400 driver 2202 - Broadcom 2203 - Added support for I2C, MDIO and USB drivers 2204 - Marvell 2205 - Added support for secure read/write of dfc register-set 2206 - Added support for thermal sensor driver 2207 - Implement a3700_core_getc API in console driver 2208 - Added rx training on 10G port 2209 - Marvell Mochi 2210 - Added support for cn913x in PCIe mode 2211 - Marvell Armada A8K 2212 - Added support for TRNG-IP-76 driver and accessing RNG register 2213 - Mediatek MT8192 2214 - Added support for following drivers 2215 - MPU configuration for SCP/PCIe 2216 - SPM suspend 2217 - Vcore DVFS 2218 - LPM 2219 - PTP3 2220 - UART save and restore 2221 - Power-off 2222 - PMIC 2223 - CPU hotplug and MCDI support 2224 - SPMC 2225 - MPU 2226 - Mediatek MT8195 2227 - Added support for following drivers 2228 - GPIO, NCDI, SPMC drivers 2229 - Power-off 2230 - CPU hotplug, reboot and MCDI 2231 - Delay timer and sys timer 2232 - GIC 2233 - NXP 2234 - Added support for 2235 - non-volatile storage API 2236 - chain of trust and trusted board boot using two modes: MBEDTLS and CSF 2237 - fip-handler necessary for DDR initialization 2238 - SMMU and console drivers 2239 - crypto hardware accelerator driver 2240 - following drivers: SD, EMMC, QSPI, FLEXSPI, GPIO, GIC, CSU, PMU, DDR 2241 - NXP Security Monitor and SFP driver 2242 - interconnect config APIs using ARM CCN-CCI driver 2243 - TZC APIs to configure DDR region 2244 - generic timer driver 2245 - Device configuration driver 2246 - IMX 2247 - Added support for image loading and io-storage driver for TBBR fip booting 2248 - Renesas 2249 - Added support for PFC and EMMC driver 2250 - RZ Family: 2251 - G2N, G2E and G2H SoCs 2252 - Added support for watchdog, QoS, PFC and DRAM initialization 2253 - RZG Family: 2254 - G2M 2255 - Added support for QoS and DRAM initialization 2256 - Xilinx 2257 - Added JTAG DCC support for Versal and ZynqMP SoC family. 2258 2259- Libraries 2260 2261 - C standard library 2262 - Added support to print `%` in `snprintf()` and `printf()` APIs 2263 - Added support for strtoull, strtoll, strtoul, strtol APIs from FreeBSD 2264 project 2265 - CPU support 2266 - Added support for 2267 - Cortex_A78C CPU 2268 - Makalu ELP CPU 2269 - Makalu CPU 2270 - Matterhorn ELP CPU 2271 - Neoverse-N2 CPU 2272 - CPU Errata 2273 - Arm Cortex-A76: Added workaround for erratum 1946160 2274 - Arm Cortex-A77: Added workaround for erratum 1946167 2275 - Arm Cortex-A78: Added workaround for erratum 1941498 and 1951500 2276 - Arm Neoverse-N1: Added workaround for erratum 1946160 2277 - Flattened device tree(libfdt) 2278 - Added support for wrapper function to read UUIDs in string format from dtb 2279 2280- Platforms 2281 2282 - Added support for MediaTek MT8195 2283 - Added support for Arm RD-N2 board 2284 - Allwinner 2285 - Added support for H616 SoC 2286 - Arm 2287 - Added support for GPT parser 2288 - Protect GICR frames for fused/unused cores 2289 - Arm Morello 2290 - Added VirtIO network device to Morello FVP fdts 2291 - Arm RD-N2 2292 - Added support for variant 1 of RD-N2 platform 2293 - Enable AMU support 2294 - Arm RD-V1 2295 - Enable AMU support 2296 - Arm SGI 2297 - Added support for platform variant build option 2298 - Arm TC0 2299 - Added Matterhorn ELP CPU support 2300 - Added support for opteed 2301 - Arm Juno 2302 - Added support to use hw_config in BL31 2303 - Use TRNG entropy source for SMCCC TRNG interface 2304 - Condition Juno entropy source with CRC instructions 2305 - Marvell Mochi 2306 - Added support for detection of secure mode 2307 - Marvell ARMADA 2308 - Added support for new compile option A3720_DB_PM_WAKEUP_SRC 2309 - Added support doing system reset via CM3 secure coprocessor 2310 - Made several makefile enhancements required to build WTMI_MULTI_IMG and 2311 TIMDDRTOOL 2312 - Added support for building DOIMAGETOOL tool 2313 - Added new target mrvl_bootimage 2314 - Mediatek MT8192 2315 - Added support for rtc power off sequence 2316 - Mediatek MT8195 2317 - Added support for SiP service 2318 - STM32MP1 2319 - Added support for 2320 - Seeed ODYSSEY SoM and board 2321 - SDMMC2 and I2C2 pins in pinctrl 2322 - I2C2 peripheral in DTS 2323 - PIE for BL32 2324 - TZC-400 interrupt managament 2325 - Linux Automation MC-1 board 2326 - Renesas RZG 2327 - Added support for identifying EK874 RZ/G2E board 2328 - Added support for identifying HopeRun HiHope RZ/G2H and RZ/G2H boards 2329 - Rockchip 2330 - Added support for stack protector 2331 - QEMU 2332 - Added support for `max` CPU 2333 - Added Cortex-A72 support to `virt` platform 2334 - Enabled trigger reboot from secure pl061 2335 - QEMU SBSA 2336 - Added support for sbsa-ref Embedded Controller 2337 - NXP 2338 - Added support for warm reset to retain ddr content 2339 - Added support for image loader necessary for loading fip image 2340 - lx2160a SoC Family 2341 - Added support for 2342 - new platform lx2160a-aqds 2343 - new platform lx2160a-rdb 2344 - new platform lx2162a-aqds 2345 - errata handling 2346 - IMX imx8mm 2347 - Added support for trusted board boot 2348 - TI K3 2349 - Added support for lite device board 2350 - Enabled Cortex-A72 erratum 1319367 2351 - Enabled Cortex-A53 erratum 1530924 2352 - Xilinx ZynqMP 2353 - Added support for PS and system reset on WDT restart 2354 - Added support for error management 2355 - Enable support for log messages necessary for debug 2356 - Added support for PM API SMC call for efuse and register access 2357 2358- Processes 2359 2360 - Introduced process for platform deprecation 2361 - Added documentation for TF-A threat model 2362 - Provided a copy of the MIT license to comply with the license requirements 2363 of the arm-gic.h source file (originating from the Linux kernel project and 2364 re-distributed in TF-A). 2365 2366- Services 2367 2368 - Added support for TRNG firmware interface service 2369 - Arm 2370 - Added SiP service to configure Ethos-N NPU 2371 - SPMC 2372 - Added documentation for SPM(Hafnium) SMMUv3 driver 2373 - SPMD 2374 - Added support for 2375 - FFA_INTERRUPT forwading ABI 2376 - FFA_SECONDARY_EP_REGISTER ABI 2377 - FF-A v1.0 boot time power management, SPMC secondary core boot and early 2378 run-time power management 2379 2380- Tools 2381 2382 - FIPTool 2383 - Added mechanism to allow platform specific image UUID 2384 - git hooks 2385 - Added support for conventional commits through commitlint hook, commitizen 2386 hook and husky configuration files. 2387 - NXP tool 2388 - Added support for a tool that creates pbl file from BL2 2389 - Renesas RZ/G2 2390 - Added tool support for creating bootparam and cert_header images 2391 - CertCreate 2392 - Added support for platform-defined certificates, keys, and extensions 2393 using the platform's makefile 2394 - shared tools 2395 - Added EFI_GUID representation to uuid helper data structure 2396 2397### Changed 2398 2399- Common components 2400 2401 - Print newline after hex address in aarch64 el3_panic function 2402 - Use proper `#address-cells` and `#size-cells` for reserved-memory in dtbs 2403 2404- Drivers 2405 2406 - Move SCMI driver from ST platform directory and make it common to all 2407 platforms 2408 - Arm GICv3 2409 - Shift eSPI register offset in GICD_OFFSET_64() 2410 - Use mpidr to probe GICR for current CPU 2411 - Arm TZC-400 2412 - Adjust filter tag if it set to FILTER_BIT_ALL 2413 - Cadence 2414 - Enhance UART driver APIs to put characters to fifo 2415 - Mediatek MT8192 2416 - Move timer driver to common folder 2417 - Enhanced sys_cirq driver to add more IC services 2418 - Renesas 2419 - Move ddr and delay driver to common directory 2420 - Renesas rcar 2421 - Treat log as device memory in console driver 2422 - Renesas RZ Family: 2423 - G2N and G2H SoCs 2424 - Select MMC_CH1 for eMMC channel 2425 - Marvell 2426 - Added support for checking if TRNG unit is present 2427 - Marvell A3K 2428 - Set TXDCLK_2X_SEL bit during PCIe initialization 2429 - Set mask parameter for every reg_set call 2430 - Marvell Mochi 2431 - Added missing stream IDs configurations 2432 - MbedTLS 2433 - Migrated to Mbed TLS v2.26.0 2434 - IMX imx8mp 2435 - Change the bl31 physical load address 2436 - QEMU SBSA 2437 - Enable secure variable storage 2438 - SCMI 2439 - Update power domain protocol version to 2.0 2440 - STM32 2441 - Remove dead code from nand FMC driver 2442 2443- Libraries 2444 2445 - C Standard Library 2446 - Use macros to reduce duplicated code between snprintf and printf 2447 - CPU support 2448 - Sanity check pointers before use in AArch32 builds 2449 - Arm Cortex-A78 2450 - Remove rainier cpu workaround for errata 1542319 2451 - Arm Makalu ELP 2452 - Added "\_arm" suffix to Makalu ELP CPU lib 2453 2454- Miscellaneous 2455 2456 - Editorconfig 2457 - set max line length to 100 2458 2459- Platforms 2460 2461 - Allwinner 2462 - Added reserved-memory node to DT 2463 - Express memmap more dynamically 2464 - Move SEPARATE_NOBITS_REGION to platforms 2465 - Limit FDT checks to reduce code size 2466 - Use CPUIDLE hardware when available 2467 - Allow conditional compilation of SCPI and native PSCI ops 2468 - Always use a 3MHz RSB bus clock 2469 - Enable workaround for Cortex-A53 erratum 1530924 2470 - Fixed non-default PRELOADED_BL33_BASE 2471 - Leave CPU power alone during BL31 setup 2472 - Added several psci hooks enhancements to improve system shutdown/reset 2473 sequence 2474 - Return the PMIC to I2C mode after use 2475 - Separate code to power off self and other CPUs 2476 - Split native and SCPI-based PSCI implementations 2477 - Allwinner H6 2478 - Added R_PRCM security setup for H6 board 2479 - Added SPC security setup for H6 board 2480 - Use RSB for the PMIC connection on H6 2481 - Arm 2482 - Store UUID as a string, rather than ints 2483 - Replace FIP base and size macro with a generic name 2484 - Move compile time switch from source to dt file 2485 - Don't provide NT_FW_CONFIG when booting hafnium 2486 - Do not setup 'disabled' regulator 2487 - Increase SP max size 2488 - Remove false dependency of ARM_LINUX_KERNEL_AS_BL33 on RESET_TO_BL31 and 2489 allow it to be enabled independently 2490 - Arm FVP 2491 - Do not map GIC region in BL1 and BL2 2492 - Arm Juno 2493 - Refactor juno_getentropy() to return 64 bits on each call 2494 - Arm Morello 2495 - Remove "virtio-rng" from Morello FVP 2496 - Enable virtIO P9 device for Morello fvp 2497 - Arm RDV1 2498 - Allow all PSCI callbacks on RD-V1 2499 - Rename rddaniel to rdv1 2500 - Arm RDV1MC 2501 - Rename rddanielxlr to rdv1mc 2502 - Initialize TZC-400 controllers 2503 - Arm TC0 2504 - Updated GICR base address 2505 - Use scmi_dvfs clock index 1 for cores 4-7 through fdt 2506 - Added reserved-memory node for OP-TEE fdts 2507 - Enabled Theodul DSU in TC platform 2508 - OP-TEE as S-EL1 SP with SPMC at S-EL2 2509 - Update Matterhorm ELP DVFS clock index 2510 - Arm SGI 2511 - Allow access to TZC controller on all chips 2512 - Define memory regions for multi-chip platforms 2513 - Allow access to nor2 flash and system registers from S-EL0 2514 - Define default list of memory regions for DMC-620 TZC 2515 - Improve macros defining cper buffer memory region 2516 - Refactor DMC-620 error handling SMC function id 2517 - Refactor SDEI specific macros 2518 - Added platform id value for RDN2 platform 2519 - Refactored header file inclusions and inclusion of memory mapping 2520 - Arm RDN2 2521 - Allow usage of secure partitions on RDN2 platform 2522 - Update GIC redistributor and TZC base address 2523 - Arm SGM775 2524 - Deprecate Arm sgm775 FVP platform 2525 - Marvell 2526 - Increase TX FIFO EMPTY timeout from 2ms to 3ms 2527 - Update delay code to be compatible with 1200 MHz CPU 2528 - Marvell ARMADA 2529 - Postpone MSS CPU startup to BL31 stage 2530 - Allow builds without MSS support 2531 - Use MSS SRAM in secure mode 2532 - Added missing FORCE, .PHONY and clean targets 2533 - Cleanup MSS SRAM if used for copy 2534 - Move definition of mrvl_flash target to common marvell_common.mk file 2535 - Show informative build messages and blank lines 2536 - Marvell ARMADA A3K 2537 - Added a new target mrvl_uart which builds UART image 2538 - Added checks that WTP, MV_DDR_PATH and CRYPTOPP_PATH are correctly defined 2539 - Allow use of the system Crypto++ library 2540 - Build \$(WTMI_ENC_IMG) in \$(BUILD_PLAT) directory 2541 - Build intermediate files in \$(BUILD_PLAT) directory 2542 - Build UART image files directly in \$(BUILD_UART) subdirectory 2543 - Correctly set DDR_TOPOLOGY and CLOCKSPRESET for WTMI 2544 - Do not use 'echo -e' in Makefile 2545 - Improve 4GB DRAM usage from 3.375 GB to 3.75 GB 2546 - Remove unused variable WTMI_SYSINIT_IMG from Makefile 2547 - Simplify check if WTP variable is defined 2548 - Split building \$(WTMI_MULTI_IMG) and \$(TIMDDRTOOL) 2549 - Marvell ARMADA A8K 2550 - Allow CP1/CP2 mapping at BLE stage 2551 - Mediatek MT8183 2552 - Added timer V20 compensation 2553 - Nvidia Tegra 2554 - Rename SMC API 2555 - TI K3 2556 - Make plat_get_syscnt_freq2 helper check CNT_FID0 register 2557 - Fill non-message data fields in sec_proxy with 0x0 2558 - Update ti_sci_msg_req_reboot ABI to include domain 2559 - Enable USE_COHERENT_MEM only for the generic board 2560 - Explicitly map SEC_SRAM_BASE to 0x0 2561 - Use BL31_SIZE instead of computing 2562 - Define the correct number of max table entries and increase SRAM size to 2563 account for additional table 2564 - Raspberry Pi4 2565 - Switch to gicv2.mk and GICV2_SOURCES 2566 - Renesas 2567 - Move headers and assembly files to common folder 2568 - Renesas rzg 2569 - Added device tree memory node enhancements 2570 - Rockchip 2571 - Switch to using common gicv3.mk 2572 - STM32MP1 2573 - Set BL sizes regardless of flags 2574 - QEMU 2575 - Include gicv2.mk for compiling GICv2 source files 2576 - Change DEVICE2 definition for MMU 2577 - Added helper to calculate the position shift from MPIDR 2578 - QEMU SBSA 2579 - Include libraries for Cortex-A72 2580 - Increase SHARED_RAM_SIZE 2581 - Addes support in spm_mm for upto 512 cores 2582 - Added support for topology handling 2583 - QTI 2584 - Mandate SMC implementation 2585 - Xilinx 2586 - Rename the IPI CRC checksum macro 2587 - Use fno-jump-tables flag in CPPFLAGS 2588 - Xilinx versal 2589 - Added the IPI CRC checksum macro support 2590 - Mark IPI calls secure/non-secure 2591 - Enable sgi to communicate with linux using IPI 2592 - Remove Cortex-A53 compilation 2593 - Xilinx ZynqMP 2594 - Configure counter frequency during initialization 2595 - Filter errors related to clock gate permissions 2596 - Implement pinctrl request/release EEMI API 2597 - Reimplement pinctrl get/set config parameter EEMI API calls 2598 - Reimplement pinctrl set/get function EEMI API 2599 - Update error codes to match Linux and PMU Firmware 2600 - Update PM version and support PM version check 2601 - Update return type in query functions 2602 - Added missing ids for 43/46/47dr devices 2603 - Checked for DLL status before doing reset 2604 - Disable ITAPDLYENA bit for zero ITAP delay 2605 - Include GICv2 makefile 2606 - Remove the custom crash implementation 2607 2608- Services 2609 2610 - SPMD 2611 - Lock the g_spmd_pm structure 2612 - Declare third cactus instance as UP SP 2613 - Provide number of vCPUs and VM size for first SP 2614 - Remove `chosen` node from SPMC manifests 2615 - Move OP-TEE SP manifest DTS to FVP platform 2616 - Update OP-TEE SP manifest with device-regions node 2617 - Remove device-memory node from SPMC manifests 2618 - SPM_MM 2619 - Use sp_boot_info to set SP context 2620 - SDEI 2621 - Updata the affinity of shared event 2622 2623- Tools 2624 2625 - FIPtool 2626 - Do not print duplicate verbose lines about building fiptool 2627 - CertCreate 2628 - Updated tool for platform defined certs, keys & extensions 2629 - Create only requested certificates 2630 - Avoid duplicates in extension stack 2631 2632### Resolved Issues 2633 2634- Several fixes for typos and mis-spellings in documentation 2635 2636- Build system 2637 2638 - Fixed \$\{FIP_NAME} to be rebuilt only when needed in Makefile 2639 - Do not mark file targets as .PHONY target in Makefile 2640 2641- Drivers 2642 2643 - Authorization 2644 - Avoid NV counter upgrade without certificate validation 2645 - Arm GICv3 2646 - Fixed logical issue for num_eints 2647 - Limit SPI ID to avoid misjudgement in GICD_OFFSET() 2648 - Fixed potential GICD context override with ESPI enabled 2649 - Marvell A3700 2650 - Fixed configuring polarity invert bits 2651 - Arm TZC-400 2652 - Correct FAIL_CONTROL Privileged bit 2653 - Fixed logical error in FILTER_BIT definitions 2654 - Renesas rcar 2655 - Fixed several coding style violations reported by checkpatch 2656 2657- Libraries 2658 2659 - Arch helpers 2660 - Fixed assertions in processing dynamic relocations for AArch64 builds 2661 - C standard library 2662 - Fixed MISRA issues in memset() ABI 2663 - RAS 2664 - Fixed bug of binary search in RAS interrupt handler 2665 2666- Platforms 2667 2668 - Arm 2669 - Fixed missing copyrights in arm-gic.h file 2670 - Fixed the order of header files in several dts files 2671 - Fixed error message printing in board makefile 2672 - Fixed bug of overriding the last node in image load helper API 2673 - Fixed stdout-path in fdts files of TC0 and N1SDP platforms 2674 - Turn ON/OFF redistributor in sync with GIC CPU interface ON/OFF for css 2675 platforms 2676 - Arm FVP 2677 - Fixed Generic Timer interrupt types in platform dts files 2678 - Arm Juno 2679 - Fixed parallel build issue for romlib config 2680 - Arm SGI 2681 - Fixed bug in SDEI receive event of RAS handler 2682 - Intel Agilex 2683 - Fixed PLAT_MAX_PWR_LVL value 2684 - Marvell 2685 - Fixed SPD handling in dram port 2686 - Marvell ARMADA 2687 - Fixed TRNG return SMC handling 2688 - Fixed the logic used for LD selector mask 2689 - Fixed MSS firmware loader for A8K family 2690 - ST 2691 - Fixed few violations reported by coverity static checks 2692 - STM32MP1 2693 - Fixed SELFREF_TO_X32 mask in ddr driver 2694 - Do not keep mmc_device_info in stack 2695 - Correct plat_crash_console_flush() 2696 - QEMU SBSA 2697 - Fixed memory type of secure NOR flash 2698 - QTI 2699 - Fixed NUM_APID and REG_APID_MAP() argument in SPMI driver 2700 - Intel 2701 - Do not keep mmc_device_info in stack 2702 - Hisilicon 2703 - Do not keep mmc_device_info in stack 2704 2705- Services 2706 2707 - EL3 runtime 2708 - Fixed the EL2 context save/restore routine by removing EL2 generic timer 2709 system registers 2710 - Added fix for exception handler in BL31 by synchronizing pending EA using 2711 DSB barrier 2712 - SPMD 2713 - Fixed error codes to use int32_t type 2714 - TSPD 2715 - Added bug fix in tspd interrupt handling when TSP_NS_INTR_ASYNC_PREEMPT is 2716 enabled 2717 - TRNG 2718 - Fixed compilation errors with -O0 compile option 2719 - DebugFS 2720 - Checked channel index before calling clone function 2721 - PSCI 2722 - Fixed limit of 256 CPUs caused by cast to unsigned char 2723 - TSP 2724 - Fixed compilation erros when built with GCC 11.0.0 toolchain 2725 2726- Tools 2727 2728 - FIPtool 2729 - Do not call `make clean` for `all` target 2730 - CertCreate 2731 - Fixed bug to avoid cleaning when building the binary 2732 - Used preallocated parts of the HASH struct to avoid leaking HASH struct 2733 fields 2734 - Free arguments copied with strdup 2735 - Free keys after use 2736 - Free X509_EXTENSION structures on stack to avoid leaking them 2737 - Optimized the code to avoid unnecessary attempts to create non-requested 2738 certificates 2739 2740## [2.4.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.3..refs/tags/v2.4) (2020-11-17) 2741 2742### New Features 2743 2744- Architecture support 2745 - Armv8.6-A 2746 - Added support for Armv8.6 Enhanced Counter Virtualization (ECV) 2747 - Added support for Armv8.6 Fine Grained Traps (FGT) 2748 - Added support for Armv8.6 WFE trap delays 2749- Bootloader images 2750 - Added support for Measured Boot 2751- Build System 2752 - Added build option `COT_DESC_IN_DTB` to create Chain of Trust at runtime 2753 - Added build option `OPENSSL_DIR` to direct tools to OpenSSL libraries 2754 - Added build option `RAS_TRAP_LOWER_EL_ERR_ACCESS` to enable trapping RAS 2755 register accesses from EL1/EL2 to EL3 2756 - Extended build option `BRANCH_PROTECTION` to support branch target 2757 identification 2758- Common components 2759 - Added support for exporting CPU nodes to the device tree 2760 - Added support for single and dual-root Chains of Trust in secure partitions 2761- Drivers 2762 - Added Broadcom RNG driver 2763 - Added Marvell `mg_conf_cm3` driver 2764 - Added System Control and Management Interface (SCMI) driver 2765 - Added STMicroelectronics ETZPC driver 2766 - Arm GICv3 2767 - Added support for detecting topology at runtime 2768 - Dual Root 2769 - Added support for platform certificates 2770 - Marvell Cache LLC 2771 - Added support for mapping the entire LLC into SRAM 2772 - Marvell CCU 2773 - Added workaround for erratum 3033912 2774 - Marvell CP110 COMPHY 2775 - Added support for SATA COMPHY polarity inversion 2776 - Added support for USB COMPHY polarity inversion 2777 - Added workaround for erratum IPCE_COMPHY-1353 2778 - STM32MP1 Clocks 2779 - Added `RTC` as a gateable clock 2780 - Added support for shifted clock selector bit masks 2781 - Added support for using additional clocks as parents 2782- Libraries 2783 - C standard library 2784 - Added support for hexadecimal and pointer format specifiers in `snprint()` 2785 - Added assembly alternatives for various library functions 2786 - CPU support 2787 - Arm Cortex-A53 2788 - Added workaround for erratum 1530924 2789 - Arm Cortex-A55 2790 - Added workaround for erratum 1530923 2791 - Arm Cortex-A57 2792 - Added workaround for erratum 1319537 2793 - Arm Cortex-A76 2794 - Added workaround for erratum 1165522 2795 - Added workaround for erratum 1791580 2796 - Added workaround for erratum 1868343 2797 - Arm Cortex-A72 2798 - Added workaround for erratum 1319367 2799 - Arm Cortex-A77 2800 - Added workaround for erratum 1508412 2801 - Added workaround for erratum 1800714 2802 - Added workaround for erratum 1925769 2803 - Arm Neoverse-N1 2804 - Added workaround for erratum 1868343 2805 - EL3 Runtime 2806 - Added support for saving/restoring registers related to nested 2807 virtualization in EL2 context switches if the architecture supports it 2808 - FCONF 2809 - Added support for Measured Boot 2810 - Added support for populating Chain of Trust properties 2811 - Added support for loading the `fw_config` image 2812 - Measured Boot 2813 - Added support for event logging 2814- Platforms 2815 - Added support for Arm Morello 2816 - Added support for Arm TC0 2817 - Added support for iEi PUZZLE-M801 2818 - Added support for Marvell OCTEON TX2 T9130 2819 - Added support for MediaTek MT8192 2820 - Added support for NXP i.MX 8M Nano 2821 - Added support for NXP i.MX 8M Plus 2822 - Added support for QTI CHIP SC7180 2823 - Added support for STM32MP151F 2824 - Added support for STM32MP153F 2825 - Added support for STM32MP157F 2826 - Added support for STM32MP151D 2827 - Added support for STM32MP153D 2828 - Added support for STM32MP157D 2829 - Arm 2830 - Added support for platform-owned SPs 2831 - Added support for resetting to BL31 2832 - Arm FPGA 2833 - Added support for Klein 2834 - Added support for Matterhorn 2835 - Added support for additional CPU clusters 2836 - Arm FVP 2837 - Added support for performing SDEI platform setup at runtime 2838 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command 2839 - Added an `id` field under the NV-counter node in the device tree to 2840 differentiate between trusted and non-trusted NV-counters 2841 - Added support for extracting the clock frequency from the timer node in 2842 the device tree 2843 - Arm Juno 2844 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command 2845 - Arm N1SDP 2846 - Added support for cross-chip PCI-e 2847 - Marvell 2848 - Added support for AVS reduction 2849 - Marvell ARMADA 2850 - Added support for twin-die combined memory device 2851 - Marvell ARMADA A8K 2852 - Added support for DDR with 32-bit bus width (both ECC and non-ECC) 2853 - Marvell AP806 2854 - Added workaround for erratum FE-4265711 2855 - Marvell AP807 2856 - Added workaround for erratum 3033912 2857 - Nvidia Tegra 2858 - Added debug printouts indicating SC7 entry sequence completion 2859 - Added support for SDEI 2860 - Added support for stack protection 2861 - Added support for GICv3 2862 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command 2863 - Nvidia Tegra194 2864 - Added support for RAS exception handling 2865 - Added support for SPM 2866 - NXP i.MX 2867 - Added support for SDEI 2868 - QEMU SBSA 2869 - Added support for the Secure Partition Manager 2870 - QTI 2871 - Added RNG driver 2872 - Added SPMI PMIC arbitrator driver 2873 - Added support for SMCCC's `SMCCC_ARCH_SOC_ID` command 2874 - STM32MP1 2875 - Added support for exposing peripheral interfaces to the non-secure world 2876 at runtime 2877 - Added support for SCMI clock and reset services 2878 - Added support for STM32MP15x CPU revision Z 2879 - Added support for SMCCC services in `SP_MIN` 2880- Services 2881 - Secure Payload Dispatcher 2882 - Added a provision to allow clients to retrieve the service UUID 2883 - SPMC 2884 - Added secondary core endpoint information to the SPMC context structure 2885 - SPMD 2886 - Added support for booting OP-TEE as a guest S-EL1 Secure Partition on top 2887 of Hafnium in S-EL2 2888 - Added a provision for handling SPMC messages to register secondary core 2889 entry points 2890 - Added support for power management operations 2891- Tools 2892 - CertCreate 2893 - Added support for secure partitions 2894 - CertTool 2895 - Added support for the `fw_config` image 2896 - FIPTool 2897 - Added support for the `fw_config` image 2898 2899### Changed 2900 2901- Architecture support 2902- Bootloader images 2903- Build System 2904 - The top-level Makefile now supports building FipTool on Windows 2905 - The default value of `KEY_SIZE` has been changed to to 2048 when RSA is in 2906 use 2907 - The previously-deprecated macro `__ASSEMBLY__` has now been removed 2908- Common components 2909 - Certain functions that flush the console will no longer return error 2910 information 2911- Drivers 2912 - Arm GIC 2913 - Usage of `drivers/arm/gic/common/gic_common.c` has now been deprecated in 2914 favour of `drivers/arm/gic/vX/gicvX.mk` 2915 - Added support for detecting the presence of a GIC600-AE 2916 - Added support for detecting the presence of a GIC-Clayton 2917 - Marvell MCI 2918 - Now performs link tuning for all MCI interfaces to improve performance 2919 - Marvell MoChi 2920 - PIDI masters are no longer forced into a non-secure access level when 2921 `LLC_SRAM` is enabled 2922 - The SD/MMC controllers are now accessible from guest virtual machines 2923 - Mbed TLS 2924 - Migrated to Mbed TLS v2.24.0 2925 - STM32 FMC2 NAND 2926 - Adjusted FMC node bindings to include an EBI controller node 2927 - STM32 Reset 2928 - Added an optional timeout argument to assertion functions 2929 - STM32MP1 Clocks 2930 - Enabled several additional system clocks during initialization 2931- Libraries 2932 - C Standard Library 2933 - Improved `memset` performance by avoiding single-byte writes 2934 - Added optimized assembly variants of `memset` 2935 - CPU support 2936 - Renamed Cortex-Hercules to Cortex-A78 2937 - Renamed Cortex-Hercules AE to Cortex-A78 AE 2938 - Renamed Neoverse Zeus to Neoverse V1 2939 - Coreboot 2940 - Updated ‘coreboot_get_memory_type’ API to take an extra argument as a 2941 ’memory size’ that used to return a valid memory type. 2942 - libfdt 2943 - Updated to latest upstream version 2944- Platforms 2945 - Allwinner 2946 - Disabled non-secure access to PRCM power control registers 2947 - Arm 2948 - `BL32_BASE` is now platform-dependent when `SPD_spmd` is enabled 2949 - Added support for loading the Chain of Trust from the device tree 2950 - The firmware update check is now executed only once 2951 - NV-counter base addresses are now loaded from the device tree when 2952 `COT_DESC_IN_DTB` is enabled 2953 - Now loads and populates `fw_config` and `tb_fw_config` 2954 - FCONF population now occurs after caches have been enabled in order to 2955 reduce boot times 2956 - Arm Corstone-700 2957 - Platform support has been split into both an FVP and an FPGA variant 2958 - Arm FPGA 2959 - DTB and BL33 load addresses have been given sensible default values 2960 - Now reads generic timer counter frequency, GICD and GICR base addresses, 2961 and UART address from DT 2962 - Now treats the primary PL011 UART as an SBSA Generic UART 2963 - Arm FVP 2964 - Secure interrupt descriptions, UART parameters, clock frequencies and 2965 GICv3 parameters are now queried through FCONF 2966 - UART parameters are now queried through the device tree 2967 - Added an owner field to Cactus secure partitions 2968 - Increased the maximum size of BL2 when the Chain of Trust is loaded from 2969 the device tree 2970 - Reduces the maximum size of BL31 2971 - The `FVP_USE_SP804_TIMER` and `FVP_VE_USE_SP804_TIMER` build options have 2972 been removed in favour of a common `USE_SP804_TIMER` option 2973 - Added a third Cactus partition to manifests 2974 - Device tree nodes now store UUIDs in big-endian 2975 - Arm Juno 2976 - Increased the maximum size of BL2 when optimizations have not been applied 2977 - Reduced the maximum size of BL31 and BL32 2978 - Marvell AP807 2979 - Enabled snoop filters 2980 - Marvell ARMADA A3K 2981 - UART recovery images are now suffixed with `.bin` 2982 - Marvell ARMADA A8K 2983 - Option `BL31_CACHE_DISABLE` is now disabled (`0`) by default 2984 - Nvidia Tegra 2985 - Added VPR resize supported check when processing video memory resize 2986 requests 2987 - Added SMMU verification to prevent potential issues caused by undetected 2988 corruption of the SMMU configuration during boot 2989 - The GIC CPU interface is now properly disabled after CPU off 2990 - The GICv2 sources list and the `BL31_SIZE` definition have been made 2991 platform-specific 2992 - The SPE driver will no longer flush the console when writing individual 2993 characters 2994 - Nvidia Tegra194 2995 - TZDRAM setup has been moved to platform-specific early boot handlers 2996 - Increased verbosity of debug prints for RAS SErrors 2997 - Support for powering down CPUs during CPU suspend has been removed 2998 - Now verifies firewall settings before using resources 2999 - TI K3 3000 - The UART number has been made configurable through `K3_USART` 3001 - Rockchip RK3368 3002 - The maximum number of memory map regions has been increased to 20 3003 - Socionext Uniphier 3004 - The maximum size of BL33 has been increased to support larger bootloaders 3005 - STM32 3006 - Removed platform-specific DT functions in favour of using existing generic 3007 alternatives 3008 - STM32MP1 3009 - Increased verbosity of exception reports in debug builds 3010 - Device trees have been updated to align with the Linux kernel 3011 - Now uses the ETZPC driver to configure secure-aware interfaces for 3012 assignment to the non-secure world 3013 - Finished good variants have been added to the board identifier 3014 enumerations 3015 - Non-secure access to clocks and reset domains now depends on their state 3016 of registration 3017 - NEON is now disabled in `SP_MIN` 3018 - The last page of `SYSRAM` is now used as SCMI shared memory 3019 - Checks to verify platform compatibility have been added to verify that an 3020 image is compatible with the chip ID of the running platform 3021 - QEMU SBSA 3022 - Removed support for Arm's Cortex-A53 3023- Services 3024 - Renamed SPCI to FF-A 3025 - SPMD 3026 - No longer forwards requests to the non-secure world when retrieving 3027 partition information 3028 - SPMC manifest size is now retrieved directly from SPMD instead of the 3029 device tree 3030 - The FF-A version handler now returns SPMD's version when the origin of the 3031 call is secure, and SPMC's version when the origin of the call is 3032 non-secure 3033 - SPMC 3034 - Updated the manifest to declare CPU nodes in descending order as per the 3035 SPM (Hafnium) multicore requirement 3036 - Updated the device tree to mark 2GB as device memory for the first 3037 partition excluding trusted DRAM region (which is reserved for SPMC) 3038 - Increased the number of EC contexts to the maximum number of PEs as per 3039 the FF-A specification 3040- Tools 3041 - FIPTool 3042 - Now returns `0` on `help` and `help <command>` 3043 - Marvell DoImage 3044 - Updated Mbed TLS support to v2.8 3045 - SPTool 3046 - Now appends CertTool arguments 3047 3048### Resolved Issues 3049 3050- Bootloader images 3051 - Fixed compilation errors for dual-root Chains of Trust caused by symbol 3052 collision 3053 - BL31 3054 - Fixed compilation errors on platforms with fewer than 4 cores caused by 3055 initialization code exceeding the end of the stacks 3056 - Fixed compilation errors when building a position-independent image 3057- Build System 3058 - Fixed invalid empty version strings 3059 - Fixed compilation errors on Windows caused by a non-portable architecture 3060 revision comparison 3061- Drivers 3062 - Arm GIC 3063 - Fixed spurious interrupts caused by a missing barrier 3064 - STM32 Flexible Memory Controller 2 (FMC2) NAND driver 3065 - Fixed runtime instability caused by incorrect error detection logic 3066 - STM32MP1 Clock driver 3067 - Fixed incorrectly-formatted log messages 3068 - Fixed runtime instability caused by improper clock gating procedures 3069 - STMicroelectronics Raw NAND driver 3070 - Fixed runtime instability caused by incorrect unit conversion when waiting 3071 for NAND readiness 3072- Libraries 3073 - AMU 3074 - Fixed timeout errors caused by excess error logging 3075 - EL3 Runtime 3076 - Fixed runtime instability caused by improper register save/restore routine 3077 in EL2 3078 - FCONF 3079 - Fixed failure to initialize GICv3 caused by overly-strict device tree 3080 requirements 3081 - Measured Boot 3082 - Fixed driver errors caused by a missing default value for the `HASH_ALG` 3083 build option 3084 - SPE 3085 - Fixed feature detection check that prevented CPUs supporting SVE from 3086 detecting support for SPE in the non-secure world 3087 - Translation Tables 3088 - Fixed various MISRA-C 2012 static analysis violations 3089- Platforms 3090 - Allwinner A64 3091 - Fixed USB issues on certain battery-powered device caused by improperly 3092 activated USB power rail 3093 - Arm 3094 - Fixed compilation errors caused by increase in BL2 size 3095 - Fixed compilation errors caused by missing Makefile dependencies to 3096 generated files when building the FIP 3097 - Fixed MISRA-C 2012 static analysis violations caused by unused structures 3098 in include directives intended to be feature-gated 3099 - Arm FPGA 3100 - Fixed initialization issues caused by incorrect MPIDR topology mapping 3101 logic 3102 - Arm RD-N1-edge 3103 - Fixed compilation errors caused by mismatched parentheses in Makefile 3104 - Arm SGI 3105 - Fixed crashes due to the flash memory used for cold reboot attack 3106 protection not being mapped 3107 - Intel Agilex 3108 - Fixed initialization issues caused by several compounding bugs 3109 - Marvell 3110 - Fixed compilation warnings caused by multiple Makefile inclusions 3111 - Marvell ARMADA A3K 3112 - Fixed boot issue in debug builds caused by checks on the BL33 load address 3113 that are not appropriate for this platform 3114 - Nvidia Tegra 3115 - Fixed incorrect delay timer reads 3116 - Fixed spurious interrupts in the non-secure world during cold boot caused 3117 by the arbitration bit in the memory controller not being cleared 3118 - Fixed faulty video memory resize sequence 3119 - Nvidia Tegra194 3120 - Fixed incorrect alignment of TZDRAM base address 3121 - NXP iMX8M 3122 - Fixed CPU hot-plug issues caused by race condition 3123 - STM32MP1 3124 - Fixed compilation errors in highly-parallel builds caused by incorrect 3125 Makefile dependencies 3126 - STM32MP157C-ED1 3127 - Fixed initialization issues caused by missing device tree hash node 3128 - Raspberry Pi 3 3129 - Fixed compilation errors caused by incorrect dependency ordering in 3130 Makefile 3131 - Rockchip 3132 - Fixed initialization issues caused by non-critical errors when parsing FDT 3133 being treated as critical 3134 - Rockchip RK3368 3135 - Fixed runtime instability caused by incorrect CPUID shift value 3136 - QEMU 3137 - Fixed compilation errors caused by incorrect dependency ordering in 3138 Makefile 3139 - QEMU SBSA 3140 - Fixed initialization issues caused by FDT exceeding reserved memory size 3141 - QTI 3142 - Fixed compilation errors caused by inclusion of a non-existent file 3143- Services 3144 - FF-A (previously SPCI) 3145 - Fixed SPMD aborts caused by incorrect behaviour when the manifest is 3146 page-aligned 3147- Tools 3148 - Fixed compilation issues when compiling tools from within their respective 3149 directories 3150 - FIPTool 3151 - Fixed command line parsing issues on Windows when using arguments whose 3152 names also happen to be a subset of another's 3153 - Marvell DoImage 3154 - Fixed PKCS signature verification errors at boot on some platforms caused 3155 by generation of misaligned images 3156 3157### Known Issues 3158 3159- Platforms 3160 - NVIDIA Tegra 3161 - Signed comparison compiler warnings occurring in libfdt are currently 3162 being worked around by disabling the warning for the platform until the 3163 underlying issue is resolved in libfdt 3164 3165## [2.3.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.2..refs/tags/v2.3) (2020-04-20) 3166 3167### New Features 3168 3169- Arm Architecture 3170 - Add support for Armv8.4-SecEL2 extension through the SPCI defined SPMD/SPMC 3171 components. 3172 - Build option to support EL2 context save and restore in the secure world 3173 (CTX_INCLUDE_EL2_REGS). 3174 - Add support for SMCCC v1.2 (introducing the new SMCCC_ARCH_SOC_ID SMC). Note 3175 that the support is compliant, but the SVE registers save/restore will be 3176 done as part of future S-EL2/SPM development. 3177- BL-specific 3178 - Enhanced BL2 bootloader flow to load secure partitions based on firmware 3179 configuration data (fconf). 3180 - Changes necessary to support SEPARATE_NOBITS_REGION feature 3181 - TSP and BL2_AT_EL3: Add Position Independent Execution `PIE` support 3182- Build System 3183 - Add support for documentation build as a target in Makefile 3184 - Add `COT` build option to select the Chain of Trust to use when the Trusted 3185 Boot feature is enabled (default: `tbbr`). 3186 - Added creation and injection of secure partition packages into the FIP. 3187 - Build option to support SPMC component loading and run at S-EL1 or S-EL2 3188 (SPMD_SPM_AT_SEL2). 3189 - Enable MTE support 3190 - Enable Link Time Optimization in GCC 3191 - Enable -Wredundant-decls warning check 3192 - Makefile: Add support to optionally encrypt BL31 and BL32 3193 - Add support to pass the nt_fw_config DTB to OP-TEE. 3194 - Introduce per-BL `CPPFLAGS`, `ASFLAGS`, and `LDFLAGS` 3195 - build_macros: Add CREATE_SEQ function to generate sequence of numbers 3196- CPU Support 3197 - cortex-a57: Enable higher performance non-cacheable load forwarding 3198 - Hercules: Workaround for Errata 1688305 3199 - Klein: Support added for Klein CPU 3200 - Matterhorn: Support added for Matterhorn CPU 3201- Drivers 3202 - auth: Add `calc_hash` function for hash calculation. Used for authentication 3203 of images when measured boot is enabled. 3204 - cryptocell: Add authenticated decryption framework, and support for 3205 CryptoCell-713 and CryptoCell-712 RSA 3K 3206 - gic600: Add support for multichip configuration and Clayton 3207 - gicv3: Introduce makefile, Add extended PPI and SPI range, Add support for 3208 probing multiple GIC Redistributor frames 3209 - gicv4: Add GICv4 extension for GIC driver 3210 - io: Add an IO abstraction layer to load encrypted firmwares 3211 - mhu: Derive doorbell base address 3212 - mtd: Add SPI-NOR, SPI-NAND, SPI-MEM, and raw NAND framework 3213 - scmi: Allow use of multiple SCMI channels 3214 - scu: Add a driver for snoop control unit 3215- Libraries 3216 - coreboot: Add memory range parsing and use generic base address 3217 - compiler_rt: Import popcountdi2.c and popcountsi2.c files, aeabi_ldivmode.S 3218 file and dependencies 3219 - debugFS: Add DebugFS functionality 3220 - el3_runtime: Add support for enabling S-EL2 3221 - fconf: Add Firmware Configuration Framework (fconf) (experimental). 3222 - libc: Add memrchr function 3223 - locks: bakery: Use is_dcache_enabled() helper and add a DMB to the 3224 'read_cache_op' macro 3225 - psci: Add support to enable different personality of the same soc. 3226 - xlat_tables_v2: Add support to pass shareability attribute for normal memory 3227 region, use get_current_el_maybe_constant() in is_dcache_enabled(), 3228 read-only xlat tables for BL31 memory, and add enable_mmu() 3229- New Platforms Support 3230 - arm/arm_fpga: New platform support added for FPGA 3231 - arm/rddaniel: New platform support added for rd-daniel platform 3232 - brcm/stingray: New platform support added for Broadcom stingray platform 3233 - nvidia/tegra194: New platform support for Nvidia Tegra194 platform 3234- Platforms 3235 - allwinner: Implement PSCI system suspend using SCPI, add a msgbox driver for 3236 use with SCPI, and reserve and map space for the SCP firmware 3237 - allwinner: axp: Add AXP805 support 3238 - allwinner: power: Add DLDO4 power rail 3239 - amlogic: axg: Add a build flag when using ATOS as BL32 and support for the 3240 A113D (AXG) platform 3241 - arm/a5ds: Add ethernet node and L2 cache node in devicetree 3242 - arm/common: Add support for the new `dualroot` chain of trust 3243 - arm/common: Add support for SEPARATE_NOBITS_REGION 3244 - arm/common: Re-enable PIE when RESET_TO_BL31=1 3245 - arm/common: Allow boards to specify second DRAM Base address and to define 3246 PLAT_ARM_TZC_FILTERS 3247 - arm/corstone700: Add support for mhuv2 and stack protector 3248 - arm/fvp: Add support for fconf in BL31 and SP_MIN. Populate power domain 3249 descriptor dynamically by leveraging fconf APIs. 3250 - arm/fvp: Add Cactus/Ivy Secure Partition information and use two instances 3251 of Cactus at S-EL1 3252 - arm/fvp: Add support to run BL32 in TDRAM and BL31 in secure DRAM 3253 - arm/fvp: Add support for GICv4 extension and BL2 hash calculation in BL1 3254 - arm/n1sdp: Setup multichip gic routing table, update platform macros for 3255 dual-chip setup, introduce platform information SDS region, add support to 3256 update presence of External LLC, and enable the NEOVERSE_N1_EXTERNAL_LLC 3257 flag 3258 - arm/rdn1edge: Add support for dual-chip configuration and use CREATE_SEQ 3259 helper macro to compare chip count 3260 - arm/sgm: Always use SCMI for SGM platforms 3261 - arm/sgm775: Add support for dynamic config using fconf 3262 - arm/sgi: Add multi-chip mode parameter in HW_CONFIG dts, macros for remote 3263 chip device region, chip_id and multi_chip_mode to platform variant info, 3264 and introduce number of chips macro 3265 - brcm: Add BL2 and BL31 support common across Broadcom platforms 3266 - brcm: Add iproc SPI Nor flash support, spi driver, emmc driver, and support 3267 to retrieve plat_toc_flags 3268 - hisilicon: hikey960: Enable system power off callback 3269 - intel: Enable bridge access, SiP SMC secure register access, and uboot 3270 entrypoint support 3271 - intel: Implement platform specific system reset 2 3272 - intel: Introduce mailbox response length handling 3273 - imx: console: Use CONSOLE_T_BASE for UART base address and generic console_t 3274 data structure 3275 - imx8mm: Provide uart base as build option and add the support for opteed spd 3276 on imx8mq/imx8mm 3277 - imx8qx: Provide debug uart num as build 3278 - imx8qm: Apply clk/pinmux configuration for DEBUG_CONSOLE and provide debug 3279 uart num as build param 3280 - marvell: a8k: Implement platform specific power off and add support for 3281 loading MG CM3 images 3282 - mediatek: mt8183: Add Vmodem/Vcore DVS init level 3283 - qemu: Support optional encryption of BL31 and BL32 images and 3284 ARM_LINUX_KERNEL_AS_BL33 to pass FDT address 3285 - qemu: Define ARMV7_SUPPORTS_VFP 3286 - qemu: Implement PSCI_CPU_OFF and qemu_system_off via semihosting 3287 - renesas: rcar_gen3: Add new board revision for M3ULCB 3288 - rockchip: Enable workaround for erratum 855873, claim a macro to enable hdcp 3289 feature for DP, enable power domains of rk3399 before reset, add support for 3290 UART3 as serial output, and initialize reset and poweroff GPIOs with known 3291 invalid value 3292 - rpi: Implement PSCI CPU_OFF, use MMIO accessor, autodetect Mini-UART vs. 3293 PL011 configuration, and allow using PL011 UART for RPi3/RPi4 3294 - rpi3: Include GPIO driver in all BL stages and use same "clock-less" setup 3295 scheme as RPi4 3296 - rpi3/4: Add support for offlining CPUs 3297 - st: stm32mp1: platform.mk: Support generating multiple images in one build, 3298 migrate to implicit rules, derive map file name from target name, generate 3299 linker script with fixed name, and use PHONY for the appropriate targets 3300 - st: stm32mp1: Add support for SPI-NOR, raw NAND, and SPI-NAND boot device, 3301 QSPI, FMC2 driver 3302 - st: stm32mp1: Use stm32mp_get_ddr_ns_size() function, set XN attribute for 3303 some areas in BL2, dynamically map DDR later and non-cacheable during its 3304 test, add a function to get non-secure DDR size, add DT helper for reg by 3305 name, and add compilation flags for boot devices 3306 - socionext: uniphier: Turn on ENABLE_PIE 3307 - ti: k3: Add PIE support 3308 - xilinx: versal: Add set wakeup source, client wakeup, query data, request 3309 wakeup, PM_INIT_FINALIZE, PM_GET_TRUSTZONE_VERSION, PM IOCTL, support for 3310 suspend related, and Get_ChipID APIs 3311 - xilinx: versal: Implement power down/restart related EEMI, SMC handler for 3312 EEMI, PLL related PM, clock related PM, pin control related PM, reset 3313 related PM, device related PM , APIs 3314 - xilinx: versal: Enable ipi mailbox service 3315 - xilinx: versal: Add get_api_version support and support to send PM API to 3316 PMC using IPI 3317 - xilinx: zynqmp: Add checksum support for IPI data, GET_CALLBACK_DATA 3318 function, support to query max divisor, CLK_SET_RATE_PARENT in gem clock 3319 node, support for custom type flags, LPD WDT clock to the pm_clock 3320 structure, idcodes for new RFSoC silicons ZU48DR and ZU49DR, and id for new 3321 RFSoC device ZU39DR 3322- Security 3323 - Use Speculation Barrier instruction for v8.5+ cores 3324 - Add support for optional firmware encryption feature (experimental). 3325 - Introduce a new `dualroot` chain of trust. 3326 - aarch64: Prevent speculative execution past ERET 3327 - aarch32: Stop speculative execution past exception returns. 3328- SPCI 3329 - Introduced the Secure Partition Manager Dispatcher (SPMD) component as a new 3330 standard service. 3331- Tools 3332 - cert_create: Introduce CoT build option and TBBR CoT makefile, and define 3333 the dualroot CoT 3334 - encrypt_fw: Add firmware authenticated encryption tool 3335 - memory: Add show_memory script that prints a representation of the memory 3336 layout for the latest build 3337 3338### Changed 3339 3340- Arm Architecture 3341 - PIE: Make call to GDT relocation fixup generalized 3342- BL-Specific 3343 - Increase maximum size of BL2 image 3344 - BL31: Discard .dynsym .dynstr .hash sections to make ENABLE_PIE work 3345 - BL31: Split into two separate memory regions 3346 - Unify BL linker scripts and reduce code duplication. 3347- Build System 3348 - Changes to drive cert_create for dualroot CoT 3349 - Enable -Wlogical-op always 3350 - Enable -Wshadow always 3351 - Refactor the warning flags 3352 - PIE: Pass PIE options only to BL31 3353 - Reduce space lost to object alignment 3354 - Set lld as the default linker for Clang builds 3355 - Remove -Wunused-const-variable and -Wpadded warning 3356 - Remove -Wmissing-declarations warning from WARNING1 level 3357- Drivers 3358 - authentication: Necessary fix in drivers to upgrade to mbedtls-2.18.0 3359 - console: Integrate UART base address in generic console_t 3360 - gicv3: Change API for GICR_IPRIORITYR accessors and separate GICD and GICR 3361 accessor functions 3362 - io: Change seek offset to signed long long and panic in case of io setup 3363 failure 3364 - smmu: SMMUv3: Changed retry loop to delay timer 3365 - tbbr: Reduce size of hash and ECDSA key buffers when possible 3366- Library Code 3367 - libc: Consolidate the size_t, unified, and NULL definitions, and unify 3368 intmax_t and uintmax_t on AArch32/64 3369 - ROMLIB: Optimize memory layout when ROMLIB is used 3370 - xlat_tables_v2: Use ARRAY_SIZE in REGISTER_XLAT_CONTEXT_FULL_SPEC, merge 3371 REGISTER_XLAT_CONTEXT\_{FULL_SPEC,RO_BASE_TABLE}, and simplify end address 3372 checks in mmap_add_region_check() 3373- Platforms 3374 - allwinner: Adjust SRAM A2 base to include the ARISC vectors, clean up MMU 3375 setup, reenable USE_COHERENT_MEM, remove unused include path, move the 3376 NOBITS region to SRAM A1, convert AXP803 regulator setup code into a driver, 3377 enable clock before resetting I2C/RSB 3378 - allwinner: h6: power: Switch to using the AXP driver 3379 - allwinner: a64: power: Use fdt_for_each_subnode, remove obsolete register 3380 check, remove duplicate DT check, and make sunxi_turn_off_soc static 3381 - allwinner: Build PMIC bus drivers only in BL31, clean up PMIC-related error 3382 handling, and synchronize PMIC enumerations 3383 - arm/a5ds: Change boot address to point to DDR address 3384 - arm/common: Check for out-of-bound accesses in the platform io policies 3385 - arm/corstone700: Updating the kernel arguments to support initramfs, use 3386 fdts DDR memory and XIP rootfs, and set UART clocks to 32MHz 3387 - arm/fvp: Modify multithreaded dts file of DynamIQ FVPs, slightly bump the 3388 stack size for bl1 and bl2, remove re-definition of topology related build 3389 options, stop reclaiming init code with Clang builds, and map only the 3390 needed DRAM region statically in BL31/SP_MIN 3391 - arm/juno: Maximize space allocated to SCP_BL2 3392 - arm/sgi: Bump bl1 RW limit, mark remote chip shared ram as non-cacheable, 3393 move GIC related constants to board files, include AFF3 affinity in core 3394 position calculation, move bl31_platform_setup to board file, and move 3395 topology information to board folder 3396 - common: Refactor load_auth_image_internal(). 3397 - hisilicon: Remove uefi-tools in hikey and hikey960 documentation 3398 - intel: Modify non secure access function, BL31 address mapping, mailbox's 3399 get_config_status, and stratix10 BL31 parameter handling 3400 - intel: Remove un-needed checks for qspi driver r/w and s10 unused source 3401 code 3402 - intel: Change all global sip function to static 3403 - intel: Refactor common platform code 3404 - intel: Create SiP service header file 3405 - marvell: armada: scp_bl2: Allow loading up to 8 images 3406 - marvell: comphy-a3700: Support SGMII COMPHY power off and fix USB3 powering 3407 on when on lane 2 3408 - marvell: Consolidate console register calls 3409 - mediatek: mt8183: Protect 4GB~8GB dram memory, refine GIC driver for low 3410 power scenarios, and switch PLL/CLKSQ/ck_off/axi_26m control to SPM 3411 - qemu: Update flash address map to keep FIP in secure FLASH0 3412 - renesas: rcar_gen3: Update IPL and Secure Monitor Rev.2.0.6, update DDR 3413 setting for H3, M3, M3N, change fixed destination address of BL31 and BL32, 3414 add missing #{address,size}-cells into generated DT, pass DT to OpTee OS, 3415 and move DDR drivers out of staging 3416 - rockchip: Make miniloader ddr_parameter handling optional, cleanup securing 3417 of ddr regions, move secure init to separate file, use base+size for secure 3418 ddr regions, bring TZRAM_SIZE values in lined, and prevent macro expansion 3419 in paths 3420 - rpi: Move plat_helpers.S to common 3421 - rpi3: gpio: Simplify GPIO setup 3422 - rpi4: Skip UART initialisation 3423 - st: stm32m1: Use generic console_t data structure, remove second QSPI flash 3424 instance, update for FMC2 pin muxing, and reduce MAX_XLAT_TABLES to 4 3425 - socionext: uniphier: Make on-chip SRAM and I/O register regions configurable 3426 - socionext: uniphier: Make PSCI related, counter control, UART, pinmon, NAND 3427 controller, and eMMC controller base addresses configurable 3428 - socionext: uniphier: Change block_addressing flag and the return value type 3429 of .is_usb_boot() to bool 3430 - socionext: uniphier: Run BL33 at EL2, call uniphier_scp_is_running() only 3431 when on-chip STM is supported, define PLAT_XLAT_TABLES_DYNAMIC only for BL2, 3432 support read-only xlat tables, use enable_mmu() in common function, shrink 3433 UNIPHIER_ROM_REGION_SIZE, prepare uniphier_soc_info() for next SoC, extend 3434 boot device detection for future SoCs, make all BL images completely 3435 position-independent, make uniphier_mmap_setup() work with PIE, pass SCP 3436 base address as a function parameter, set buffer offset and length for 3437 io_block dynamically, and use more mmap_add_dynamic_region() for loading 3438 images 3439 - spd/trusty: Disable error messages seen during boot, allow gic base to be 3440 specified with GICD_BASE, and allow getting trusty memsize from 3441 BL32_MEM_SIZE instead of TSP_SEC_MEM_SIZE 3442 - ti: k3: common: Enable ARM cluster power down and rename device IDs to be 3443 more consistent 3444 - ti: k3: drivers: ti_sci: Put sequence number in coherent memory and remove 3445 indirect structure of const data 3446 - xilinx: Move ipi mailbox svc to xilinx common 3447 - xilinx: zynqmp: Use GIC framework for warm restart 3448 - xilinx: zynqmp: pm: Move custom clock flags to typeflags, remove 3449 CLK_TOPSW_LSBUS from invalid clock list and rename FPD WDT clock ID 3450 - xilinx: versal: Increase OCM memory size for DEBUG builds and adjust cpu 3451 clock, Move versal_def.h and versal_private to include directory 3452- Tools 3453 - sptool: Updated sptool to accommodate building secure partition packages. 3454 3455### Resolved Issues 3456 3457- Arm Architecture 3458 - Fix crash dump for lower EL 3459- BL-Specific 3460 - Bug fix: Protect TSP prints with lock 3461 - Fix boot failures on some builds linked with ld.lld. 3462- Build System 3463 - Fix clang build if CC is not in the path. 3464 - Fix 'BL stage' comment for build macros 3465- Code Quality 3466 - coverity: Fix various MISRA violations including null pointer violations, C 3467 issues in BL1/BL2/BL31 and FDT helper functions, using boolean essential, 3468 type, and removing unnecessary header file and comparisons to LONG_MAX in 3469 debugfs devfip 3470 - Based on coding guidelines, replace all `unsigned long` depending on if 3471 fixed based on AArch32 or AArch64. 3472 - Unify type of "cpu_idx" and Platform specific defines across PSCI module. 3473- Drivers 3474 - auth: Necessary fix in drivers to upgrade to mbedtls-2.18.0 3475 - delay_timer: Fix non-standard frequency issue in udelay 3476 - gicv3: Fix compiler dependent behavior 3477 - gic600: Fix include ordering according to the coding style and power up 3478 sequence 3479- Library Code 3480 - el3_runtime: Fix stack pointer maintenance on EA handling path, fixup 3481 'cm_setup_context' prototype, and adds TPIDR_EL2 register to the context 3482 save restore routines 3483 - libc: Fix SIZE_MAX on AArch32 3484 - locks: T589: Fix insufficient ordering guarantees in bakery lock 3485 - pmf: Fix 'tautological-constant-compare' error, Make the runtime 3486 instrumentation work on AArch32, and Simplify PMF helper macro definitions 3487 across header files 3488 - xlat_tables_v2: Fix assembler warning of PLAT_RO_XLAT_TABLES 3489- Platforms 3490 - allwinner: Fix H6 GPIO and CCU memory map addresses and incorrect ARISC code 3491 patch offset check 3492 - arm/a5ds: Correct system freq and Cache Writeback Granule, and cleanup 3493 enable-method in devicetree 3494 - arm/fvp: Fix incorrect GIC mapping, BL31 load address and image size for 3495 RESET_TO_BL31=1, topology description of cpus for DynamIQ based FVP, and 3496 multithreaded FVP power domain tree 3497 - arm/fvp: spm-mm: Correcting instructions to build SPM for FVP 3498 - arm/common: Fix ROTPK hash generation for ECDSA encryption, BL2 bug in 3499 dynamic configuration initialisation, and current RECLAIM_INIT_CODE behavior 3500 - arm/rde1edge: Fix incorrect topology tree description 3501 - arm/sgi: Fix the incorrect check for SCMI channel ID 3502 - common: Flush dcache when storing timestamp 3503 - intel: Fix UEFI decompression issue, memory calibration, SMC SIP service, 3504 mailbox config return status, mailbox driver logic, FPGA manager on 3505 reconfiguration, and mailbox send_cmd issue 3506 - imx: Fix shift-overflow errors, the rdc memory region slot's offset, 3507 multiple definition of ipc_handle, missing inclusion of cdefs.h, and correct 3508 the SGIs that used for secure interrupt 3509 - mediatek: mt8183: Fix AARCH64 init fail on CPU0 3510 - rockchip: Fix definition of struct param_ddr_usage 3511 - rpi4: Fix documentation of armstub config entry 3512 - st: Correct io possible NULL pointer dereference and device_size type, nand 3513 xor_ecc.val assigned value, static analysis tool issues, and fix incorrect 3514 return value and correctly check pwr-regulators node 3515 - xilinx: zynqmp: Correct syscnt freq for QEMU and fix clock models and IDs of 3516 GEM-related clocks 3517 3518### Known Issues 3519 3520- Build System 3521 - dtb: DTB creation not supported when building on a Windows host. 3522 3523 This step in the build process is skipped when running on a Windows host. A 3524 known issue from the 1.6 release. 3525 3526 - Intermittent assertion firing `ASSERT: services/spd/tspd/tspd_main.c:105` 3527- Coverity 3528 - Intermittent Race condition in Coverity Jenkins Build Job 3529- Platforms 3530 - arm/juno: System suspend from Linux does not function as documented in the 3531 user guide 3532 3533 Following the instructions provided in the user guide document does not 3534 result in the platform entering system suspend state as expected. A message 3535 relating to the hdlcd driver failing to suspend will be emitted on the Linux 3536 terminal. 3537 3538 - mediatek/mt6795: This platform does not build in this release 3539 3540## [2.2.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.1..refs/tags/v2.2) (2019-10-22) 3541 3542### New Features 3543 3544- Architecture 3545 - Enable Pointer Authentication (PAuth) support for Secure World 3546 3547 - Adds support for ARMv8.3-PAuth in BL1 SMC calls and BL2U image for 3548 firmware updates. 3549 3550 - Enable Memory Tagging Extension (MTE) support in both secure and non-secure 3551 worlds 3552 3553 - Adds support for the new Memory Tagging Extension arriving in ARMv8.5. MTE 3554 support is now enabled by default on systems that support it at EL0. 3555 - To enable it at ELx for both the non-secure and the secure world, the 3556 compiler flag `CTX_INCLUDE_MTE_REGS` includes register saving and 3557 restoring when necessary in order to prevent information leakage between 3558 the worlds. 3559 3560 - Add support for Branch Target Identification (BTI) 3561- Build System 3562 - Modify FVP makefile for CPUs that support both AArch64/32 3563 - AArch32: Allow compiling with soft-float toolchain 3564 - Makefile: Add default warning flags 3565 - Add Makefile check for PAuth and AArch64 3566 - Add compile-time errors for HW_ASSISTED_COHERENCY flag 3567 - Apply compile-time check for AArch64-only CPUs 3568 - build_macros: Add mechanism to prevent bin generation. 3569 - Add support for default stack-protector flag 3570 - spd: opteed: Enable NS_TIMER_SWITCH 3571 - plat/arm: Skip BL2U if RESET_TO_SP_MIN flag is set 3572 - Add new build option to let each platform select which implementation of 3573 spinlocks it wants to use 3574- CPU Support 3575 - DSU: Workaround for erratum 798953 and 936184 3576 - Neoverse N1: Force cacheable atomic to near atomic 3577 - Neoverse N1: Workaround for erratum 1073348, 1130799, 1165347, 1207823, 3578 1220197, 1257314, 1262606, 1262888, 1275112, 1315703, 1542419 3579 - Neoverse Zeus: Apply the MSR SSBS instruction 3580 - cortex-Hercules/HerculesAE: Support added for Cortex-Hercules and 3581 Cortex-HerculesAE CPUs 3582 - cortex-Hercules/HerculesAE: Enable AMU for Cortex-Hercules and 3583 Cortex-HerculesAE 3584 - cortex-a76AE: Support added for Cortex-A76AE CPU 3585 - cortex-a76: Workaround for erratum 1257314, 1262606, 1262888, 1275112, 3586 1286807 3587 - cortex-a65/a65AE: Support added for Cortex-A65 and Cortex-A65AE CPUs 3588 - cortex-a65: Enable AMU for Cortex-A65 3589 - cortex-a55: Workaround for erratum 1221012 3590 - cortex-a35: Workaround for erratum 855472 3591 - cortex-a9: Workaround for erratum 794073 3592- Drivers 3593 - console: Allow the console to register multiple times 3594 3595 - delay: Timeout detection support 3596 3597 - gicv3: Enabled multi-socket GIC redistributor frame discovery and migrated 3598 ARM platforms to the new API 3599 3600 - Adds `gicv3_rdistif_probe` function that delegates the responsibility of 3601 discovering the corresponding redistributor base frame to each CPU itself. 3602 3603 - sbsa: Add SBSA watchdog driver 3604 3605 - st/stm32_hash: Add HASH driver 3606 3607 - ti/uart: Add an AArch32 variant 3608- Library at ROM (romlib) 3609 - Introduce BTI support in Library at ROM (romlib) 3610- New Platforms Support 3611 - amlogic: g12a: New platform support added for the S905X2 (G12A) platform 3612 - amlogic: meson/gxl: New platform support added for Amlogic Meson S905x (GXL) 3613 - arm/a5ds: New platform support added for A5 DesignStart 3614 - arm/corstone: New platform support added for Corstone-700 3615 - intel: New platform support added for Agilex 3616 - mediatek: New platform support added for MediaTek mt8183 3617 - qemu/qemu_sbsa: New platform support added for QEMU SBSA platform 3618 - renesas/rcar_gen3: plat: New platform support added for D3 3619 - rockchip: New platform support added for px30 3620 - rockchip: New platform support added for rk3288 3621 - rpi: New platform support added for Raspberry Pi 4 3622- Platforms 3623 - arm/common: Introduce wrapper functions to setup secure watchdog 3624 - arm/fvp: Add Delay Timer driver to BL1 and BL31 and option for defining 3625 platform DRAM2 base 3626 - arm/fvp: Add Linux DTS files for 32 bit threaded FVPs 3627 - arm/n1sdp: Add code for DDR ECC enablement and BL33 copy to DDR, Initialise 3628 CNTFRQ in Non Secure CNTBaseN 3629 - arm/juno: Use shared mbedtls heap between BL1 and BL2 and add basic support 3630 for dynamic config 3631 - imx: Basic support for PicoPi iMX7D, rdc module init, caam module init, 3632 aipstz init, IMX_SIP_GET_SOC_INFO, IMX_SIP_BUILDINFO added 3633 - intel: Add ncore ccu driver 3634 - mediatek/mt81\*: Use new bl31_params_parse() helper 3635 - nvidia: tegra: Add support for multi console interface 3636 - qemu/qemu_sbsa: Adding memory mapping for both FLASH0/FLASH1 3637 - qemu: Added gicv3 support, new console interface in AArch32, and 3638 sub-platforms 3639 - renesas/rcar_gen3: plat: Add R-Car V3M support, new board revision for 3640 H3ULCB, DBSC4 setting before self-refresh mode 3641 - socionext/uniphier: Support console based on multi-console 3642 - st: stm32mp1: Add OP-TEE, Avenger96, watchdog, LpDDR3, authentication 3643 support and general SYSCFG management 3644 - ti/k3: common: Add support for J721E, Use coherent memory for shared data, 3645 Trap all asynchronous bus errors to EL3 3646 - xilinx/zynqmp: Add support for multi console interface, Initialize IPI table 3647 from zynqmp_config_setup() 3648- PSCI 3649 - Adding new optional PSCI hook `pwr_domain_on_finish_late` 3650 - This PSCI hook `pwr_domain_on_finish_late` is similar to 3651 `pwr_domain_on_finish` but is guaranteed to be invoked when the respective 3652 core and cluster are participating in coherency. 3653- Security 3654 - Speculative Store Bypass Safe (SSBS): Further enhance protection against 3655 Spectre variant 4 by disabling speculative loads/stores (SPSR.SSBS bit) by 3656 default. 3657 - UBSAN support and handlers 3658 - Adds support for the Undefined Behaviour sanitizer. There are two types of 3659 support offered - minimalistic trapping support which essentially 3660 immediately crashes on undefined behaviour and full support with full 3661 debug messages. 3662- Tools 3663 - cert_create: Add support for bigger RSA key sizes (3KB and 4KB), previously 3664 the maximum size was 2KB. 3665 - fiptool: Add support to build fiptool on Windows. 3666 3667### Changed 3668 3669- Architecture 3670 - Refactor ARMv8.3 Pointer Authentication support code 3671 - backtrace: Strip PAC field when PAUTH is enabled 3672 - Prettify crash reporting output on AArch64. 3673 - Rework smc_unknown return code path in smc_handler 3674 - Leverage the existing `el3_exit()` return routine for smc_unknown return 3675 path rather than a custom set of instructions. 3676- BL-Specific 3677 - Invalidate dcache build option for BL2 entry at EL3 3678 - Add missing support for BL2_AT_EL3 in XIP memory 3679- Boot Flow 3680 - Add helper to parse BL31 parameters (both versions) 3681 - Factor out cross-BL API into export headers suitable for 3rd party code 3682 - Introduce lightweight BL platform parameter library 3683- Drivers 3684 - auth: Memory optimization for Chain of Trust (CoT) description 3685 - bsec: Move bsec_mode_is_closed_device() service to platform 3686 - cryptocell: Move Cryptocell specific API into driver 3687 - gicv3: Prevent pending G1S interrupt from becoming G0 interrupt 3688 - mbedtls: Remove weak heap implementation 3689 - mmc: Increase delay between ACMD41 retries 3690 - mmc: stm32_sdmmc2: Correctly manage block size 3691 - mmc: stm32_sdmmc2: Manage max-frequency property from DT 3692 - synopsys/emmc: Do not change FIFO TH as this breaks some platforms 3693 - synopsys: Update synopsys drivers to not rely on undefined overflow 3694 behaviour 3695 - ufs: Extend the delay after reset to wait for some slower chips 3696- Platforms 3697 - amlogic/meson/gxl: Remove BL2 dependency from BL31 3698 - arm/common: Shorten the Firmware Update (FWU) process 3699 - arm/fvp: Remove GIC initialisation from secondary core cold boot 3700 - arm/sgm: Temporarily disable shared Mbed TLS heap for SGM 3701 - hisilicon: Update hisilicon drivers to not rely on undefined overflow 3702 behaviour 3703 - imx: imx8: Replace PLAT_IMX8\* with PLAT_imx8\*, remove duplicated linker 3704 symbols and deprecated code include, keep only IRQ 32 unmasked, enable all 3705 power domain by default 3706 - marvell: Prevent SError accessing PCIe link, Switch to xlat_tables_v2, do 3707 not rely on argument passed via smc, make sure that comphy init will use 3708 correct address 3709 - mediatek: mt8173: Refactor RTC and PMIC drivers 3710 - mediatek: mt8173: Apply MULTI_CONSOLE framework 3711 - nvidia: Tegra: memctrl_v2: fix "overflow before widen" coverity issue 3712 - qemu: Simplify the image size calculation, Move and generalise FDT PSCI 3713 fixup, move gicv2 codes to separate file 3714 - renesas/rcar_gen3: Convert to multi-console API, update QoS setting, Update 3715 IPL and Secure Monitor Rev2.0.4, Change to restore timer counter value at 3716 resume, Update DDR setting rev.0.35, qos: change subslot cycle, Change 3717 periodic write DQ training option. 3718 - rockchip: Allow SOCs with undefined wfe check bits, Streamline and complete 3719 UARTn_BASE macros, drop rockchip-specific imported linker symbols for bl31, 3720 Disable binary generation for all SOCs, Allow console device to be set by 3721 DTB, Use new bl31_params_parse functions 3722 - rpi/rpi3: Move shared rpi3 files into common directory 3723 - socionext/uniphier: Set CONSOLE_FLAG_TRANSLATE_CRLF and clean up console 3724 driver 3725 - socionext/uniphier: Replace DIV_ROUND_UP() with div_round_up() from 3726 utils_def.h 3727 - st/stm32mp: Split stm32mp_io_setup function, move 3728 stm32_get_gpio_bank_clock() to private file, correctly handle Clock 3729 Spreading Generator, move oscillator functions to generic file, realign 3730 device tree files with internal devs, enable RTCAPB clock for dual-core 3731 chips, use a common function to check spinlock is available, move 3732 check_header() to common code 3733 - ti/k3: Enable SEPARATE_CODE_AND_RODATA by default, Remove shared RAM space, 3734 Drop \_ADDRESS from K3_USART_BASE to match other defines, Remove MSMC port 3735 definitions, Allow USE_COHERENT_MEM for K3, Set L2 latency on A72 cores 3736- PSCI 3737 - PSCI: Lookup list of parent nodes to lock only once 3738- Secure Partition Manager (SPM): SPCI Prototype 3739 - Fix service UUID lookup 3740 - Adjust size of virtual address space per partition 3741 - Refactor xlat context creation 3742 - Move shim layer to TTBR1_EL1 3743 - Ignore empty regions in resource description 3744- Security 3745 - Refactor SPSR initialisation code 3746 - SMMUv3: Abort DMA transactions 3747 - For security DMA should be blocked at the SMMU by default unless 3748 explicitly enabled for a device. SMMU is disabled after reset with all 3749 streams bypassing the SMMU, and abortion of all incoming transactions 3750 implements a default deny policy on reset. 3751 - Moves `bl1_platform_setup()` function from arm_bl1_setup.c to FVP 3752 platforms' fvp_bl1_setup.c and fvp_ve_bl1_setup.c files. 3753- Tools 3754 - cert_create: Remove RSA PKCS#1 v1.5 support 3755 3756### Resolved Issues 3757 3758- Architecture 3759 - Fix the CAS spinlock implementation by adding a missing DSB in 3760 `spin_unlock()` 3761 - AArch64: Fix SCTLR bit definitions 3762 - Removes incorrect `SCTLR_V_BIT` definition and adds definitions for 3763 ARMv8.3-Pauth `EnIB`, `EnDA` and `EnDB` bits. 3764 - Fix restoration of PAuth context 3765 - Replace call to `pauth_context_save()` with `pauth_context_restore()` in 3766 case of unknown SMC call. 3767- BL-Specific Issues 3768 - Fix BL31 crash reporting on AArch64 only platforms 3769- Build System 3770 - Remove several warnings reported with W=2 and W=1 3771- Code Quality Issues 3772 - SCTLR and ACTLR are 32-bit for AArch32 and 64-bit for AArch64 3773 - Unify type of "cpu_idx" across PSCI module. 3774 - Assert if power level value greater then PSCI_INVALID_PWR_LVL 3775 - Unsigned long should not be used as per coding guidelines 3776 - Reduce the number of memory leaks in cert_create 3777 - Fix type of cot_desc_ptr 3778 - Use explicit-width data types in AAPCS parameter structs 3779 - Add python configuration for editorconfig 3780 - BL1: Fix type consistency 3781 - Enable -Wshift-overflow=2 to check for undefined shift behavior 3782 - Updated upstream platforms to not rely on undefined overflow behaviour 3783- Coverity Quality Issues 3784 - Remove GGC ignore -Warray-bounds 3785 - Fix Coverity #261967, Infinite loop 3786 - Fix Coverity #343017, Missing unlock 3787 - Fix Coverity #343008, Side affect in assertion 3788 - Fix Coverity #342970, Uninitialized scalar variable 3789- CPU Support 3790 - cortex-a12: Fix MIDR mask 3791- Drivers 3792 - console: Remove Arm console unregister on suspend 3793 - gicv3: Fix support for full SPI range 3794 - scmi: Fix wrong payload length 3795- Library Code 3796 - libc: Fix sparse warning for \_\_assert() 3797 - libc: Fix memchr implementation 3798- Platforms 3799 - rpi: rpi3: Fix compilation error when stack protector is enabled 3800 - socionext/uniphier: Fix compilation fail for SPM support build config 3801 - st/stm32mp1: Fix TZC400 configuration against non-secure DDR 3802 - ti/k3: common: Fix RO data area size calculation 3803- Security 3804 - AArch32: Disable Secure Cycle Counter 3805 - Changes the implementation for disabling Secure Cycle Counter. For ARMv8.5 3806 the counter gets disabled by setting `SDCR.SCCD` bit on CPU cold/warm 3807 boot. For the earlier architectures PMCR register is saved/restored on 3808 secure world entry/exit from/to Non-secure state, and cycle counting gets 3809 disabled by setting PMCR.DP bit. 3810 - AArch64: Disable Secure Cycle Counter 3811 - For ARMv8.5 the counter gets disabled by setting `MDCR_El3.SCCD` bit on 3812 CPU cold/warm boot. For the earlier architectures PMCR_EL0 register is 3813 saved/restored on secure world entry/exit from/to Non-secure state, and 3814 cycle counting gets disabled by setting PMCR_EL0.DP bit. 3815 3816### Deprecations 3817 3818- Common Code 3819 - Remove MULTI_CONSOLE_API flag and references to it 3820 - Remove deprecated `plat_crash_console_*` 3821 - Remove deprecated interfaces `get_afflvl_shift`, `mpidr_mask_lower_afflvls`, 3822 `eret` 3823 - AARCH32/AARCH64 macros are now deprecated in favor of `__aarch64__` 3824 - `__ASSEMBLY__` macro is now deprecated in favor of `__ASSEMBLER__` 3825- Drivers 3826 - console: Removed legacy console API 3827 - console: Remove deprecated finish_console_register 3828 - tzc: Remove deprecated types `tzc_action_t` and `tzc_region_attributes_t` 3829- Secure Partition Manager (SPM): 3830 - Prototype SPCI-based SPM (services/std_svc/spm) will be replaced with 3831 alternative methods of secure partitioning support. 3832 3833### Known Issues 3834 3835- Build System Issues 3836 - dtb: DTB creation not supported when building on a Windows host. 3837 3838 This step in the build process is skipped when running on a Windows host. A 3839 known issue from the 1.6 release. 3840- Platform Issues 3841 - arm/juno: System suspend from Linux does not function as documented in the 3842 user guide 3843 3844 Following the instructions provided in the user guide document does not 3845 result in the platform entering system suspend state as expected. A message 3846 relating to the hdlcd driver failing to suspend will be emitted on the Linux 3847 terminal. 3848 3849 - mediatek/mt6795: This platform does not build in this release 3850 3851## [2.1.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.0..refs/tags/v2.1) (2019-03-29) 3852 3853### New Features 3854 3855- Architecture 3856 3857 - Support for ARMv8.3 pointer authentication in the normal and secure worlds 3858 3859 The use of pointer authentication in the normal world is enabled whenever 3860 architectural support is available, without the need for additional build 3861 flags. 3862 3863 Use of pointer authentication in the secure world remains an experimental 3864 configuration at this time. Using both the `ENABLE_PAUTH` and 3865 `CTX_INCLUDE_PAUTH_REGS` build flags, pointer authentication can be enabled 3866 in EL3 and S-EL1/0. 3867 3868 See the {ref}`Firmware Design` document for additional details on the use of 3869 pointer authentication. 3870 3871 - Enable Data Independent Timing (DIT) in EL3, where supported 3872 3873- Build System 3874 3875 - Support for BL-specific build flags 3876 3877 - Support setting compiler target architecture based on `ARM_ARCH_MINOR` build 3878 option. 3879 3880 - New `RECLAIM_INIT_CODE` build flag: 3881 3882 A significant amount of the code used for the initialization of BL31 is not 3883 needed again after boot time. In order to reduce the runtime memory 3884 footprint, the memory used for this code can be reclaimed after 3885 initialization. 3886 3887 Certain boot-time functions were marked with the `__init` attribute to 3888 enable this reclamation. 3889 3890- CPU Support 3891 3892 - cortex-a76: Workaround for erratum 1073348 3893 - cortex-a76: Workaround for erratum 1220197 3894 - cortex-a76: Workaround for erratum 1130799 3895 - cortex-a75: Workaround for erratum 790748 3896 - cortex-a75: Workaround for erratum 764081 3897 - cortex-a73: Workaround for erratum 852427 3898 - cortex-a73: Workaround for erratum 855423 3899 - cortex-a57: Workaround for erratum 817169 3900 - cortex-a57: Workaround for erratum 814670 3901 - cortex-a55: Workaround for erratum 903758 3902 - cortex-a55: Workaround for erratum 846532 3903 - cortex-a55: Workaround for erratum 798797 3904 - cortex-a55: Workaround for erratum 778703 3905 - cortex-a55: Workaround for erratum 768277 3906 - cortex-a53: Workaround for erratum 819472 3907 - cortex-a53: Workaround for erratum 824069 3908 - cortex-a53: Workaround for erratum 827319 3909 - cortex-a17: Workaround for erratum 852423 3910 - cortex-a17: Workaround for erratum 852421 3911 - cortex-a15: Workaround for erratum 816470 3912 - cortex-a15: Workaround for erratum 827671 3913 3914- Documentation 3915 3916 - Exception Handling Framework documentation 3917 - Library at ROM (romlib) documentation 3918 - RAS framework documentation 3919 - Coding Guidelines document 3920 3921- Drivers 3922 3923 - ccn: Add API for setting and reading node registers 3924 3925 - Adds `ccn_read_node_reg` function 3926 - Adds `ccn_write_node_reg` function 3927 3928 - partition: Support MBR partition entries 3929 3930 - scmi: Add `plat_css_get_scmi_info` function 3931 3932 Adds a new API `plat_css_get_scmi_info` which lets the platform register a 3933 platform-specific instance of `scmi_channel_plat_info_t` and remove the 3934 default values 3935 3936 - tzc380: Add TZC-380 TrustZone Controller driver 3937 3938 - tzc-dmc620: Add driver to manage the TrustZone Controller within the DMC-620 3939 Dynamic Memory Controller 3940 3941- Library at ROM (romlib) 3942 3943 - Add platform-specific jump table list 3944 3945 - Allow patching of romlib functions 3946 3947 This change allows patching of functions in the romlib. This can be done by 3948 adding "patch" at the end of the jump table entry for the function that 3949 needs to be patched in the file jmptbl.i. 3950 3951- Library Code 3952 3953 - Support non-LPAE-enabled MMU tables in AArch32 3954 - mmio: Add `mmio_clrsetbits_16` function 3955 - 16-bit variant of `mmio_clrsetbits` 3956 - object_pool: Add Object Pool Allocator 3957 - Manages object allocation using a fixed-size static array 3958 - Adds `pool_alloc` and `pool_alloc_n` functions 3959 - Does not provide any functions to free allocated objects (by design) 3960 - libc: Added `strlcpy` function 3961 - libc: Import `strrchr` function from FreeBSD 3962 - xlat_tables: Add support for ARMv8.4-TTST 3963 - xlat_tables: Support mapping regions without an explicitly specified VA 3964 3965- Math 3966 3967 - Added softudiv macro to support software division 3968 3969- Memory Partitioning And Monitoring (MPAM) 3970 3971 - Enabled MPAM EL2 traps (`MPAMHCR_EL2` and `MPAM_EL2`) 3972 3973- Platforms 3974 3975 - amlogic: Add support for Meson S905 (GXBB) 3976 3977 - arm/fvp_ve: Add support for FVP Versatile Express platform 3978 3979 - arm/n1sdp: Add support for Neoverse N1 System Development platform 3980 3981 - arm/rde1edge: Add support for Neoverse E1 platform 3982 3983 - arm/rdn1edge: Add support for Neoverse N1 platform 3984 3985 - arm: Add support for booting directly to Linux without an intermediate 3986 loader (AArch32) 3987 3988 - arm/juno: Enable new CPU errata workarounds for A53 and A57 3989 3990 - arm/juno: Add romlib support 3991 3992 Building a combined BL1 and ROMLIB binary file with the correct page 3993 alignment is now supported on the Juno platform. When `USE_ROMLIB` is set 3994 for Juno, it generates the combined file `bl1_romlib.bin` which needs to be 3995 used instead of bl1.bin. 3996 3997 - intel/stratix: Add support for Intel Stratix 10 SoC FPGA platform 3998 3999 - marvell: Add support for Armada-37xx SoC platform 4000 4001 - nxp: Add support for i.MX8M and i.MX7 Warp7 platforms 4002 4003 - renesas: Add support for R-Car Gen3 platform 4004 4005 - xilinx: Add support for Versal ACAP platforms 4006 4007- Position-Independent Executable (PIE) 4008 4009 PIE support has initially been added to BL31. The `ENABLE_PIE` build flag is 4010 used to enable or disable this functionality as required. 4011 4012- Secure Partition Manager 4013 4014 - New SPM implementation based on SPCI Alpha 1 draft specification 4015 4016 A new version of SPM has been implemented, based on the SPCI (Secure 4017 Partition Client Interface) and SPRT (Secure Partition Runtime) draft 4018 specifications. 4019 4020 The new implementation is a prototype that is expected to undergo intensive 4021 rework as the specifications change. It has basic support for multiple 4022 Secure Partitions and Resource Descriptions. 4023 4024 The older version of SPM, based on MM (ARM Management Mode Interface 4025 Specification), is still present in the codebase. A new build flag, `SPM_MM` 4026 has been added to allow selection of the desired implementation. This flag 4027 defaults to 1, selecting the MM-based implementation. 4028 4029- Security 4030 4031 - Spectre Variant-1 mitigations (`CVE-2017-5753`) 4032 4033 - Use Speculation Store Bypass Safe (SSBS) functionality where available 4034 4035 Provides mitigation against `CVE-2018-19440` (Not saving x0 to x3 registers 4036 can leak information from one Normal World SMC client to another) 4037 4038### Changed 4039 4040- Build System 4041 4042 - Warning levels are now selectable with `W=<1,2,3>` 4043 - Removed unneeded include paths in PLAT_INCLUDES 4044 - "Warnings as errors" (Werror) can be disabled using `E=0` 4045 - Support totally quiet output with `-s` flag 4046 - Support passing options to checkpatch using `CHECKPATCH_OPTS=<opts>` 4047 - Invoke host compiler with `HOSTCC / HOSTCCFLAGS` instead of `CC / CFLAGS` 4048 - Make device tree pre-processing similar to U-boot/Linux by: 4049 - Creating separate `CPPFLAGS` for DT preprocessing so that compiler options 4050 specific to it can be accommodated. 4051 - Replacing `CPP` with `PP` for DT pre-processing 4052 4053- CPU Support 4054 4055 - Errata report function definition is now mandatory for CPU support files 4056 4057 CPU operation files must now define a `<name>_errata_report` function to 4058 print errata status. This is no longer a weak reference. 4059 4060- Documentation 4061 4062 - Migrated some content from GitHub wiki to `docs/` directory 4063 - Security advisories now have CVE links 4064 - Updated copyright guidelines 4065 4066- Drivers 4067 4068 - console: The `MULTI_CONSOLE_API` framework has been rewritten in C 4069 4070 - console: Ported multi-console driver to AArch32 4071 4072 - gic: Remove 'lowest priority' constants 4073 4074 Removed `GIC_LOWEST_SEC_PRIORITY` and `GIC_LOWEST_NS_PRIORITY`. Platforms 4075 should define these if required, or instead determine the correct priority 4076 values at runtime. 4077 4078 - delay_timer: Check that the Generic Timer extension is present 4079 4080 - mmc: Increase command reply timeout to 10 milliseconds 4081 4082 - mmc: Poll eMMC device status to ensure `EXT_CSD` command completion 4083 4084 - mmc: Correctly check return code from `mmc_fill_device_info` 4085 4086- External Libraries 4087 4088 - libfdt: Upgraded from 1.4.2 to 1.4.6-9 4089 4090 > 4091 4092 - mbed TLS: Upgraded from 2.12 to 2.16 4093 4094 > 4095 4096 This change incorporates fixes for security issues that should be reviewed to 4097 determine if they are relevant for software implementations using Trusted 4098 Firmware-A. See the [mbed TLS releases] page for details on changes from the 4099 2.12 to the 2.16 release. 4100 4101- Library Code 4102 4103 - compiler-rt: Updated `lshrdi3.c` and `int_lib.h` with changes from LLVM 4104 master branch (r345645) 4105 - cpu: Updated macro that checks need for `CVE-2017-5715` mitigation 4106 - libc: Made setjmp and longjmp C standard compliant 4107 - libc: Allowed overriding the default libc (use `OVERRIDE_LIBC`) 4108 - libc: Moved setjmp and longjmp to the `libc/` directory 4109 4110- Platforms 4111 4112 - Removed Mbed TLS dependency from plat_bl_common.c 4113 4114 - arm: Removed unused `ARM_MAP_BL_ROMLIB` macro 4115 4116 - arm: Removed `ARM_BOARD_OPTIMISE_MEM` feature and build flag 4117 4118 - arm: Moved several components into `drivers/` directory 4119 4120 This affects the SDS, SCP, SCPI, MHU and SCMI components 4121 4122 - arm/juno: Increased maximum BL2 image size to `0xF000` 4123 4124 This change was required to accommodate a larger `libfdt` library 4125 4126- SCMI 4127 4128 - Optimized bakery locks when hardware-assisted coherency is enabled using the 4129 `HW_ASSISTED_COHERENCY` build flag 4130 4131- SDEI 4132 4133 - Added support for unconditionally resuming secure world execution after {{ 4134 SDEI }} event processing completes 4135 4136 {{ SDEI }} interrupts, although targeting EL3, occur on behalf of the 4137 non-secure world, and may have higher priority than secure world interrupts. 4138 Therefore they might preempt secure execution and yield execution to the 4139 non-secure {{ SDEI }} handler. Upon completion of {{ SDEI }} event handling, 4140 resume secure execution if it was preempted. 4141 4142- Translation Tables (XLAT) 4143 4144 - Dynamically detect need for `Common not Private (TTBRn_ELx.CnP)` bit 4145 4146 Properly handle the case where `ARMv8.2-TTCNP` is implemented in a CPU that 4147 does not implement all mandatory v8.2 features (and so must claim to 4148 implement a lower architecture version). 4149 4150### Resolved Issues 4151 4152- Architecture 4153 - Incorrect check for SSBS feature detection 4154 - Unintentional register clobber in AArch32 reset_handler function 4155- Build System 4156 - Dependency issue during DTB image build 4157 - Incorrect variable expansion in Arm platform makefiles 4158 - Building on Windows with verbose mode (`V=1`) enabled is broken 4159 - AArch32 compilation flags is missing `$(march32-directive)` 4160- BL-Specific Issues 4161 - bl2: `uintptr_t is not defined` error when `BL2_IN_XIP_MEM` is defined 4162 - bl2: Missing prototype warning in `bl2_arch_setup` 4163 - bl31: Omission of Global Offset Table (GOT) section 4164- Code Quality Issues 4165 - Multiple MISRA compliance issues 4166 - Potential NULL pointer dereference (Coverity-detected) 4167- Drivers 4168 - mmc: Local declaration of `scr` variable causes a cache issue when 4169 invalidating after the read DMA transfer completes 4170 - mmc: `ACMD41` does not send voltage information during initialization, 4171 resulting in the command being treated as a query. This prevents the command 4172 from initializing the controller. 4173 - mmc: When checking device state using `mmc_device_state()` there are no 4174 retries attempted in the event of an error 4175 - ccn: Incorrect Region ID calculation for RN-I nodes 4176 - console: `Fix MULTI_CONSOLE_API` when used as a crash console 4177 - partition: Improper NULL checking in gpt.c 4178 - partition: Compilation failure in `VERBOSE` mode (`V=1`) 4179- Library Code 4180 - common: Incorrect check for Address Authentication support 4181 4182 - xlat: Fix XLAT_V1 / XLAT_V2 incompatibility 4183 4184 The file `arm_xlat_tables.h` has been renamed to `xlat_tables_compat.h` and 4185 has been moved to a common folder. This header can be used to guarantee 4186 compatibility, as it includes the correct header based on 4187 `XLAT_TABLES_LIB_V2`. 4188 4189 - xlat: armclang unused-function warning on `xlat_clean_dcache_range` 4190 4191 - xlat: Invalid `mm_cursor` checks in `mmap_add` and `mmap_add_ctx` 4192 4193 - sdei: Missing `context.h` header 4194- Platforms 4195 - common: Missing prototype warning for `plat_log_get_prefix` 4196 4197 - arm: Insufficient maximum BL33 image size 4198 4199 - arm: Potential memory corruption during BL2-BL31 transition 4200 4201 On Arm platforms, the BL2 memory can be overlaid by BL31/BL32. The memory 4202 descriptors describing the list of executable images are created in BL2 R/W 4203 memory, which could be possibly corrupted later on by BL31/BL32 due to 4204 overlay. This patch creates a reserved location in SRAM for these 4205 descriptors and are copied over by BL2 before handing over to next BL image. 4206 4207 - juno: Invalid behaviour when `CSS_USE_SCMI_SDS_DRIVER` is not set 4208 4209 In `juno_pm.c` the `css_scmi_override_pm_ops` function was used regardless 4210 of whether the build flag was set. The original behaviour has been restored 4211 in the case where the build flag is not set. 4212- Tools 4213 - fiptool: Incorrect UUID parsing of blob parameters 4214 - doimage: Incorrect object rules in Makefile 4215 4216### Deprecations 4217 4218- Common Code 4219 - `plat_crash_console_init` function 4220 - `plat_crash_console_putc` function 4221 - `plat_crash_console_flush` function 4222 - `finish_console_register` macro 4223- AArch64-specific Code 4224 - helpers: `get_afflvl_shift` 4225 - helpers: `mpidr_mask_lower_afflvls` 4226 - helpers: `eret` 4227- Secure Partition Manager (SPM) 4228 - Boot-info structure 4229 4230### Known Issues 4231 4232- Build System Issues 4233 - dtb: DTB creation not supported when building on a Windows host. 4234 4235 This step in the build process is skipped when running on a Windows host. A 4236 known issue from the 1.6 release. 4237- Platform Issues 4238 - arm/juno: System suspend from Linux does not function as documented in the 4239 user guide 4240 4241 Following the instructions provided in the user guide document does not 4242 result in the platform entering system suspend state as expected. A message 4243 relating to the hdlcd driver failing to suspend will be emitted on the Linux 4244 terminal. 4245 4246 - arm/juno: The firmware update use-cases do not work with motherboard 4247 firmware version \< v1.5.0 (the reset reason is not preserved). The Linaro 4248 18.04 release has MB v1.4.9. The MB v1.5.0 is available in Linaro 18.10 4249 release. 4250 4251 - mediatek/mt6795: This platform does not build in this release 4252 4253## [2.0.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.6..refs/tags/v2.0) (2018-10-02) 4254 4255### New Features 4256 4257- Removal of a number of deprecated APIs 4258 4259 - A new Platform Compatibility Policy document has been created which 4260 references a wiki page that maintains a listing of deprecated interfaces and 4261 the release after which they will be removed. 4262 - All deprecated interfaces except the MULTI_CONSOLE_API have been removed 4263 from the code base. 4264 - Various Arm and partner platforms have been updated to remove the use of 4265 removed APIs in this release. 4266 - This release is otherwise unchanged from 1.6 release 4267 4268### Issues resolved since last release 4269 4270- No issues known at 1.6 release resolved in 2.0 release 4271 4272### Known Issues 4273 4274- DTB creation not supported when building on a Windows host. This step in the 4275 build process is skipped when running on a Windows host. Known issue from 1.6 4276 version. 4277- As a result of removal of deprecated interfaces the Nvidia Tegra, Marvell 4278 Armada 8K and MediaTek MT6795 platforms do not build in this release. Also 4279 MediaTek MT8173, NXP QorIQ LS1043A, NXP i.MX8QX, NXP i.MX8QMa, Rockchip 4280 RK3328, Rockchip RK3368 and Rockchip RK3399 platforms have not been confirmed 4281 to be working after the removal of the deprecated interfaces although they do 4282 build. 4283 4284## [1.6.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.5..refs/tags/v1.6) (2018-09-21) 4285 4286### New Features 4287 4288- Addressing Speculation Security Vulnerabilities 4289 4290 - Implement static workaround for CVE-2018-3639 for AArch32 and AArch64 4291 - Add support for dynamic mitigation for CVE-2018-3639 4292 - Implement dynamic mitigation for CVE-2018-3639 on Cortex-A76 4293 - Ensure {{ SDEI }} handler executes with CVE-2018-3639 mitigation enabled 4294 4295- Introduce RAS handling on AArch64 4296 4297 - Some RAS extensions are mandatory for Armv8.2 CPUs, with others mandatory 4298 for Armv8.4 CPUs however, all extensions are also optional extensions to the 4299 base Armv8.0 architecture. 4300 - The Armv8 RAS Extensions introduced Standard Error Records which are a set 4301 of standard registers to configure RAS node policy and allow RAS Nodes to 4302 record and expose error information for error handling agents. 4303 - Capabilities are provided to support RAS Node enumeration and iteration 4304 along with individual interrupt registrations and fault injections support. 4305 - Introduce handlers for Uncontainable errors, Double Faults and EL3 External 4306 Aborts 4307 4308- Enable Memory Partitioning And Monitoring (MPAM) for lower EL's 4309 4310 - Memory Partitioning And Monitoring is an Armv8.4 feature that enables 4311 various memory system components and resources to define partitions. 4312 Software running at various ELs can then assign themselves to the desired 4313 partition to control their performance aspects. 4314 - When ENABLE_MPAM_FOR_LOWER_ELS is set to 1, EL3 allows lower ELs to access 4315 their own MPAM registers without trapping to EL3. This patch however, 4316 doesn't make use of partitioning in EL3; platform initialisation code should 4317 configure and use partitions in EL3 if required. 4318 4319- Introduce ROM Lib Feature 4320 4321 - Support combining several libraries into a self-called "romlib" image, that 4322 may be shared across images to reduce memory footprint. The romlib image is 4323 stored in ROM but is accessed through a jump-table that may be stored in 4324 read-write memory, allowing for the library code to be patched. 4325 4326- Introduce Backtrace Feature 4327 4328 - This function displays the backtrace, the current EL and security state to 4329 allow a post-processing tool to choose the right binary to interpret the 4330 dump. 4331 - Print backtrace in assert() and panic() to the console. 4332 4333- Code hygiene changes and alignment with MISRA C-2012 guideline with fixes 4334 addressing issues complying to the following rules: 4335 4336 - 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, 4337 10.8, 11.3, 11.6, 12.1, 14.4, 15.7, 16.1-16.7, 17.7-17.8, 20.7, 20.10, 4338 20.12, 21.1, 21.15, 22.7 4339 - Clean up the usage of void pointers to access symbols 4340 - Increase usage of static qualifier to locally used functions and data 4341 - Migrated to use of u_register_t for register read/write to better match 4342 AArch32 and AArch64 type sizes 4343 - Use int-ll64 for both AArch32 and AArch64 to assist in consistent format 4344 strings between architectures 4345 - Clean up TF-A libc by removing non arm copyrighted implementations and 4346 replacing them with modified FreeBSD and SCC implementations 4347 4348- Various changes to support Clang linker and assembler 4349 4350 - The clang assembler/preprocessor is used when Clang is selected. However, 4351 the clang linker is not used because it is unable to link TF-A objects due 4352 to immaturity of clang linker functionality at this time. 4353 4354- Refactor support APIs into Libraries 4355 4356 - Evolve libfdt, mbed TLS library and standard C library sources as proper 4357 libraries that TF-A may be linked against. 4358 4359- CPU Enhancements 4360 4361 - Add CPU support for Cortex-Ares and Cortex-A76 4362 - Add AMU support for Cortex-Ares 4363 - Add initial CPU support for Cortex-Deimos 4364 - Add initial CPU support for Cortex-Helios 4365 - Implement dynamic mitigation for CVE-2018-3639 on Cortex-A76 4366 - Implement Cortex-Ares erratum 1043202 workaround 4367 - Implement DSU erratum 936184 workaround 4368 - Check presence of fix for errata 843419 in Cortex-A53 4369 - Check presence of fix for errata 835769 in Cortex-A53 4370 4371- Translation Tables Enhancements 4372 4373 - The xlat v2 library has been refactored in order to be reused by different 4374 TF components at different EL's including the addition of EL2. Some 4375 refactoring to make the code more generic and less specific to TF, in order 4376 to reuse the library outside of this project. 4377 4378- SPM Enhancements 4379 4380 - General cleanups and refactoring to pave the way to multiple partitions 4381 support 4382 4383- SDEI Enhancements 4384 4385 - Allow platforms to define explicit events 4386 - Determine client EL from NS context's SCR_EL3 4387 - Make dispatches synchronous 4388 - Introduce jump primitives for BL31 4389 - Mask events after CPU wakeup in {{ SDEI }} dispatcher to conform to the 4390 specification 4391 4392- Misc TF-A Core Common Code Enhancements 4393 4394 - Add support for eXecute In Place (XIP) memory in BL2 4395 - Add support for the SMC Calling Convention 2.0 4396 - Introduce External Abort handling on AArch64 External Abort routed to EL3 4397 was reported as an unhandled exception and caused a panic. This change 4398 enables Trusted Firmware-A to handle External Aborts routed to EL3. 4399 - Save value of ACTLR_EL1 implementation-defined register in the CPU context 4400 structure rather than forcing it to 0. 4401 - Introduce ARM_LINUX_KERNEL_AS_BL33 build option, which allows BL31 to 4402 directly jump to a Linux kernel. This makes for a quicker and simpler boot 4403 flow, which might be useful in some test environments. 4404 - Add dynamic configurations for BL31, BL32 and BL33 enabling support for 4405 Chain of Trust (COT). 4406 - Make TF UUID RFC 4122 compliant 4407 4408- New Platform Support 4409 4410 - Arm SGI-575 4411 - Arm SGM-775 4412 - Allwinner sun50i_64 4413 - Allwinner sun50i_h6 4414 - NXP QorIQ LS1043A 4415 - NXP i.MX8QX 4416 - NXP i.MX8QM 4417 - NXP i.MX7Solo WaRP7 4418 - TI K3 4419 - Socionext Synquacer SC2A11 4420 - Marvell Armada 8K 4421 - STMicroelectronics STM32MP1 4422 4423- Misc Generic Platform Common Code Enhancements 4424 4425 - Add MMC framework that supports both eMMC and SD card devices 4426 4427- Misc Arm Platform Common Code Enhancements 4428 4429 - Demonstrate PSCI MEM_PROTECT from el3_runtime 4430 - Provide RAS support 4431 - Migrate AArch64 port to the multi console driver. The old API is deprecated 4432 and will eventually be removed. 4433 - Move BL31 below BL2 to enable BL2 overlay resulting in changes in the layout 4434 of BL images in memory to enable more efficient use of available space. 4435 - Add cpp build processing for dtb that allows processing device tree with 4436 external includes. 4437 - Extend FIP io driver to support multiple FIP devices 4438 - Add support for SCMI AP core configuration protocol v1.0 4439 - Use SCMI AP core protocol to set the warm boot entrypoint 4440 - Add support to Mbed TLS drivers for shared heap among different BL images to 4441 help optimise memory usage 4442 - Enable non-secure access to UART1 through a build option to support a serial 4443 debug port for debugger connection 4444 4445- Enhancements for Arm Juno Platform 4446 4447 - Add support for TrustZone Media Protection 1 (TZMP1) 4448 4449- Enhancements for Arm FVP Platform 4450 4451 - Dynamic_config: remove the FVP dtb files 4452 - Set DYNAMIC_WORKAROUND_CVE_2018_3639=1 on FVP by default 4453 - Set the ability to dynamically disable Trusted Boot Board authentication to 4454 be off by default with DYN_DISABLE_AUTH 4455 - Add librom enhancement support in FVP 4456 - Support shared Mbed TLS heap between BL1 and BL2 that allow a reduction in 4457 BL2 size for FVP 4458 4459- Enhancements for Arm SGI/SGM Platform 4460 4461 - Enable ARM_PLAT_MT flag for SGI-575 4462 - Add dts files to enable support for dynamic config 4463 - Add RAS support 4464 - Support shared Mbed TLS heap for SGI and SGM between BL1 and BL2 4465 4466- Enhancements for Non Arm Platforms 4467 4468 - Raspberry Pi Platform 4469 - Hikey Platforms 4470 - Xilinx Platforms 4471 - QEMU Platform 4472 - Rockchip rk3399 Platform 4473 - TI Platforms 4474 - Socionext Platforms 4475 - Allwinner Platforms 4476 - NXP Platforms 4477 - NVIDIA Tegra Platform 4478 - Marvell Platforms 4479 - STMicroelectronics STM32MP1 Platform 4480 4481### Issues resolved since last release 4482 4483- No issues known at 1.5 release resolved in 1.6 release 4484 4485### Known Issues 4486 4487- DTB creation not supported when building on a Windows host. This step in the 4488 build process is skipped when running on a Windows host. Known issue from 1.5 4489 version. 4490 4491## [1.5.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.4..refs/tags/v1.5) (2018-03-20) 4492 4493### New features 4494 4495- Added new firmware support to enable RAS (Reliability, Availability, and 4496 Serviceability) functionality. 4497 4498 - Secure Partition Manager (SPM): A Secure Partition is a software execution 4499 environment instantiated in S-EL0 that can be used to implement simple 4500 management and security services. The SPM is the firmware component that is 4501 responsible for managing a Secure Partition. 4502 4503 - SDEI dispatcher: Support for interrupt-based {{ SDEI }} events and all 4504 interfaces as defined by the {{ SDEI }} specification v1.0, see 4505 [SDEI Specification] 4506 4507 - Exception Handling Framework (EHF): Framework that allows dispatching of EL3 4508 interrupts to their registered handlers which are registered based on their 4509 priorities. Facilitates firmware-first error handling policy where 4510 asynchronous exceptions may be routed to EL3. 4511 4512 Integrated the TSPD with EHF. 4513 4514- Updated PSCI support: 4515 4516 - Implemented PSCI v1.1 optional features `MEM_PROTECT` and `SYSTEM_RESET2`. 4517 The supported PSCI version was updated to v1.1. 4518 4519 - Improved PSCI STAT timestamp collection, including moving accounting for 4520 retention states to be inside the locks and fixing handling of wrap-around 4521 when calculating residency in AArch32 execution state. 4522 4523 - Added optional handler for early suspend that executes when suspending to a 4524 power-down state and with data caches enabled. 4525 4526 This may provide a performance improvement on platforms where it is safe to 4527 perform some or all of the platform actions from `pwr_domain_suspend` with 4528 the data caches enabled. 4529 4530- Enabled build option, BL2_AT_EL3, for BL2 to allow execution at EL3 without 4531 any dependency on TF BL1. 4532 4533 This allows platforms which already have a non-TF Boot ROM to directly load 4534 and execute BL2 and subsequent BL stages without need for BL1. This was not 4535 previously possible because BL2 executes at S-EL1 and cannot jump straight to 4536 EL3. 4537 4538- Implemented support for SMCCC v1.1, including `SMCCC_VERSION` and 4539 `SMCCC_ARCH_FEATURES`. 4540 4541 Additionally, added support for `SMCCC_VERSION` in PSCI features to enable 4542 discovery of the SMCCC version via PSCI feature call. 4543 4544- Added Dynamic Configuration framework which enables each of the boot loader 4545 stages to be dynamically configured at runtime if required by the platform. 4546 The boot loader stage may optionally specify a firmware configuration file 4547 and/or hardware configuration file that can then be shared with the next boot 4548 loader stage. 4549 4550 Introduced a new BL handover interface that essentially allows passing of 4 4551 arguments between the different BL stages. 4552 4553 Updated cert_create and fip_tool to support the dynamic configuration files. 4554 The COT also updated to support these new files. 4555 4556- Code hygiene changes and alignment with MISRA guideline: 4557 4558 - Fix use of undefined macros. 4559 - Achieved compliance with Mandatory MISRA coding rules. 4560 - Achieved compliance for following Required MISRA rules for the default build 4561 configurations on FVP and Juno platforms : 7.3, 8.3, 8.4, 8.5 and 8.8. 4562 4563- Added support for Armv8.2-A architectural features: 4564 4565 - Updated translation table set-up to set the CnP (Common not Private) bit for 4566 secure page tables so that multiple PEs in the same Inner Shareable domain 4567 can use the same translation table entries for a given stage of translation 4568 in a particular translation regime. 4569 - Extended the supported values of ID_AA64MMFR0_EL1.PARange to include the 4570 52-bit Physical Address range. 4571 - Added support for the Scalable Vector Extension to allow Normal world 4572 software to access SVE functionality but disable access to SVE, SIMD and 4573 floating point functionality from the Secure world in order to prevent 4574 corruption of the Z-registers. 4575 4576- Added support for Armv8.4-A architectural feature Activity Monitor Unit (AMU) 4577 4578 extensions. 4579 4580 In addition to the v8.4 architectural extension, AMU support on Cortex-A75 was 4581 implemented. 4582 4583- Enhanced OP-TEE support to enable use of pageable OP-TEE image. The Arm 4584 standard platforms are updated to load up to 3 images for OP-TEE; header, 4585 pager image and paged image. 4586 4587 The chain of trust is extended to support the additional images. 4588 4589- Enhancements to the translation table library: 4590 4591 - Introduced APIs to get and set the memory attributes of a region. 4592 - Added support to manage both privilege levels in translation regimes that 4593 describe translations for 2 Exception levels, specifically the EL1&0 4594 translation regime, and extended the memory map region attributes to include 4595 specifying Non-privileged access. 4596 - Added support to specify the granularity of the mappings of each region, for 4597 instance a 2MB region can be specified to be mapped with 4KB page tables 4598 instead of a 2MB block. 4599 - Disabled the higher VA range to avoid unpredictable behaviour if there is an 4600 attempt to access addresses in the higher VA range. 4601 - Added helpers for Device and Normal memory MAIR encodings that align with 4602 the Arm Architecture Reference Manual for Armv8-A (Arm DDI0487B.b). 4603 - Code hygiene including fixing type length and signedness of constants, 4604 refactoring of function to enable the MMU, removing all instances where the 4605 virtual address space is hardcoded and added comments that document 4606 alignment needed between memory attributes and attributes specified in 4607 TCR_ELx. 4608 4609- Updated GIC support: 4610 4611 - Introduce new APIs for GICv2 and GICv3 that provide the capability to 4612 specify interrupt properties rather than list of interrupt numbers alone. 4613 The Arm platforms and other upstream platforms are migrated to use interrupt 4614 properties. 4615 4616 - Added helpers to save / restore the GICv3 context, specifically the 4617 Distributor and Redistributor contexts and architectural parts of the ITS 4618 power management. The Distributor and Redistributor helpers also support the 4619 implementation-defined part of GIC-500 and GIC-600. 4620 4621 Updated the Arm FVP platform to save / restore the GICv3 context on system 4622 suspend / resume as an example of how to use the helpers. 4623 4624 Introduced a new TZC secured DDR carve-out for use by Arm platforms for 4625 storing EL3 runtime data such as the GICv3 register context. 4626 4627- Added support for Armv7-A architecture via build option ARM_ARCH_MAJOR=7. This 4628 includes following features: 4629 4630 - Updates GICv2 driver to manage GICv1 with security extensions. 4631 - Software implementation for 32bit division. 4632 - Enabled use of generic timer for platforms that do not set 4633 ARM_CORTEX_Ax=yes. 4634 - Support for Armv7-A Virtualization extensions \[DDI0406C_C\]. 4635 - Support for both Armv7-A platforms that only have 32-bit addressing and 4636 Armv7-A platforms that support large page addressing. 4637 - Included support for following Armv7 CPUs: Cortex-A12, Cortex-A17, 4638 Cortex-A7, Cortex-A5, Cortex-A9, Cortex-A15. 4639 - Added support in QEMU for Armv7-A/Cortex-A15. 4640 4641- Enhancements to Firmware Update feature: 4642 4643 - Updated the FWU documentation to describe the additional images needed for 4644 Firmware update, and how they are used for both the Juno platform and the 4645 Arm FVP platforms. 4646 4647- Enhancements to Trusted Board Boot feature: 4648 4649 - Added support to cert_create tool for RSA PKCS1# v1.5 and SHA384, SHA512 and 4650 SHA256. 4651 - For Arm platforms added support to use ECDSA keys. 4652 - Enhanced the mbed TLS wrapper layer to include support for both RSA and 4653 ECDSA to enable runtime selection between RSA and ECDSA keys. 4654 4655- Added support for secure interrupt handling in AArch32 sp_min, hardcoded to 4656 only handle FIQs. 4657 4658- Added support to allow a platform to load images from multiple boot sources, 4659 for example from a second flash drive. 4660 4661- Added a logging framework that allows platforms to reduce the logging level at 4662 runtime and additionally the prefix string can be defined by the platform. 4663 4664- Further improvements to register initialisation: 4665 4666 - Control register PMCR_EL0 / PMCR is set to prohibit cycle counting in the 4667 secure world. This register is added to the list of registers that are saved 4668 and restored during world switch. 4669 - When EL3 is running in AArch32 execution state, the Non-secure version of 4670 SCTLR is explicitly initialised during the warmboot flow rather than relying 4671 on the hardware to set the correct reset values. 4672 4673- Enhanced support for Arm platforms: 4674 4675 - Introduced driver for Shared-Data-Structure (SDS) framework which is used 4676 for communication between SCP and the AP CPU, replacing Boot-Over_MHU (BOM) 4677 protocol. 4678 4679 The Juno platform is migrated to use SDS with the SCMI support added in v1.3 4680 and is set as default. 4681 4682 The driver can be found in the plat/arm/css/drivers folder. 4683 4684 - Improved memory usage by only mapping TSP memory region when the TSPD has 4685 been included in the build. This reduces the memory footprint and avoids 4686 unnecessary memory being mapped. 4687 4688 - Updated support for multi-threading CPUs for FVP platforms - always check 4689 the MT field in MPDIR and access the bit fields accordingly. 4690 4691 - Support building for platforms that model DynamIQ configuration by 4692 implementing all CPUs in a single cluster. 4693 4694 - Improved nor flash driver, for instance clearing status registers before 4695 sending commands. Driver can be found plat/arm/board/common folder. 4696 4697- Enhancements to QEMU platform: 4698 4699 - Added support for TBB. 4700 - Added support for using OP-TEE pageable image. 4701 - Added support for LOAD_IMAGE_V2. 4702 - Migrated to use translation table library v2 by default. 4703 - Added support for SEPARATE_CODE_AND_RODATA. 4704 4705- Applied workarounds CVE-2017-5715 on Arm Cortex-A57, -A72, -A73 and -A75, and 4706 for Armv7-A CPUs Cortex-A9, -A15 and -A17. 4707 4708- Applied errata workaround for Arm Cortex-A57: 859972. 4709 4710- Applied errata workaround for Arm Cortex-A72: 859971. 4711 4712- Added support for Poplar 96Board platform. 4713 4714- Added support for Raspberry Pi 3 platform. 4715 4716- Added Call Frame Information (CFI) assembler directives to the vector entries 4717 which enables debuggers to display the backtrace of functions that triggered a 4718 synchronous abort. 4719 4720- Added ability to build dtb. 4721 4722- Added support for pre-tool (cert_create and fiptool) image processing enabling 4723 compression of the image files before processing by cert_create and fiptool. 4724 4725 This can reduce fip size and may also speed up loading of images. The image 4726 verification will also get faster because certificates are generated based on 4727 compressed images. 4728 4729 Imported zlib 1.2.11 to implement gunzip() for data compression. 4730 4731- Enhancements to fiptool: 4732 4733 - Enabled the fiptool to be built using Visual Studio. 4734 - Added padding bytes at the end of the last image in the fip to be facilitate 4735 transfer by DMA. 4736 4737### Issues resolved since last release 4738 4739- TF-A can be built with optimisations disabled (-O0). 4740- Memory layout updated to enable Trusted Board Boot on Juno platform when 4741 running TF-A in AArch32 execution mode (resolving [tf-issue#501]). 4742 4743### Known Issues 4744 4745- DTB creation not supported when building on a Windows host. This step in the 4746 build process is skipped when running on a Windows host. 4747 4748## [1.4.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.3..refs/tags/v1.4) (2017-07-07) 4749 4750### New features 4751 4752- Enabled support for platforms with hardware assisted coherency. 4753 4754 A new build option HW_ASSISTED_COHERENCY allows platforms to take advantage of 4755 the following optimisations: 4756 4757 - Skip performing cache maintenance during power-up and power-down. 4758 - Use spin-locks instead of bakery locks. 4759 - Enable data caches early on warm-booted CPUs. 4760 4761- Added support for Cortex-A75 and Cortex-A55 processors. 4762 4763 Both Cortex-A75 and Cortex-A55 processors use the Arm DynamIQ Shared Unit 4764 (DSU). The power-down and power-up sequences are therefore mostly managed in 4765 hardware, reducing complexity of the software operations. 4766 4767- Introduced Arm GIC-600 driver. 4768 4769 Arm GIC-600 IP complies with Arm GICv3 architecture. For FVP platforms, the 4770 GIC-600 driver is chosen when FVP_USE_GIC_DRIVER is set to FVP_GIC600. 4771 4772- Updated GICv3 support: 4773 4774 - Introduced power management APIs for GICv3 Redistributor. These APIs allow 4775 platforms to power down the Redistributor during CPU power on/off. Requires 4776 the GICv3 implementations to have power management operations. 4777 4778 Implemented the power management APIs for FVP. 4779 4780 - GIC driver data is flushed by the primary CPU so that secondary CPU do not 4781 read stale GIC data. 4782 4783- Added support for Arm System Control and Management Interface v1.0 (SCMI). 4784 4785 The SCMI driver implements the power domain management and system power 4786 management protocol of the SCMI specification (Arm DEN 0056ASCMI) for 4787 communicating with any compliant power controller. 4788 4789 Support is added for the Juno platform. The driver can be found in the 4790 plat/arm/css/drivers folder. 4791 4792- Added support to enable pre-integration of TBB with the Arm TrustZone 4793 CryptoCell product, to take advantage of its hardware Root of Trust and crypto 4794 acceleration services. 4795 4796- Enabled Statistical Profiling Extensions for lower ELs. 4797 4798 The firmware support is limited to the use of SPE in the Non-secure state and 4799 accesses to the SPE specific registers from S-EL1 will trap to EL3. 4800 4801 The SPE are architecturally specified for AArch64 only. 4802 4803- Code hygiene changes aligned with MISRA guidelines: 4804 4805 - Fixed signed / unsigned comparison warnings in the translation table 4806 library. 4807 - Added U(\_x) macro and together with the existing ULL(\_x) macro fixed some 4808 of the signed-ness defects flagged by the MISRA scanner. 4809 4810- Enhancements to Firmware Update feature: 4811 4812 - The FWU logic now checks for overlapping images to prevent execution of 4813 unauthenticated arbitrary code. 4814 - Introduced new FWU_SMC_IMAGE_RESET SMC that changes the image loading state 4815 machine to go from COPYING, COPIED or AUTHENTICATED states to RESET state. 4816 Previously, this was only possible when the authentication of an image 4817 failed or when the execution of the image finished. 4818 - Fixed integer overflow which addressed TFV-1: Malformed Firmware Update SMC 4819 can result in copy of unexpectedly large data into secure memory. 4820 4821- Introduced support for Arm Compiler 6 and LLVM (clang). 4822 4823 TF-A can now also be built with the Arm Compiler 6 or the clang compilers. The 4824 assembler and linker must be provided by the GNU toolchain. 4825 4826 Tested with Arm CC 6.7 and clang 3.9.x and 4.0.x. 4827 4828- Memory footprint improvements: 4829 4830 - Introduced `tf_snprintf`, a reduced version of `snprintf` which has support 4831 for a limited set of formats. 4832 4833 The mbedtls driver is updated to optionally use `tf_snprintf` instead of 4834 `snprintf`. 4835 4836 - The `assert()` is updated to no longer print the function name, and 4837 additional logging options are supported via an optional platform define 4838 `PLAT_LOG_LEVEL_ASSERT`, which controls how verbose the assert output is. 4839 4840- Enhancements to TF-A support when running in AArch32 execution state: 4841 4842 - Support booting SP_MIN and BL33 in AArch32 execution mode on Juno. Due to 4843 hardware limitations, BL1 and BL2 boot in AArch64 state and there is 4844 additional trampoline code to warm reset into SP_MIN in AArch32 execution 4845 state. 4846 - Added support for Arm Cortex-A53/57/72 MPCore processors including the 4847 errata workarounds that are already implemented for AArch64 execution state. 4848 - For FVP platforms, added AArch32 Trusted Board Boot support, including the 4849 Firmware Update feature. 4850 4851- Introduced Arm SiP service for use by Arm standard platforms. 4852 4853 - Added new Arm SiP Service SMCs to enable the Non-secure world to read PMF 4854 timestamps. 4855 4856 Added PMF instrumentation points in TF-A in order to quantify the overall 4857 time spent in the PSCI software implementation. 4858 4859 - Added new Arm SiP service SMC to switch execution state. 4860 4861 This allows the lower exception level to change its execution state from 4862 AArch64 to AArch32, or vice verse, via a request to EL3. 4863 4864- Migrated to use SPDX\[0\] license identifiers to make software license 4865 auditing simpler. 4866 4867 \:::\{note} Files that have been imported by FreeBSD have not been modified. 4868 \::: 4869 4870 \[0\]: <https://spdx.org/> 4871 4872- Enhancements to the translation table library: 4873 4874 - Added version 2 of translation table library that allows different 4875 translation tables to be modified by using different 'contexts'. Version 1 4876 of the translation table library only allows the current EL's translation 4877 tables to be modified. 4878 4879 Version 2 of the translation table also added support for dynamic regions; 4880 regions that can be added and removed dynamically whilst the MMU is enabled. 4881 Static regions can only be added or removed before the MMU is enabled. 4882 4883 The dynamic mapping functionality is enabled or disabled when compiling by 4884 setting the build option PLAT_XLAT_TABLES_DYNAMIC to 1 or 0. This can be 4885 done per-image. 4886 4887 - Added support for translation regimes with two virtual address spaces such 4888 as the one shared by EL1 and EL0. 4889 4890 The library does not support initializing translation tables for EL0 4891 software. 4892 4893 - Added support to mark the translation tables as non-cacheable using an 4894 additional build option `XLAT_TABLE_NC`. 4895 4896- Added support for GCC stack protection. A new build option 4897 ENABLE_STACK_PROTECTOR was introduced that enables compilation of all BL 4898 images with one of the GCC -fstack-protector-\* options. 4899 4900 A new platform function plat_get_stack_protector_canary() was introduced that 4901 returns a value used to initialize the canary for stack corruption detection. 4902 For increased effectiveness of protection platforms must provide an 4903 implementation that returns a random value. 4904 4905- Enhanced support for Arm platforms: 4906 4907 - Added support for multi-threading CPUs, indicated by `MT` field in MPDIR. A 4908 new build flag `ARM_PLAT_MT` is added, and when enabled, the functions 4909 accessing MPIDR assume that the `MT` bit is set for the platform and access 4910 the bit fields accordingly. 4911 4912 Also, a new API `plat_arm_get_cpu_pe_count` is added when `ARM_PLAT_MT` is 4913 enabled, returning the Processing Element count within the physical CPU 4914 corresponding to `mpidr`. 4915 4916 - The Arm platforms migrated to use version 2 of the translation tables. 4917 4918 - Introduced a new Arm platform layer API `plat_arm_psci_override_pm_ops` 4919 which allows Arm platforms to modify `plat_arm_psci_pm_ops` and therefore 4920 dynamically define PSCI capability. 4921 4922 - The Arm platforms migrated to use IMAGE_LOAD_V2 by default. 4923 4924- Enhanced reporting of errata workaround status with the following policy: 4925 4926 - If an errata workaround is enabled: 4927 4928 - If it applies (i.e. the CPU is affected by the errata), an INFO message is 4929 printed, confirming that the errata workaround has been applied. 4930 - If it does not apply, a VERBOSE message is printed, confirming that the 4931 errata workaround has been skipped. 4932 4933 - If an errata workaround is not enabled, but would have applied had it been, 4934 a WARN message is printed, alerting that errata workaround is missing. 4935 4936- Added build options ARM_ARCH_MAJOR and ARM_ARM_MINOR to choose the 4937 architecture version to target TF-A. 4938 4939- Updated the spin lock implementation to use the more efficient CAS (Compare 4940 And Swap) instruction when available. This instruction was introduced in 4941 Armv8.1-A. 4942 4943- Applied errata workaround for Arm Cortex-A53: 855873. 4944 4945- Applied errata workaround for Arm-Cortex-A57: 813419. 4946 4947- Enabled all A53 and A57 errata workarounds for Juno, both in AArch64 and 4948 AArch32 execution states. 4949 4950- Added support for Socionext UniPhier SoC platform. 4951 4952- Added support for Hikey960 and Hikey platforms. 4953 4954- Added support for Rockchip RK3328 platform. 4955 4956- Added support for NVidia Tegra T186 platform. 4957 4958- Added support for Designware emmc driver. 4959 4960- Imported libfdt v1.4.2 that addresses buffer overflow in fdt_offset_ptr(). 4961 4962- Enhanced the CPU operations framework to allow power handlers to be registered 4963 on per-level basis. This enables support for future CPUs that have multiple 4964 threads which might need powering down individually. 4965 4966- Updated register initialisation to prevent unexpected behaviour: 4967 4968 - Debug registers MDCR-EL3/SDCR and MDCR_EL2/HDCR are initialised to avoid 4969 unexpected traps into the higher exception levels and disable secure 4970 self-hosted debug. Additionally, secure privileged external debug on Juno is 4971 disabled by programming the appropriate Juno SoC registers. 4972 - EL2 and EL3 configurable controls are initialised to avoid unexpected traps 4973 in the higher exception levels. 4974 - Essential control registers are fully initialised on EL3 start-up, when 4975 initialising the non-secure and secure context structures and when preparing 4976 to leave EL3 for a lower EL. This gives better alignment with the Arm ARM 4977 which states that software must initialise RES0 and RES1 fields with 0 / 1. 4978 4979- Enhanced PSCI support: 4980 4981 - Introduced new platform interfaces that decouple PSCI stat residency 4982 calculation from PMF, enabling platforms to use alternative methods of 4983 capturing timestamps. 4984 - PSCI stat accounting performed for retention/standby states when requested 4985 at multiple power levels. 4986 4987- Simplified fiptool to have a single linked list of image descriptors. 4988 4989- For the TSP, resolved corruption of pre-empted secure context by aborting any 4990 pre-empted SMC during PSCI power management requests. 4991 4992### Issues resolved since last release 4993 4994- TF-A can be built with the latest mbed TLS version (v2.4.2). The earlier 4995 version 2.3.0 cannot be used due to build warnings that the TF-A build system 4996 interprets as errors. 4997- TBBR, including the Firmware Update feature is now supported on FVP platforms 4998 when running TF-A in AArch32 state. 4999- The version of the AEMv8 Base FVP used in this release has resolved the issue 5000 of the model executing a reset instead of terminating in response to a 5001 shutdown request using the PSCI SYSTEM_OFF API. 5002 5003### Known Issues 5004 5005- Building TF-A with compiler optimisations disabled (-O0) fails. 5006- Trusted Board Boot currently does not work on Juno when running Trusted 5007 Firmware in AArch32 execution state due to error when loading the sp_min to 5008 memory because of lack of free space available. See [tf-issue#501] for more 5009 details. 5010- The errata workaround for A53 errata 843419 is only available from binutils 5011 2.26 and is not present in GCC4.9. If this errata is applicable to the 5012 platform, please use GCC compiler version of at least 5.0. See [PR#1002] for 5013 more details. 5014 5015## [1.3.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.2..refs/tags/v1.3) (2016-10-13) 5016 5017### New features 5018 5019- Added support for running TF-A in AArch32 execution state. 5020 5021 The PSCI library has been refactored to allow integration with **EL3 Runtime 5022 Software**. This is software that is executing at the highest secure privilege 5023 which is EL3 in AArch64 or Secure SVC/Monitor mode in AArch32. See 5024 \{ref}`PSCI Library Integration guide for Armv8-A AArch32 systems`. 5025 5026 Included is a minimal AArch32 Secure Payload, **SP-MIN**, that illustrates the 5027 usage and integration of the PSCI library with EL3 Runtime Software running in 5028 AArch32 state. 5029 5030 Booting to the BL1/BL2 images as well as booting straight to the Secure 5031 Payload is supported. 5032 5033- Improvements to the initialization framework for the PSCI service and Arm 5034 Standard Services in general. 5035 5036 The PSCI service is now initialized as part of Arm Standard Service 5037 initialization. This consolidates the initializations of any Arm Standard 5038 Service that may be added in the future. 5039 5040 A new function `get_arm_std_svc_args()` is introduced to get arguments 5041 corresponding to each standard service and must be implemented by the EL3 5042 Runtime Software. 5043 5044 For PSCI, a new versioned structure `psci_lib_args_t` is introduced to 5045 initialize the PSCI Library. **Note** this is a compatibility break due to the 5046 change in the prototype of `psci_setup()`. 5047 5048- To support AArch32 builds of BL1 and BL2, implemented a new, alternative 5049 firmware image loading mechanism that adds flexibility. 5050 5051 The current mechanism has a hard-coded set of images and execution order 5052 (BL31, BL32, etc). The new mechanism is data-driven by a list of image 5053 descriptors provided by the platform code. 5054 5055 Arm platforms have been updated to support the new loading mechanism. 5056 5057 The new mechanism is enabled by a build flag (`LOAD_IMAGE_V2`) which is 5058 currently off by default for the AArch64 build. 5059 5060 **Note** `TRUSTED_BOARD_BOOT` is currently not supported when `LOAD_IMAGE_V2` 5061 is enabled. 5062 5063- Updated requirements for making contributions to TF-A. 5064 5065 Commits now must have a 'Signed-off-by:' field to certify that the 5066 contribution has been made under the terms of the 5067 {download}`Developer Certificate of Origin <../dco.txt>`. 5068 5069 A signed CLA is no longer required. 5070 5071 The {ref}`Contributor's Guide` has been updated to reflect this change. 5072 5073- Introduced Performance Measurement Framework (PMF) which provides support for 5074 capturing, storing, dumping and retrieving time-stamps to measure the 5075 execution time of critical paths in the firmware. This relies on defining 5076 fixed sample points at key places in the code. 5077 5078- To support the QEMU platform port, imported libfdt v1.4.1 from 5079 <https://git.kernel.org/pub/scm/utils/dtc/dtc.git> 5080 5081- Updated PSCI support: 5082 5083 - Added support for PSCI NODE_HW_STATE API for Arm platforms. 5084 - New optional platform hook, `pwr_domain_pwr_down_wfi()`, in `plat_psci_ops` 5085 to enable platforms to perform platform-specific actions needed to enter 5086 powerdown, including the 'wfi' invocation. 5087 - PSCI STAT residency and count functions have been added on Arm platforms by 5088 using PMF. 5089 5090- Enhancements to the translation table library: 5091 5092 - Limited memory mapping support for region overlaps to only allow regions to 5093 overlap that are identity mapped or have the same virtual to physical 5094 address offset, and overlap completely but must not cover the same area. 5095 5096 This limitation will enable future enhancements without having to support 5097 complex edge cases that may not be necessary. 5098 5099 - The initial translation lookup level is now inferred from the virtual 5100 address space size. Previously, it was hard-coded. 5101 5102 - Added support for mapping Normal, Inner Non-cacheable, Outer Non-cacheable 5103 memory in the translation table library. 5104 5105 This can be useful to map a non-cacheable memory region, such as a DMA 5106 buffer. 5107 5108 - Introduced the MT_EXECUTE/MT_EXECUTE_NEVER memory mapping attributes to 5109 specify the access permissions for instruction execution of a memory region. 5110 5111- Enabled support to isolate code and read-only data on separate memory pages, 5112 allowing independent access control to be applied to each. 5113 5114- Enabled SCR_EL3.SIF (Secure Instruction Fetch) bit in BL1 and BL31 common 5115 architectural setup code, preventing fetching instructions from non-secure 5116 memory when in secure state. 5117 5118- Enhancements to FIP support: 5119 5120 - Replaced `fip_create` with `fiptool` which provides a more consistent and 5121 intuitive interface as well as additional support to remove an image from a 5122 FIP file. 5123 - Enabled printing the SHA256 digest with info command, allowing quick 5124 verification of an image within a FIP without having to extract the image 5125 and running sha256sum on it. 5126 - Added support for unpacking the contents of an existing FIP file into the 5127 working directory. 5128 - Aligned command line options for specifying images to use same naming 5129 convention as specified by TBBR and already used in cert_create tool. 5130 5131- Refactored the TZC-400 driver to also support memory controllers that 5132 integrate TZC functionality, for example Arm CoreLink DMC-500. Also added 5133 DMC-500 specific support. 5134 5135- Implemented generic delay timer based on the system generic counter and 5136 migrated all platforms to use it. 5137 5138- Enhanced support for Arm platforms: 5139 5140 - Updated image loading support to make SCP images (SCP_BL2 and SCP_BL2U) 5141 optional. 5142 - Enhanced topology description support to allow multi-cluster topology 5143 definitions. 5144 - Added interconnect abstraction layer to help platform ports select the right 5145 interconnect driver, CCI or CCN, for the platform. 5146 - Added support to allow loading BL31 in the TZC-secured DRAM instead of the 5147 default secure SRAM. 5148 - Added support to use a System Security Control (SSC) Registers Unit enabling 5149 TF-A to be compiled to support multiple Arm platforms and then select one at 5150 runtime. 5151 - Restricted mapping of Trusted ROM in BL1 to what is actually needed by BL1 5152 rather than entire Trusted ROM region. 5153 - Flash is now mapped as execute-never by default. This increases security by 5154 restricting the executable region to what is strictly needed. 5155 5156- Applied following erratum workarounds for Cortex-A57: 833471, 826977, 829520, 5157 828024 and 826974. 5158 5159- Added support for Mediatek MT6795 platform. 5160 5161- Added support for QEMU virtualization Armv8-A target. 5162 5163- Added support for Rockchip RK3368 and RK3399 platforms. 5164 5165- Added support for Xilinx Zynq UltraScale+ MPSoC platform. 5166 5167- Added support for Arm Cortex-A73 MPCore Processor. 5168 5169- Added support for Arm Cortex-A72 processor. 5170 5171- Added support for Arm Cortex-A35 processor. 5172 5173- Added support for Arm Cortex-A32 MPCore Processor. 5174 5175- Enabled preloaded BL33 alternative boot flow, in which BL2 does not load BL33 5176 from non-volatile storage and BL31 hands execution over to a preloaded BL33. 5177 The User Guide has been updated with an example of how to use this option with 5178 a bootwrapped kernel. 5179 5180- Added support to build TF-A on a Windows-based host machine. 5181 5182- Updated Trusted Board Boot prototype implementation: 5183 5184 - Enabled the ability for a production ROM with TBBR enabled to boot test 5185 software before a real ROTPK is deployed (e.g. manufacturing mode). Added 5186 support to use ROTPK in certificate without verifying against the platform 5187 value when `ROTPK_NOT_DEPLOYED` bit is set. 5188 - Added support for non-volatile counter authentication to the Authentication 5189 Module to protect against roll-back. 5190 5191- Updated GICv3 support: 5192 5193 - Enabled processor power-down and automatic power-on using GICv3. 5194 - Enabled G1S or G0 interrupts to be configured independently. 5195 - Changed FVP default interrupt driver to be the GICv3-only driver. **Note** 5196 the default build of TF-A will not be able to boot Linux kernel with GICv2 5197 FDT blob. 5198 - Enabled wake-up from CPU_SUSPEND to stand-by by temporarily re-routing 5199 interrupts and then restoring after resume. 5200 5201### Issues resolved since last release 5202 5203### Known issues 5204 5205- The version of the AEMv8 Base FVP used in this release resets the model 5206 instead of terminating its execution in response to a shutdown request using 5207 the PSCI `SYSTEM_OFF` API. This issue will be fixed in a future version of the 5208 model. 5209- Building TF-A with compiler optimisations disabled (`-O0`) fails. 5210- TF-A cannot be built with mbed TLS version v2.3.0 due to build warnings that 5211 the TF-A build system interprets as errors. 5212- TBBR is not currently supported when running TF-A in AArch32 state. 5213 5214## [1.2.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.1..refs/tags/v1.2) (2015-12-22) 5215 5216### New features 5217 5218- The Trusted Board Boot implementation on Arm platforms now conforms to the 5219 mandatory requirements of the TBBR specification. 5220 5221 In particular, the boot process is now guarded by a Trusted Watchdog, which 5222 will reset the system in case of an authentication or loading error. On Arm 5223 platforms, a secure instance of Arm SP805 is used as the Trusted Watchdog. 5224 5225 Also, a firmware update process has been implemented. It enables authenticated 5226 firmware to update firmware images from external interfaces to SoC 5227 Non-Volatile memories. This feature functions even when the current firmware 5228 in the system is corrupt or missing; it therefore may be used as a recovery 5229 mode. 5230 5231- Improvements have been made to the Certificate Generation Tool (`cert_create`) 5232 as follows. 5233 5234 - Added support for the Firmware Update process by extending the Chain of 5235 Trust definition in the tool to include the Firmware Update certificate and 5236 the required extensions. 5237 - Introduced a new API that allows one to specify command line options in the 5238 Chain of Trust description. This makes the declaration of the tool's 5239 arguments more flexible and easier to extend. 5240 - The tool has been reworked to follow a data driven approach, which makes it 5241 easier to maintain and extend. 5242 5243- Extended the FIP tool (`fip_create`) to support the new set of images involved 5244 in the Firmware Update process. 5245 5246- Various memory footprint improvements. In particular: 5247 5248 - The bakery lock structure for coherent memory has been optimised. 5249 - The mbed TLS SHA1 functions are not needed, as SHA256 is used to generate 5250 the certificate signature. Therefore, they have been compiled out, reducing 5251 the memory footprint of BL1 and BL2 by approximately 6 KB. 5252 - On Arm development platforms, each BL stage now individually defines the 5253 number of regions that it needs to map in the MMU. 5254 5255- Added the following new design documents: 5256 5257 - {ref}`Authentication Framework & Chain of Trust` 5258 - {ref}`Firmware Update (FWU)` 5259 - {ref}`CPU Reset` 5260 - {ref}`PSCI Power Domain Tree Structure` 5261 5262- Applied the new image terminology to the code base and documentation, as 5263 described in the {ref}`Image Terminology` document. 5264 5265- The build system has been reworked to improve readability and facilitate 5266 adding future extensions. 5267 5268- On Arm standard platforms, BL31 uses the boot console during cold boot but 5269 switches to the runtime console for any later logs at runtime. The TSP uses 5270 the runtime console for all output. 5271 5272- Implemented a basic NOR flash driver for Arm platforms. It programs the device 5273 using CFI (Common Flash Interface) standard commands. 5274 5275- Implemented support for booting EL3 payloads on Arm platforms, which reduces 5276 the complexity of developing EL3 baremetal code by doing essential baremetal 5277 initialization. 5278 5279- Provided separate drivers for GICv3 and GICv2. These expect the entire 5280 software stack to use either GICv2 or GICv3; hybrid GIC software systems are 5281 no longer supported and the legacy Arm GIC driver has been deprecated. 5282 5283- Added support for Juno r1 and r2. A single set of Juno TF-A binaries can run 5284 on Juno r0, r1 and r2 boards. Note that this TF-A version depends on a Linaro 5285 release that does *not* contain Juno r2 support. 5286 5287- Added support for MediaTek mt8173 platform. 5288 5289- Implemented a generic driver for Arm CCN IP. 5290 5291- Major rework of the PSCI implementation. 5292 5293 - Added framework to handle composite power states. 5294 - Decoupled the notions of affinity instances (which describes the 5295 hierarchical arrangement of cores) and of power domain topology, instead of 5296 assuming a one-to-one mapping. 5297 - Better alignment with version 1.0 of the PSCI specification. 5298 5299- Added support for the SYSTEM_SUSPEND PSCI API on Arm platforms. When invoked 5300 on the last running core on a supported platform, this puts the system into a 5301 low power mode with memory retention. 5302 5303- Unified the reset handling code as much as possible across BL stages. Also 5304 introduced some build options to enable optimization of the reset path on 5305 platforms that support it. 5306 5307- Added a simple delay timer API, as well as an SP804 timer driver, which is 5308 enabled on FVP. 5309 5310- Added support for NVidia Tegra T210 and T132 SoCs. 5311 5312- Reorganised Arm platforms ports to greatly improve code shareability and 5313 facilitate the reuse of some of this code by other platforms. 5314 5315- Added support for Arm Cortex-A72 processor in the CPU specific framework. 5316 5317- Provided better error handling. Platform ports can now define their own error 5318 handling, for example to perform platform specific bookkeeping or post-error 5319 actions. 5320 5321- Implemented a unified driver for Arm Cache Coherent Interconnects used for 5322 both CCI-400 & CCI-500 IPs. Arm platforms ports have been migrated to this 5323 common driver. The standalone CCI-400 driver has been deprecated. 5324 5325### Issues resolved since last release 5326 5327- The Trusted Board Boot implementation has been redesigned to provide greater 5328 modularity and scalability. See the 5329 \{ref}`Authentication Framework & Chain of Trust` document. All missing 5330 mandatory features are now implemented. 5331- The FVP and Juno ports may now use the hash of the ROTPK stored in the Trusted 5332 Key Storage registers to verify the ROTPK. Alternatively, a development public 5333 key hash embedded in the BL1 and BL2 binaries might be used instead. The 5334 location of the ROTPK is chosen at build-time using the `ARM_ROTPK_LOCATION` 5335 build option. 5336- GICv3 is now fully supported and stable. 5337 5338### Known issues 5339 5340- The version of the AEMv8 Base FVP used in this release resets the model 5341 instead of terminating its execution in response to a shutdown request using 5342 the PSCI `SYSTEM_OFF` API. This issue will be fixed in a future version of the 5343 model. 5344- While this version has low on-chip RAM requirements, there are further RAM 5345 usage enhancements that could be made. 5346- The upstream documentation could be improved for structural consistency, 5347 clarity and completeness. In particular, the design documentation is 5348 incomplete for PSCI, the TSP(D) and the Juno platform. 5349- Building TF-A with compiler optimisations disabled (`-O0`) fails. 5350 5351## [1.1.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v1.0..refs/tags/v1.1) (2015-02-04) 5352 5353### New features 5354 5355- A prototype implementation of Trusted Board Boot has been added. Boot loader 5356 images are verified by BL1 and BL2 during the cold boot path. BL1 and BL2 use 5357 the PolarSSL SSL library to verify certificates and images. The OpenSSL 5358 library is used to create the X.509 certificates. Support has been added to 5359 `fip_create` tool to package the certificates in a FIP. 5360 5361- Support for calling CPU and platform specific reset handlers upon entry into 5362 BL3-1 during the cold and warm boot paths has been added. This happens after 5363 another Boot ROM `reset_handler()` has already run. This enables a developer 5364 to perform additional actions or undo actions already performed during the 5365 first call of the reset handlers e.g. apply additional errata workarounds. 5366 5367- Support has been added to demonstrate routing of IRQs to EL3 instead of S-EL1 5368 when execution is in secure world. 5369 5370- The PSCI implementation now conforms to version 1.0 of the PSCI specification. 5371 All the mandatory APIs and selected optional APIs are supported. In 5372 particular, support for the `PSCI_FEATURES` API has been added. A capability 5373 variable is constructed during initialization by examining the `plat_pm_ops` 5374 and `spd_pm_ops` exported by the platform and the Secure Payload Dispatcher. 5375 This is used by the PSCI FEATURES function to determine which PSCI APIs are 5376 supported by the platform. 5377 5378- Improvements have been made to the PSCI code as follows. 5379 5380 - The code has been refactored to remove redundant parameters from internal 5381 functions. 5382 - Changes have been made to the code for PSCI `CPU_SUSPEND`, `CPU_ON` and 5383 `CPU_OFF` calls to facilitate an early return to the caller in case a 5384 failure condition is detected. For example, a PSCI `CPU_SUSPEND` call 5385 returns `SUCCESS` to the caller if a pending interrupt is detected early in 5386 the code path. 5387 - Optional platform APIs have been added to validate the `power_state` and 5388 `entrypoint` parameters early in PSCI `CPU_ON` and `CPU_SUSPEND` code paths. 5389 - PSCI migrate APIs have been reworked to invoke the SPD hook to determine the 5390 type of Trusted OS and the CPU it is resident on (if applicable). Also, 5391 during a PSCI `MIGRATE` call, the SPD hook to migrate the Trusted OS is 5392 invoked. 5393 5394- It is now possible to build TF-A without marking at least an extra page of 5395 memory as coherent. The build flag `USE_COHERENT_MEM` can be used to choose 5396 between the two implementations. This has been made possible through these 5397 changes. 5398 5399 - An implementation of Bakery locks, where the locks are not allocated in 5400 coherent memory has been added. 5401 - Memory which was previously marked as coherent is now kept coherent through 5402 the use of software cache maintenance operations. 5403 5404 Approximately, 4K worth of memory is saved for each boot loader stage when 5405 `USE_COHERENT_MEM=0`. Enabling this option increases the latencies associated 5406 with acquire and release of locks. It also requires changes to the platform 5407 ports. 5408 5409- It is now possible to specify the name of the FIP at build time by defining 5410 the `FIP_NAME` variable. 5411 5412- Issues with dependencies on the 'fiptool' makefile target have been rectified. 5413 The `fip_create` tool is now rebuilt whenever its source files change. 5414 5415- The BL3-1 runtime console is now also used as the crash console. The crash 5416 console is changed to SoC UART0 (UART2) from the previous FPGA UART0 (UART0) 5417 on Juno. In FVP, it is changed from UART0 to UART1. 5418 5419- CPU errata workarounds are applied only when the revision and part number 5420 match. This behaviour has been made consistent across the debug and release 5421 builds. The debug build additionally prints a warning if a mismatch is 5422 detected. 5423 5424- It is now possible to issue cache maintenance operations by set/way for a 5425 particular level of data cache. Levels 1-3 are currently supported. 5426 5427- The following improvements have been made to the FVP port. 5428 5429 - The build option `FVP_SHARED_DATA_LOCATION` which allowed relocation of 5430 shared data into the Trusted DRAM has been deprecated. Shared data is now 5431 always located at the base of Trusted SRAM. 5432 - BL2 Translation tables have been updated to map only the region of DRAM 5433 which is accessible to normal world. This is the region of the 2GB DDR-DRAM 5434 memory at 0x80000000 excluding the top 16MB. The top 16MB is accessible to 5435 only the secure world. 5436 - BL3-2 can now reside in the top 16MB of DRAM which is accessible only to the 5437 secure world. This can be done by setting the build flag 5438 `FVP_TSP_RAM_LOCATION` to the value `dram`. 5439 5440- Separate translation tables are created for each boot loader image. The 5441 `IMAGE_BLx` build options are used to do this. This allows each stage to 5442 create mappings only for areas in the memory map that it needs. 5443 5444- A Secure Payload Dispatcher (OPTEED) for the OP-TEE Trusted OS has been added. 5445 Details of using it with TF-A can be found in {ref}`OP-TEE Dispatcher` 5446 5447### Issues resolved since last release 5448 5449- The Juno port has been aligned with the FVP port as follows. 5450 5451 - Support for reclaiming all BL1 RW memory and BL2 memory by overlaying the 5452 BL3-1/BL3-2 NOBITS sections on top of them has been added to the Juno port. 5453 - The top 16MB of the 2GB DDR-DRAM memory at 0x80000000 is configured using 5454 the TZC-400 controller to be accessible only to the secure world. 5455 - The Arm GIC driver is used to configure the GIC-400 instead of using a GIC 5456 driver private to the Juno port. 5457 - PSCI `CPU_SUSPEND` calls that target a standby state are now supported. 5458 - The TZC-400 driver is used to configure the controller instead of direct 5459 accesses to the registers. 5460 5461- The Linux kernel version referred to in the user guide has DVFS and HMP 5462 support enabled. 5463 5464- DS-5 v5.19 did not detect Version 5.8 of the Cortex-A57-A53 Base FVPs in CADI 5465 server mode. This issue is not seen with DS-5 v5.20 and Version 6.2 of the 5466 Cortex-A57-A53 Base FVPs. 5467 5468### Known issues 5469 5470- The Trusted Board Boot implementation is a prototype. There are issues with 5471 the modularity and scalability of the design. Support for a Trusted Watchdog, 5472 firmware update mechanism, recovery images and Trusted debug is absent. These 5473 issues will be addressed in future releases. 5474- The FVP and Juno ports do not use the hash of the ROTPK stored in the Trusted 5475 Key Storage registers to verify the ROTPK in the `plat_match_rotpk()` 5476 function. This prevents the correct establishment of the Chain of Trust at the 5477 first step in the Trusted Board Boot process. 5478- The version of the AEMv8 Base FVP used in this release resets the model 5479 instead of terminating its execution in response to a shutdown request using 5480 the PSCI `SYSTEM_OFF` API. This issue will be fixed in a future version of the 5481 model. 5482- GICv3 support is experimental. There are known issues with GICv3 5483 initialization in the TF-A. 5484- While this version greatly reduces the on-chip RAM requirements, there are 5485 further RAM usage enhancements that could be made. 5486- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and 5487 its dispatcher (TSPD) is incomplete. Similarly for the PSCI section. 5488- The Juno-specific firmware design documentation is incomplete. 5489 5490## [1.0.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v0.4..refs/tags/v1.0) (2014-08-28) 5491 5492### New features 5493 5494- It is now possible to map higher physical addresses using non-flat virtual to 5495 physical address mappings in the MMU setup. 5496 5497- Wider use is now made of the per-CPU data cache in BL3-1 to store: 5498 5499 - Pointers to the non-secure and secure security state contexts. 5500 - A pointer to the CPU-specific operations. 5501 - A pointer to PSCI specific information (for example the current power 5502 state). 5503 - A crash reporting buffer. 5504 5505- The following RAM usage improvements result in a BL3-1 RAM usage reduction 5506 from 96KB to 56KB (for FVP with TSPD), and a total RAM usage reduction across 5507 all images from 208KB to 88KB, compared to the previous release. 5508 5509 - Removed the separate `early_exception` vectors from BL3-1 (2KB code size 5510 saving). 5511 - Removed NSRAM from the FVP memory map, allowing the removal of one (4KB) 5512 translation table. 5513 - Eliminated the internal `psci_suspend_context` array, saving 2KB. 5514 - Correctly dimensioned the PSCI `aff_map_node` array, saving 1.5KB in the FVP 5515 port. 5516 - Removed calling CPU mpidr from the bakery lock API, saving 160 bytes. 5517 - Removed current CPU mpidr from PSCI common code, saving 160 bytes. 5518 - Inlined the mmio accessor functions, saving 360 bytes. 5519 - Fully reclaimed all BL1 RW memory and BL2 memory on the FVP port by 5520 overlaying the BL3-1/BL3-2 NOBITS sections on top of these at runtime. 5521 - Made storing the FP register context optional, saving 0.5KB per context (8KB 5522 on the FVP port, with TSPD enabled and running on 8 CPUs). 5523 - Implemented a leaner `tf_printf()` function, allowing the stack to be 5524 greatly reduced. 5525 - Removed coherent stacks from the codebase. Stacks allocated in normal memory 5526 are now used before and after the MMU is enabled. This saves 768 bytes per 5527 CPU in BL3-1. 5528 - Reworked the crash reporting in BL3-1 to use less stack. 5529 - Optimized the EL3 register state stored in the `cpu_context` structure so 5530 that registers that do not change during normal execution are re-initialized 5531 each time during cold/warm boot, rather than restored from memory. This 5532 saves about 1.2KB. 5533 - As a result of some of the above, reduced the runtime stack size in all BL 5534 images. For BL3-1, this saves 1KB per CPU. 5535 5536- PSCI SMC handler improvements to correctly handle calls from secure states and 5537 from AArch32. 5538 5539- CPU contexts are now initialized from the `entry_point_info`. BL3-1 fully 5540 determines the exception level to use for the non-trusted firmware (BL3-3) 5541 based on the SPSR value provided by the BL2 platform code (or otherwise 5542 provided to BL3-1). This allows platform code to directly run non-trusted 5543 firmware payloads at either EL2 or EL1 without requiring an EL2 stub or OS 5544 loader. 5545 5546- Code refactoring improvements: 5547 5548 - Refactored `fvp_config` into a common platform header. 5549 - Refactored the fvp gic code to be a generic driver that no longer has an 5550 explicit dependency on platform code. 5551 - Refactored the CCI-400 driver to not have dependency on platform code. 5552 - Simplified the IO driver so it's no longer necessary to call `io_init()` and 5553 moved all the IO storage framework code to one place. 5554 - Simplified the interface the the TZC-400 driver. 5555 - Clarified the platform porting interface to the TSP. 5556 - Reworked the TSPD setup code to support the alternate BL3-2 initialization 5557 flow where BL3-1 generic code hands control to BL3-2, rather than expecting 5558 the TSPD to hand control directly to BL3-2. 5559 - Considerable rework to PSCI generic code to support CPU specific operations. 5560 5561- Improved console log output, by: 5562 5563 - Adding the concept of debug log levels. 5564 - Rationalizing the existing debug messages and adding new ones. 5565 - Printing out the version of each BL stage at runtime. 5566 - Adding support for printing console output from assembler code, including 5567 when a crash occurs before the C runtime is initialized. 5568 5569- Moved up to the latest versions of the FVPs, toolchain, EDK2, kernel, Linaro 5570 file system and DS-5. 5571 5572- On the FVP port, made the use of the Trusted DRAM region optional at build 5573 time (off by default). Normal platforms will not have such a "ready-to-use" 5574 DRAM area so it is not a good example to use it. 5575 5576- Added support for PSCI `SYSTEM_OFF` and `SYSTEM_RESET` APIs. 5577 5578- Added support for CPU specific reset sequences, power down sequences and 5579 register dumping during crash reporting. The CPU specific reset sequences 5580 include support for errata workarounds. 5581 5582- Merged the Juno port into the master branch. Added support for CPU hotplug and 5583 CPU idle. Updated the user guide to describe how to build and run on the Juno 5584 platform. 5585 5586### Issues resolved since last release 5587 5588- Removed the concept of top/bottom image loading. The image loader now 5589 automatically detects the position of the image inside the current memory 5590 layout and updates the layout to minimize fragmentation. This resolves the 5591 image loader limitations of previously releases. There are currently no plans 5592 to support dynamic image loading. 5593- CPU idle now works on the publicized version of the Foundation FVP. 5594- All known issues relating to the compiler version used have now been resolved. 5595 This TF-A version uses Linaro toolchain 14.07 (based on GCC 4.9). 5596 5597### Known issues 5598 5599- GICv3 support is experimental. The Linux kernel patches to support this are 5600 not widely available. There are known issues with GICv3 initialization in the 5601 TF-A. 5602 5603- While this version greatly reduces the on-chip RAM requirements, there are 5604 further RAM usage enhancements that could be made. 5605 5606- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and 5607 its dispatcher (TSPD) is incomplete. Similarly for the PSCI section. 5608 5609- The Juno-specific firmware design documentation is incomplete. 5610 5611- Some recent enhancements to the FVP port have not yet been translated into the 5612 Juno port. These will be tracked via the tf-issues project. 5613 5614- The Linux kernel version referred to in the user guide has DVFS and HMP 5615 support disabled due to some known instabilities at the time of this release. 5616 A future kernel version will re-enable these features. 5617 5618- DS-5 v5.19 does not detect Version 5.8 of the Cortex-A57-A53 Base FVPs in CADI 5619 server mode. This is because the `<SimName>` reported by the FVP in this 5620 version has changed. For example, for the Cortex-A57x4-A53x4 Base FVP, the 5621 `<SimName>` reported by the FVP is `FVP_Base_Cortex_A57x4_A53x4`, while DS-5 5622 expects it to be `FVP_Base_A57x4_A53x4`. 5623 5624 The temporary fix to this problem is to change the name of the FVP in 5625 `sw/debugger/configdb/Boards/ARM FVP/Base_A57x4_A53x4/cadi_config.xml`. Change 5626 the following line: 5627 5628 ``` 5629 <SimName>System Generator:FVP_Base_A57x4_A53x4</SimName> 5630 ``` 5631 5632 to System Generator:FVP_Base_Cortex-A57x4_A53x4 5633 5634 A similar change can be made to the other Cortex-A57-A53 Base FVP variants. 5635 5636## [0.4.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v0.3..refs/tags/v0.4) (2014-06-03) 5637 5638### New features 5639 5640- Makefile improvements: 5641 5642 - Improved dependency checking when building. 5643 - Removed `dump` target (build now always produces dump files). 5644 - Enabled platform ports to optionally make use of parts of the Trusted 5645 Firmware (e.g. BL3-1 only), rather than being forced to use all parts. Also 5646 made the `fip` target optional. 5647 - Specified the full path to source files and removed use of the `vpath` 5648 keyword. 5649 5650- Provided translation table library code for potential re-use by platforms 5651 other than the FVPs. 5652 5653- Moved architectural timer setup to platform-specific code. 5654 5655- Added standby state support to PSCI cpu_suspend implementation. 5656 5657- SRAM usage improvements: 5658 5659 - Started using the `-ffunction-sections`, `-fdata-sections` and 5660 `--gc-sections` compiler/linker options to remove unused code and data from 5661 the images. Previously, all common functions were being built into all 5662 binary images, whether or not they were actually used. 5663 - Placed all assembler functions in their own section to allow more unused 5664 functions to be removed from images. 5665 - Updated BL1 and BL2 to use a single coherent stack each, rather than one per 5666 CPU. 5667 - Changed variables that were unnecessarily declared and initialized as 5668 non-const (i.e. in the .data section) so they are either uninitialized (zero 5669 init) or const. 5670 5671- Moved the Test Secure-EL1 Payload (BL3-2) to execute in Trusted SRAM by 5672 default. The option for it to run in Trusted DRAM remains. 5673 5674- Implemented a TrustZone Address Space Controller (TZC-400) driver. A default 5675 configuration is provided for the Base FVPs. This means the model parameter 5676 `-C bp.secure_memory=1` is now supported. 5677 5678- Started saving the PSCI cpu_suspend 'power_state' parameter prior to 5679 suspending a CPU. This allows platforms that implement multiple power-down 5680 states at the same affinity level to identify a specific state. 5681 5682- Refactored the entire codebase to reduce the amount of nesting in header files 5683 and to make the use of system/user includes more consistent. Also split 5684 platform.h to separate out the platform porting declarations from the required 5685 platform porting definitions and the definitions/declarations specific to the 5686 platform port. 5687 5688- Optimized the data cache clean/invalidate operations. 5689 5690- Improved the BL3-1 unhandled exception handling and reporting. Unhandled 5691 exceptions now result in a dump of registers to the console. 5692 5693- Major rework to the handover interface between BL stages, in particular the 5694 interface to BL3-1. The interface now conforms to a specification and is more 5695 future proof. 5696 5697- Added support for optionally making the BL3-1 entrypoint a reset handler 5698 (instead of BL1). This allows platforms with an alternative image loading 5699 architecture to re-use BL3-1 with fewer modifications to generic code. 5700 5701- Reserved some DDR DRAM for secure use on FVP platforms to avoid future 5702 compatibility problems with non-secure software. 5703 5704- Added support for secure interrupts targeting the Secure-EL1 Payload (SP) 5705 (using GICv2 routing only). Demonstrated this working by adding an interrupt 5706 target and supporting test code to the TSP. Also demonstrated non-secure 5707 interrupt handling during TSP processing. 5708 5709### Issues resolved since last release 5710 5711- Now support use of the model parameter `-C bp.secure_memory=1` in the Base 5712 FVPs (see **New features**). 5713- Support for secure world interrupt handling now available (see **New 5714 features**). 5715- Made enough SRAM savings (see **New features**) to enable the Test Secure-EL1 5716 Payload (BL3-2) to execute in Trusted SRAM by default. 5717- The tested filesystem used for this release (Linaro AArch64 OpenEmbedded 5718 14.04) now correctly reports progress in the console. 5719- Improved the Makefile structure to make it easier to separate out parts of the 5720 TF-A for re-use in platform ports. Also, improved target dependency checking. 5721 5722### Known issues 5723 5724- GICv3 support is experimental. The Linux kernel patches to support this are 5725 not widely available. There are known issues with GICv3 initialization in the 5726 TF-A. 5727- Dynamic image loading is not available yet. The current image loader 5728 implementation (used to load BL2 and all subsequent images) has some 5729 limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to 5730 loading errors, even if the images should theoretically fit in memory. 5731- TF-A still uses too much on-chip Trusted SRAM. A number of RAM usage 5732 enhancements have been identified to rectify this situation. 5733- CPU idle does not work on the advertised version of the Foundation FVP. Some 5734 FVP fixes are required that are not available externally at the time of 5735 writing. This can be worked around by disabling CPU idle in the Linux kernel. 5736- Various bugs in TF-A, UEFI and the Linux kernel have been observed when using 5737 Linaro toolchain versions later than 13.11. Although most of these have been 5738 fixed, some remain at the time of writing. These mainly seem to relate to a 5739 subtle change in the way the compiler converts between 64-bit and 32-bit 5740 values (e.g. during casting operations), which reveals previously hidden bugs 5741 in client code. 5742- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and 5743 its dispatcher (TSPD) is incomplete. Similarly for the PSCI section. 5744 5745## [0.3.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v0.2..refs/tags/v0.3) (2014-02-28) 5746 5747### New features 5748 5749- Support for Foundation FVP Version 2.0 added. The documented UEFI 5750 configuration disables some devices that are unavailable in the Foundation 5751 FVP, including MMC and CLCD. The resultant UEFI binary can be used on the 5752 AEMv8 and Cortex-A57-A53 Base FVPs, as well as the Foundation FVP. 5753 5754 \:::\{note} The software will not work on Version 1.0 of the Foundation FVP. 5755 \::: 5756 5757- Enabled third party contributions. Added a new contributing.md containing 5758 instructions for how to contribute and updated copyright text in all files to 5759 acknowledge contributors. 5760 5761- The PSCI CPU_SUSPEND API has been stabilised to the extent where it can be 5762 used for entry into power down states with the following restrictions: 5763 5764 - Entry into standby states is not supported. 5765 - The API is only supported on the AEMv8 and Cortex-A57-A53 Base FVPs. 5766 5767- The PSCI AFFINITY_INFO api has undergone limited testing on the Base FVPs to 5768 allow experimental use. 5769 5770- Required C library and runtime header files are now included locally in TF-A 5771 instead of depending on the toolchain standard include paths. The local 5772 implementation has been cleaned up and reduced in scope. 5773 5774- Added I/O abstraction framework, primarily to allow generic code to load 5775 images in a platform-independent way. The existing image loading code has been 5776 reworked to use the new framework. Semi-hosting and NOR flash I/O drivers are 5777 provided. 5778 5779- Introduced Firmware Image Package (FIP) handling code and tools. A FIP 5780 combines multiple firmware images with a Table of Contents (ToC) into a single 5781 binary image. The new FIP driver is another type of I/O driver. The Makefile 5782 builds a FIP by default and the FVP platform code expect to load a FIP from 5783 NOR flash, although some support for image loading using semi- hosting is 5784 retained. 5785 5786 \:::\{note} Building a FIP by default is a non-backwards-compatible change. ::: 5787 5788 \:::\{note} Generic BL2 code now loads a BL3-3 (non-trusted firmware) image 5789 into DRAM instead of expecting this to be pre-loaded at known location. This 5790 is also a non-backwards-compatible change. ::: 5791 5792 \:::\{note} Some non-trusted firmware (e.g. UEFI) will need to be rebuilt so 5793 that it knows the new location to execute from and no longer needs to copy 5794 particular code modules to DRAM itself. ::: 5795 5796- Reworked BL2 to BL3-1 handover interface. A new composite structure 5797 (bl31_args) holds the superset of information that needs to be passed from BL2 5798 to BL3-1, including information on how handover execution control to BL3-2 (if 5799 present) and BL3-3 (non-trusted firmware). 5800 5801- Added library support for CPU context management, allowing the saving and 5802 restoring of 5803 5804 - Shared system registers between Secure-EL1 and EL1. 5805 - VFP registers. 5806 - Essential EL3 system registers. 5807 5808- Added a framework for implementing EL3 runtime services. Reworked the PSCI 5809 implementation to be one such runtime service. 5810 5811- Reworked the exception handling logic, making use of both SP_EL0 and SP_EL3 5812 stack pointers for determining the type of exception, managing general purpose 5813 and system register context on exception entry/exit, and handling SMCs. SMCs 5814 are directed to the correct EL3 runtime service. 5815 5816- Added support for a Test Secure-EL1 Payload (TSP) and a corresponding 5817 Dispatcher (TSPD), which is loaded as an EL3 runtime service. The TSPD 5818 implements Secure Monitor functionality such as world switching and EL1 5819 context management, and is responsible for communication with the TSP. 5820 5821 \:::\{note} The TSPD does not yet contain support for secure world interrupts. 5822 \::: 5823 5824 \:::\{note} The TSP/TSPD is not built by default. ::: 5825 5826### Issues resolved since last release 5827 5828- Support has been added for switching context between secure and normal worlds 5829 in EL3. 5830- PSCI API calls `AFFINITY_INFO` & `PSCI_VERSION` have now been tested (to a 5831 limited extent). 5832- The TF-A build artifacts are now placed in the `./build` directory and 5833 sub-directories instead of being placed in the root of the project. 5834- TF-A is now free from build warnings. Build warnings are now treated as 5835 errors. 5836- TF-A now provides C library support locally within the project to maintain 5837 compatibility between toolchains/systems. 5838- The PSCI locking code has been reworked so it no longer takes locks in an 5839 incorrect sequence. 5840- The RAM-disk method of loading a Linux file-system has been confirmed to work 5841 with the TF-A and Linux kernel version (based on version 3.13) used in this 5842 release, for both Foundation and Base FVPs. 5843 5844### Known issues 5845 5846The following is a list of issues which are expected to be fixed in the future 5847releases of TF-A. 5848 5849- The TrustZone Address Space Controller (TZC-400) is not being programmed yet. 5850 Use of model parameter `-C bp.secure_memory=1` is not supported. 5851- No support yet for secure world interrupt handling. 5852- GICv3 support is experimental. The Linux kernel patches to support this are 5853 not widely available. There are known issues with GICv3 initialization in 5854 TF-A. 5855- Dynamic image loading is not available yet. The current image loader 5856 implementation (used to load BL2 and all subsequent images) has some 5857 limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to 5858 loading errors, even if the images should theoretically fit in memory. 5859- TF-A uses too much on-chip Trusted SRAM. Currently the Test Secure-EL1 Payload 5860 (BL3-2) executes in Trusted DRAM since there is not enough SRAM. A number of 5861 RAM usage enhancements have been identified to rectify this situation. 5862- CPU idle does not work on the advertised version of the Foundation FVP. Some 5863 FVP fixes are required that are not available externally at the time of 5864 writing. 5865- Various bugs in TF-A, UEFI and the Linux kernel have been observed when using 5866 Linaro toolchain versions later than 13.11. Although most of these have been 5867 fixed, some remain at the time of writing. These mainly seem to relate to a 5868 subtle change in the way the compiler converts between 64-bit and 32-bit 5869 values (e.g. during casting operations), which reveals previously hidden bugs 5870 in client code. 5871- The tested filesystem used for this release (Linaro AArch64 OpenEmbedded 5872 14.01) does not report progress correctly in the console. It only seems to 5873 produce error output, not standard output. It otherwise appears to function 5874 correctly. Other filesystem versions on the same software stack do not exhibit 5875 the problem. 5876- The Makefile structure doesn't make it easy to separate out parts of the TF-A 5877 for re-use in platform ports, for example if only BL3-1 is required in a 5878 platform port. Also, dependency checking in the Makefile is flawed. 5879- The firmware design documentation for the Test Secure-EL1 Payload (TSP) and 5880 its dispatcher (TSPD) is incomplete. Similarly for the PSCI section. 5881 5882## [0.2.0](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/4b825dc642cb6eb9a060e54bf8d69288fbee4904..refs/tags/v0.2) (2013-10-25) 5883 5884### New features 5885 5886- First source release. 5887- Code for the PSCI suspend feature is supplied, although this is not enabled by 5888 default since there are known issues (see below). 5889 5890### Issues resolved since last release 5891 5892- The "psci" nodes in the FDTs provided in this release now fully comply with 5893 the recommendations made in the PSCI specification. 5894 5895### Known issues 5896 5897The following is a list of issues which are expected to be fixed in the future 5898releases of TF-A. 5899 5900- The TrustZone Address Space Controller (TZC-400) is not being programmed yet. 5901 Use of model parameter `-C bp.secure_memory=1` is not supported. 5902- No support yet for secure world interrupt handling or for switching context 5903 between secure and normal worlds in EL3. 5904- GICv3 support is experimental. The Linux kernel patches to support this are 5905 not widely available. There are known issues with GICv3 initialization in 5906 TF-A. 5907- Dynamic image loading is not available yet. The current image loader 5908 implementation (used to load BL2 and all subsequent images) has some 5909 limitations. Changing BL2 or BL3-1 load addresses in certain ways can lead to 5910 loading errors, even if the images should theoretically fit in memory. 5911- Although support for PSCI `CPU_SUSPEND` is present, it is not yet stable and 5912 ready for use. 5913- PSCI API calls `AFFINITY_INFO` & `PSCI_VERSION` are implemented but have not 5914 been tested. 5915- The TF-A make files result in all build artifacts being placed in the root of 5916 the project. These should be placed in appropriate sub-directories. 5917- The compilation of TF-A is not free from compilation warnings. Some of these 5918 warnings have not been investigated yet so they could mask real bugs. 5919- TF-A currently uses toolchain/system include files like stdio.h. It should 5920 provide versions of these within the project to maintain compatibility between 5921 toolchains/systems. 5922- The PSCI code takes some locks in an incorrect sequence. This may cause 5923 problems with suspend and hotplug in certain conditions. 5924- The Linux kernel used in this release is based on version 3.12-rc4. Using this 5925 kernel with the TF-A fails to start the file-system as a RAM-disk. It fails to 5926 execute user-space `init` from the RAM-disk. As an alternative, the 5927 VirtioBlock mechanism can be used to provide a file-system to the kernel. 5928 5929______________________________________________________________________ 5930 5931*Copyright (c) 2013-2022, Arm Limited and Contributors. All rights reserved.* 5932 5933[mbed tls releases]: https://tls.mbed.org/tech-updates/releases 5934[pr#1002]: https://github.com/ARM-software/arm-trusted-firmware/pull/1002#issuecomment-312650193 5935[sdei specification]: http://infocenter.arm.com/help/topic/com.arm.doc.den0054a/ARM_DEN0054A_Software_Delegated_Exception_Interface.pdf 5936[tf-issue#501]: https://github.com/ARM-software/tf-issues/issues/501 5937