8.4.4.7 Changing the Configuration On-the-Fly
If the configuration must be changed on-the-fly, the following considerations must be taken into account:
- Changing the settings of a TZC region:
- If the current accepted transaction falls into that region, it acts according to the previous settings for that region.
- All other outstanding transactions that fall into that region operate according to the new settings for that region.
- This can generate unpredictable behavior relating to exactly when the hardware settings take affect and the phase that a transaction is in when the change occurs.
- No outstanding transactions must use the region when a change of setting is in progress. To achieve this:
- Ensure that no access is sent to the region during the period when the region settings are being changed. However, the TZC has no control over this and therefore the other hosts in the system are responsible for this.
- The gate keeper can be closed. When all gate keeper status bits go to 0, there are no outstanding accesses and therefore changes to the regions can be made before opening the gates again.
When there are no outstanding transactions, the settings can be changed by writing to the Configuration registers (TZC_nnn_BUILD_CONFIG). To ensure that all updates have been committed before starting transactions again, a read operation of the registers TZC_nnn_BUILD_CONFIG must be performed.