blob: c90f0167e52d628c296bae8d92a58448b13729f9 [file] [log] [blame] [view]
Olivier Deprez55b74f82021-11-10 11:32:31 +01001# Change log
2
Olivier Deprezb7d27ac2022-11-14 09:49:50 +01003## v2.8
4#### Highlights
5
6* FF-A v1.1 partition runtime model and CPU cycle allocation modes
7 * Implemented partition runtime models for secure partitions entered at
8 initialization, processing a secure interrupt or as a result of allocation
Demi Marie Obenour1a55b772023-02-15 10:38:26 -05009 of CPU cycles by `FFA_RUN` and `FFA_MSG_SEND_DIRECT_REQ` ABIs invocations.
Olivier Deprezb7d27ac2022-11-14 09:49:50 +010010 * Added state machine checks related to above, in which a partition has a
11 set of allowed transitions to enter and exit a partition runtime model.
12 * Implemented CPU cycle allocation modes and winding/unwinding of call
13 chains.
14 * Refactored managed exit field in manifests to use one of the possible
15 "Action for a non-secure interrupt" defined by the specification.
16 * Added support for preferred managed exit signal (among vIRQ or vFIQ).
17 * Support for precedence of the NS interrupt action in unwinding a normal
18 world scheduled call chain.
19* FF-A v1.1 memory sharing
20 * Preparation changes for multiple borrowers and fragmented memory
21 sharing support.
22 * Fixed memory attributes checks as they are passed to memory sharing
Demi Marie Obenour1a55b772023-02-15 10:38:26 -050023 primitives (`FFA_MEM_SHARE/LEND/DONATE` and `FFA_MEM_RETRIEVE_REQ`).
Olivier Deprezb7d27ac2022-11-14 09:49:50 +010024 * Memory sharing support for S-EL0 partitions.
25* FF-A v1.1 notifications
26 * Added framework notifications support.
27 The supported use case is for indirect messaging to notify a partition
28 about a message pending in its RX buffer (or 'RX buffer full' framework
29 notification).
30 * Added support for notification pending interrupt injection on a RX buffer
31 full event.
32* FF-A v1.1 Indirect messaging
33 * Added support for VM-VM, VM-SP, SP-SP indirect messaging scenarios.
34 * Added partition message header structures.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -050035 * Implemented `FFA_MSG_SEND2` and `FFA_RX_ACQUIRE` ABIs.
Olivier Deprezb7d27ac2022-11-14 09:49:50 +010036 * Refactored VM internal state tracking in the SPMC to support forwarding
37 of RX/TX buffer mapping/unmapping, notifications creation/destruction,
38 RX buffer acquire/release.
39 * Refactored VM mailbox states to support the RX buffer full event.
40* FF-A console log ABI
Demi Marie Obenour1a55b772023-02-15 10:38:26 -050041 * Added the `FFA_CONSOLE_LOG` ABI as a simple and standardized means to print
Olivier Deprezb7d27ac2022-11-14 09:49:50 +010042 characters without depending on an MMIO device mapped into the VM.
43 This allows a VM to print debug or information strings through an
44 hypervisor call service using general-purpose registers rather than a
45 shared buffer. Multiple VMs can use the ABI concurrently as the SPMC
46 buffers data per VM and serializes output to the physical serial device.
47* FF-A v1.1 Setup & Discovery
Demi Marie Obenour1a55b772023-02-15 10:38:26 -050048 * Updated the `PARTITION_INFO_GET` ABI to return the partition UUID in the
Olivier Deprezb7d27ac2022-11-14 09:49:50 +010049 partition information descriptors. Additionaly the partition information
50 descriptor size is returned as part of the response.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -050051 * Added `FFA_MEM_FRAG_RX/TX` as supported interface in `FFA_FEATURE` response.
Olivier Deprezb7d27ac2022-11-14 09:49:50 +010052* Image footprint optimization
53 * The following updates were made with the general idea of reducing the
54 flash and RAM footprints. They are also means to adjust the memory
55 utilization based on the target market segment.
56 * Added platform defines to state the per-VM maximum number of memory and
57 device regions, interrupts and SMMU streams per device.
58 * Dynamically allocate per vCPU notifications.
59 * Allocate vCPU structures from heap.
60 * Manifest data allocation from page pool.
61 * Fixed core stacks section with noload attribute.
62* GIC
63 * Added support for GICv3.1 extended SPI / PPI INTID ranges.
64 * Add build options to extend the number of supported virtual interrupt IDs.
65* SVE
66 * Detect the platform supported SVE vector length or set the limit for the
67 lower ELs.
68 * Increased the SVE NS context to support the maximum vector length
69 permitted by the architecture.
70 * Above changes lift the limit about a fixed sized SVE vector length (of
71 512 bits) used in earlier releases.
72* Misc
73 * Partition manifest parsing:
74 * Added checks forbidding SPs to declare overlapping memory regions and
75 conflicting device interrupt ID resources.
76 * Add ability to specify the security state of a memory region
77 for S-EL0 partitions.
78 * Fixed system register trap exception injection.
79 * Removed hypervisor tables defragmentation.
80 * Add ability to define a log level per platform.
81 * Disable alignment check for EL0 partitions (when VHE is enabled).
82
83#### Known limitations:
84* S-EL0 partitions interrupt handling is work in progress.
85* Normal world to secure world fragmented memory sharing and sharing to multiple
86 borrowers is work in progress.
87
Olivier Deprez79e95222022-05-09 17:21:08 +020088## v2.7
89#### Highlights
90
91* Boot protocol (FF-A v1.1 EAC0)
92 * The SPMC primarily supports passing the SP manifest address at boot time.
93 * In a secure partition package, partition manifest and image offsets are
94 configurable.
95 * Allows for larger partition manifest sizes.
96* Setup and discovery (FF-A v1.1 EAC0)
Demi Marie Obenour1a55b772023-02-15 10:38:26 -050097 * `FFA_VERSION` is forwarded from SPMD to SPMC. SPMC records the version of
Olivier Deprez79e95222022-05-09 17:21:08 +020098 a normal world endpoint.
99 * Added UUID to partition info descriptors.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500100 * Introduced count flag to `FFA_PARTITION_INFO_GET`.
Olivier Deprez79e95222022-05-09 17:21:08 +0200101* Interrupt handling (FF-A v1.1 Beta0)
102 * Physical GIC registers trapped when accessed from secure partitions.
103 * Priority mask register saved/restored on world switches.
104 * Interrupts masked before resuming a pre-empted vCPU.
105 * Implemented implicit secure interrupt completion signal.
106 * Allow unused GICR frame for non-existent PEs.
107* Notifications (FF-A v1.1 EAC0)
108 * Implemented notification pending interrupt and additional test coverage.
109* MTE stack tagging
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500110 * Implemented `FEAT_MTE2` stack tagging support at S-EL2.
Olivier Deprez79e95222022-05-09 17:21:08 +0200111 * Core stacks marked as normal tagged memory. A synchronous abort triggers
112 on a load/store tag check failure.
113 * This permits detection of wrong operations affecting buffers allocated
114 from the stack.
115* FF-A v1.0 compliance
116 * Check composite memory region offset is defined in FF-A memory sharing.
117 * Check sender and receiver memory attributes in a FF-A memory sharing
118 operation match the attributes expected in the Hafnium implementation.
119 * Fix clear memory bit use in FF-A memory sharing from NWd to SWd.
120 * Prevent FF-A memory sharing from a SP to a NS endpoint.
121 * Reject a FF-A memory retrieve operation with the 'Address Range Alignment
122 Hint' bit set (not supported by the implementation).
123 * Refine usage of FF-A memory sharing 'clear memory flag'.
124* Misc
125 * Improved extended memory address ranges support:
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500126 * 52 bits PA (`FEAT_LPA`/`FEAT_LPA2`) architecture extension detected
Olivier Deprez79e95222022-05-09 17:21:08 +0200127 results in limiting the EL2 Stage-1 physical address range to 48 bits.
128 * In the FF-A memory sharing operations, harden address width checks on
129 buffer mapping.
130 * Improved MP SP and S-EL0 partitions support
131 * The physical core index is passed to a SP vCPU0 on booting.
132 * Added MP SP and S-EL0 partitions boot test coverage.
133 * Emulate SMCCC VERSION to the primary VM.
134 * Memory config registers (non-secure and secure virtualization control and
135 translation table base) moved to the vCPU context.
136 * EL2 stage 1 mapping extended to 1TB to support systems with physical
137 address space larger than 512GB.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500138 * `FFA_RUN` ABI hardened to check the vCPU index matches the PE index onto
Olivier Deprez79e95222022-05-09 17:21:08 +0200139 which a vCPU is requested to run.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500140 * Fixed missing ISB after `CPTR_EL2` update upon PE initialization.
Olivier Deprez79e95222022-05-09 17:21:08 +0200141 * Fixed stage 2 default shareability to inner shareable (from non-shareable)
142 to better support vCPU migration.
143 * Fixed manifest structure allocation from BSS rather than stack
144 at initialization.
145 * Fixed an issue with FF-A memory reclaim executed after memory donate
146 resulting in a returned error code.
147* Build and test environment
148 * Add the ability to use an out-of-tree toolchain.
149 * Primary intent is to permit building Hafnium on Aarch64 hosts.
150 * CI runs using the toolchain versioned in prebuilts submodule.
151 A developer can still use this version as well.
152 * Introduce an assert macro enabled by a build option on the command line.
153 Assertions are checked by default. Production builds can optionally
154 disable assertions.
155 * Added manifest options to permit loading VMs using an FF-A manifest.
156* CI
157 * Added job running the Hypervisor + SPMC configuration on patch
158 submissions.
159 * FVP
160 * Enable secure memory option.
161 * Remove restriction on speculative execution options.
162 * Updated to use model version 11.17 build 21.
163 * Updated linux submodule to v5.10.
164 * VHE EL0 partitions tests automated through jenkins.
165
166#### Known limitations:
167* FF-A v1.1 EAC0 implementation is partial mainly on interrupt handling and
168 memory sharing.
169* Hafnium limits physical interrupt IDs to 64. The legacy virtual interrupt
170 controller driver limits to 64. The recent addition of physical interrupt
171 handling in the SPMC through the GIC assumes a 1:1 mapping of a physical
172 interrupt ID to a virtual interrupt ID.
173* Secure timer virtualization is not supported.
174* The security state of memory or device region cannot be specified in a SP
175 manifest.
176
Olivier Deprez55b74f82021-11-10 11:32:31 +0100177## v2.6
178#### Highlights
179* FF-A Setup and discovery
180 * FF-A build time version updated to v1.1.
181 * Managed exit and notifications feature support enabled in SP manifests.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500182 * Updated `FFA_FEATURES` to permit discovery of managed exit, schedule receiver,
Olivier Deprez55b74f82021-11-10 11:32:31 +0100183 and notification pending interrupt IDs.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500184 * `FFA_PARTITION_INFO_GET` updated to permit managed exit and notification
Olivier Deprez55b74f82021-11-10 11:32:31 +0100185 support discovery.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500186 * `FFA_SPM_ID_GET` added to permit discovering the SPMC endpoint ID (or the
Olivier Deprez55b74f82021-11-10 11:32:31 +0100187 SPMD ID at the secure physical FF-A instance).
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500188 * `FFA_RXTX_UNMAP` implementation added.
Olivier Deprez55b74f82021-11-10 11:32:31 +0100189* FF-A v1.1 notifications
190 * Added ABIs permitting VM (or OS kernel) to SP, and SP to SP asynchronous
191 signaling.
192 * Added generation of scheduler receiver (NS physical) and notification
193 pending (secure virtual) interrupts.
194 * The schedule receiver interrupt is donated from the secure world SGI
195 interrupt ID range.
196* FF-A v1.1 interrupt handling
197 * Added a GIC driver at S-EL2 permitting to trap and handle non-secure and
198 secure interrupts while the secure world runs.
199 * Added forwarding and handling of a secure interrupt while the normal world
200 runs.
201 * Added secure interrupt forwarding to the secure partition that had the
202 interrupt registered in its partition manifest.
203 * The interrupt deactivation happens through the Hafnium para-virtualized
204 interrupt controller interface.
205 * vCPU states, run time models and SP scheduling model are revisited as per
206 FF-A v1.1 Beta0 specification (see 'Known limitations' section below).
207* S-EL0 partitions support
208 * Added support for VHE architecture extension in the secure world (through
209 a build option).
210 * A partition bootstraps as an S-EL0 partition based on the exception-level
211 field in the FF-A manifest.
212 * It permits the implementation of applications on top of Hafnium without
213 relying on an operating system at S-EL1.
214 * It leverages the EL2&0 Stage-1 translation regime. Apps use FF-A
215 ABIs through the SVC conduit.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500216 * Added FF-A v1.1 `FFA_MEM_PERM_GET/SET` ABIs permitting run-time update of
Olivier Deprez55b74f82021-11-10 11:32:31 +0100217 memory region permissions.
218 * It supersedes the existing S-EL1 shim architecture (without removing its
219 support).
220 * S-EL1 SP, S-EL0 SP or former S-EL0 SP+shim can all co-exist in the same
221 system.
222* SVE
223 * Support for saving/restoring the SVE live state such that S-EL2/Hafnium
224 preserves the normal world state on world switches.
225 * Secure partitions are permitted to use FP/SIMD while normal world uses
226 SVE/SIMD/FP on the same core.
227 * The SVE NS live state comprises FPCR/FPSR/FFR/p[16]/Z[32] registers.
228* LLVM/Clang 12
229 * The toolchain stored in prebuilts submodule is updated to LLVM 12.0.5.
230 * Build/static analyzer fixes done in the top and third party projects.
231 * Linux sources (used by the test infrastructure) are updated to 5.4.148.
232 The linux test kernel module build is updated to only depend on LLVM
233 toolchain.
234* Hafnium CI improvements
235 * Added two configurations permitting Hafnium testing in the secure world.
236 * First configuration launches both the Hypervisor in the normal world
237 and the SPMC in the secure world. This permits thorough FF-A ABI testing
238 among normal and secure world endpoints.
239 * The second configuration launches the SPMC alone for component testing
240 or SP to SP ABI testing.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500241 * Hafnium CI Qemu version updated to v6.0.0 (implements VHE and `FEAT_SEL2`
Olivier Deprez55b74f82021-11-10 11:32:31 +0100242 extensions).
243* FF-A compliance fixes
244 * Added checks for valid memory permissions values in manifest memory and
245 device regions declarations.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500246 * `FFA_FEATURES` fixed to state indirect messages are not supported by
Olivier Deprez55b74f82021-11-10 11:32:31 +0100247 the SPMC.
248 * Limit an SP to emit a direct request to another SP only.
249 * Memory sharing: fixed input validation and return values.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500250 * `FFA_RXTX_MAP` fixed returned error codes.
251 * `FFA_MSG_WAIT` input parameters check hardened.
Olivier Deprez55b74f82021-11-10 11:32:31 +0100252
253#### Known limitations:
254* S-EL0 partitions/VHE: the feature is in an experimental stage and not all use
255 cases have been implemented or tested. Normal world to SP and SP to SP memory
256 sharing is not tested. Interrupt handling is not tested.
257* The current implementation does not support handling a secure interrupt that
258 is triggered while currently handling a secure interrupt. This restricts to
259 scenarios described in Table 8.13 and Table 8.14 of the FF-A v1.1 Beta0
260 specification. Priority Mask Register is not saved/restored during context
261 switching while handling secure interrupt.
262* Hafnium CI: scenarios involving the Hypervisor are left as test harness
263 purposes only, not meant for production use cases.
Daniel Boulbyccb70682021-04-28 19:40:39 +0100264
265## v2.5
266#### Highlights
267* BTI/Pointer authentication support
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500268 * Add branch protection build option for `FEAT_PAuth` and `FEAT_BTI` to the
Daniel Boulbyccb70682021-04-28 19:40:39 +0100269 clang command line. This only affects the S-EL2 image.
270 * Enable pointer authentication by supplying a platform defined pseudo
271 random key.
272 * Enable BTI by setting the guarded page bit in MMU descriptors for
273 executable pages.
274* SMMUv3.2 S-EL2 support
275 * Add support for SMMUv3 driver to perform stage 2 translation, protection
276 and isolation of upstream peripheral device's DMA transactions.
277* FF-A v1.0 Non-secure interrupt handling
278 * Trap physical interrupts to S-EL2 when running a SP.
279 * Handle non secure interrupts that occur while an SP is executing,
280 performing managed exit if supported.
281 * Add basic support for the GICv3 interrupt controller for the AArch64
282 platform.
283* FF-A power management support at boot time
284 * Provide platform-independent power management implementations for the
285 Hypervisor and SPMC.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500286 * Implement the `FFA_SECONDARY_EP_REGISTER` interface for an MP SP or SPMC
Daniel Boulbyccb70682021-04-28 19:40:39 +0100287 to register the secondary core cold boot entry point for each of their
288 execution contexts.
289 * Introduce a generic "SPMD handler" to process the power management events
290 that may be conveyed from SPMD to SPMC, such as core off.
291* FF-A Direct message interfaces
292 * Introduce SP to SP direct messaging.
293 * Fix bug in the MP SP to UP SP direct response handling.
294* FF-A Memory sharing interfaces
295 * Introduce SP to SP memory sharing.
296 * When a sender of a memory management operation reclaims memory, set the
297 memory regions permissions back to it's original configuration.
298 * Require default permissions to be supplied to the function
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500299 `ffa_memory_permissions_to_mode`, so in the case where no permissions are
Daniel Boulbyccb70682021-04-28 19:40:39 +0100300 specified for a memory operation, the data and instruction permissions can
301 be set to the default.
302 * Encode Bit[63] of the memory region handle according to if the handle is
303 allocated by the Hypervisor or SPMC.
304* FF-A v1.0 spec compliance
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500305 * Return `INVALID_PARAMETER` error code instead of `NOT_SUPPORTED` for direct
Daniel Boulbyccb70682021-04-28 19:40:39 +0100306 messaging interfaces when an invalid sender or receiver id is given.
307 * Check that reserved parameter registers are 0 when invoking direct
308 messaging ABI interfaces.
309 * For SMC32 compliant direct message interfaces, only copy 32-bits
310 parameter values.
311 * Change the FF-A error codes to 32-bit to match the FF-A specification.
312 * Fix consistency with maintaining the calling convention bit of the
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500313 func id between the `ffa_handler` and the `FFA_FEATURES` function.
Daniel Boulbyccb70682021-04-28 19:40:39 +0100314* Remove primary VM dependencies in the SPMC
315 * Treat normal world as primary VM when running in the secure world.
316 * Create an SPMC boot flow.
317* Hafnium CI
318 * Enable Hafnium CI to include tests for Hafnium SPMC.
319 * Add basic exception handler to service VM's.
320* SIMD support
321 * Add saving/restoring of other world FP/NEON/SIMD state when entering and
322 exiting the SPMC.
323* SPMC early boot cache fix
324 * Import data cache clean and invalidation helpers from TF-A project and
325 provide an arch module for cache operations.
326 * Invalidate the SPMC image in the data cache at boot time to prevent
327 potential access to stale cache entries left by earlier boots stages.
328* Misc and bug fixes
329 * Complete vCPU state save prior to normal world exit.
330 * Update S-EL2 Stage-1 page table shareability from outer to inner.
331 * Add PL011 UART initialization code to set the IDRD and FBRD registers
332 according to the UART clock and baud rate specified at build time.
333 * License script checker fixes.
334
335#### Known limitations:
336* Secure interrupts not supported.
337* FF-A indirect message interface not supported in the secure world.
338* Only supporting models of MultiProcessor SP (vCPUs pinned to physical
339 CPUs) or UniProcessor SP (single vCPU).
340* The first secure partition booted must be a MP SP.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500341* `FFA_RXTX_UNMAP` not implemented.
Daniel Boulbyccb70682021-04-28 19:40:39 +0100342* Use of an alternate caller provided buffer from RX/TX buffers for memory
343 sharing operations is not implemented.
344* A memory retrieve request to SPMC does not support the caller endpoint to
345 provide the range of IPA addresses to map the region to.
Olivier Deprez62405ad2020-10-26 18:51:49 +0100346
347## v2.4
348
349This is the first drop to implement the TrustZone secure side S-EL2 firmware
Olivier Deprez410a3ac2020-11-04 13:54:15 +0100350(SPM Core component) complying with FF-A v1.0.
Olivier Deprez62405ad2020-10-26 18:51:49 +0100351It is a companion to the broader TF-A v2.4 release.
352The normal world Hypervisor is maintained functional along with the
353Hafnium CI test suite.
354
Daniel Boulbyccb70682021-04-28 19:40:39 +0100355#### Highlights
Olivier Deprez62405ad2020-10-26 18:51:49 +0100356* FF-A v1.0 Setup and discovery interface
357 * Hypervisor implementation re-used and extended to the SPMC and SPs.
358 * Added partition info get ABI and appropriate properties response depending
359 on partition capabilities (PVM, Secondary VM or Secure Partitions).
360 * FF-A device-tree manifest parsing.
361 * FF-A partitions can declare memory/device regions, and RX/TX buffers that
362 the SPMC sets up in the SP EL1&0 Stage-2 translation regime at boot time.
363 * FF-A IDs normal and secure world split ranges.
364 * The SPMC maps the Hypervisor (or OS kernel) RX/TX buffers as non-secure
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500365 buffers in its EL2 Stage-1 translation regime on `FFA_RXTX_MAP` ABI
Olivier Deprez62405ad2020-10-26 18:51:49 +0100366 invocation from the non-secure physical FF-A instance.
367* FF-A v1.0 Direct message interface
368 * Added implementation for the normal world Hypervisor and test cases.
369 * Implementation extended to the SPMC and SPs.
370 * Direct message requests emitted from the PVM to a Secondary VM or a
371 Secure Partition (or OS Kernel to a Secure Partition). Direct message
372 responses emitted from Secondary VMs and Secure Partitions to the PVM.
373 * The secure world represents the "other world" (normal world Hypervisor
374 or OS kernel) vCPUs in an abstract "Hypervisor VM".
375* FF-A v1.0 memory sharing
376 * Hypervisor implementation re-used and extended to the SPMC and SPs.
377 * A NS buffer can be shared/lent/donated by a VM to a SP (or OS Kernel
378 to a SP).
379 * The secure world configures Stage-1 NS IPA output to access the NS PA
380 space.
381 * The secure world represents the "other world" (normal world Hypervisor
382 or OS kernel) memory pages in an abstract "Hypervisor VM" and tracks
383 memory sharing permissions from incoming normal world requests.
384* Secure world enablement
Olivier Deprez410a3ac2020-11-04 13:54:15 +0100385 * Secure Partitions booted in sequence on their primary execution context,
386 according to the boot order field in their partition manifest.
387 This happens during the secure boot process before the normal world
388 actually runs.
Olivier Deprez62405ad2020-10-26 18:51:49 +0100389 * The SPMC implements the logic to receive FF-A messages through the EL3
390 SPMD, process them, and either return to the SPMD (and normal world) or
391 resume a Secure Partition.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500392 * Extract NS bit from `HPFAR_EL2` on Stage-2 page fault.
Olivier Deprez62405ad2020-10-26 18:51:49 +0100393 * Prevent setup of LOR regions in SWd.
394 * Avoid direct PSCI calls down to EL3.
395* Platforms
396 * Added Arm FVP secure Hafnium build support.
397 * Added Arm TC0 "Total Compute" secure Hafnium build support.
398* Other improvements
399 * Re-hosting to trustedfirmware.org
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500400 * `busy_secondary` timer increased to improve CI stability.
Olivier Deprez62405ad2020-10-26 18:51:49 +0100401 * Removed legacy Hypervisor calls.
Demi Marie Obenour1a55b772023-02-15 10:38:26 -0500402 * Fix `CPTR_EL2` TTA bit position.
403 * Report `FAR_EL2` on injecting EL1 exception.
Daniel Boulbyccb70682021-04-28 19:40:39 +0100404#### Known limitations:
405* Not all fields of the FF-A manifest are actually processed by the Hafnium
406 device-tree parser.
407* SP to SP communication not supported.
408* SP to SP memory sharing not supported.
409* S-EL1 and SIMD contexts shall be saved/restored by EL3.
410* Multi-endpoint memory sharing not supported.
411* Interrupt management limited to trapping physical interrupts to
412 the first S-EL1 SP. Physical interrupt trapping at S-EL2 planned as
413 next release improvement.
414* Validation mostly performed using first SP Execution Context (vCPU0). More
415 comprehensive multicore enablement planned as next release improvement.