Hi All,
Please review the design of the TF-M HAL: https://review.trustedfirmware.org/c/trusted-firmware-m/+/4076.
This new design aims to make the TF-M more simple to integrate and porting to different platforms. The current version only includes the HAL API for the TF-M core, the HAL for Secure Partition will be the next step.
Main Context:
* There are 6 modules in the Core HAL: * Isolation API: Provides the necessary isolation functionalities required by the PSA FF and TBSA-M, and provides functions to SPM to check the validate of memory access. * Platform API: Provides the platform initial, receives platform data, system reset, etc. * Loader API: Provides the function to load partition and service and provides the necessary data to SPM. * Log dev API: Provides the log system functions. * Interrupt API: Provides the interrupt functions. * Debug API: Provides the debug functions.
* There are some sequence diagrams that help you to more quick and easy the using of the new HAL.
Main Change: There are some main changes to the TF-M core:
* Move most of the platform data from Core to the platform and need tools to support it. * The platform needs to provide the required necessary memory to the Core for its runtime data using.
* Load mode change. The platform needs to load the secure partition and provide the necessary info to the core.
Please see the design for more details and welcome comments.
BR, Edison