This is a presentation on Dynamic Configuration and the associated Position Independent Executable Support (PIE) in Trusted Firmware-A (TF-A).
SFO17 had a BoF session (by Dan Handley) to discuss the implementation plan for dynamic configuration in firmware. General agreement was that this is a good feature to do and some of the envisaged use-cases were:
* Dynamic config of secure firmware features
* Dynamic firmware config using hardware configuration, security policies
* Modification of hardware configuration as seen by other software
* Centralized static firmware configuration etc
The presentation will focus on the implementation of dynamic configuration and how it can be utilized by TF-A partners. Some illustrations wherein ARM platforms dynamically configure the firmware for functionality and memory savings will also be provided.
Position Independent Executable (PIE) support for TF-A has been a long pending request from TF-A partners. The presentation will describe the technical details on how this feature was implemented in AArch64 version of TF-A. It will also cover some limitations of the implemented `dynamic relocation fixup` code and some code patterns in the firmware which had to be changed to simplify the fixup code implementation.
Soby Mathew / Tech Lead Trusted Firmware-A Arm