diff options
| author | John Powell <john.powell@arm.com> | 2026-05-18 12:29:33 -0500 |
|---|---|---|
| committer | John Powell <john.powell@arm.com> | 2026-06-30 14:56:26 +0000 |
| commit | 779393ae1b092ec6f4e02c3a522b8e9ab8acd345 (patch) | |
| tree | 8fb6cb8f66876357e37ecc80089c5d87aaf9f6bd | |
| parent | 769380b33b0a20f6c05b22e6897680a9e28f573d (diff) | |
| download | arm-trusted-firmware-779393ae1b092ec6f4e02c3a522b8e9ab8acd345.tar.gz arm-trusted-firmware-779393ae1b092ec6f4e02c3a522b8e9ab8acd345.zip | |
feat(lfa): xlat changes for BL31 LFA
This patch adds xlat library changes needed to support live
activation of BL31 images.
Signed-off-by: John Powell <john.powell@arm.com>
Change-Id: I3956542b7978133dddcb0d1ace5512b6cfbfedc0
| -rw-r--r-- | include/lib/xlat_tables/xlat_tables_v2.h | 5 | ||||
| -rw-r--r-- | lib/xlat_tables_v2/xlat_tables_context.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/lib/xlat_tables/xlat_tables_v2.h b/include/lib/xlat_tables/xlat_tables_v2.h index bfc4e5ce0..88c23e15b 100644 --- a/include/lib/xlat_tables/xlat_tables_v2.h +++ b/include/lib/xlat_tables/xlat_tables_v2.h @@ -390,6 +390,11 @@ int xlat_change_mem_attributes_ctx(const xlat_ctx_t *ctx, uintptr_t base_va, size_t size, uint32_t attr); int xlat_change_mem_attributes(uintptr_t base_va, size_t size, uint32_t attr); +#if ENABLE_LFA_BL31 +/* Returns a pointer to the current xlat table, only used during BL31 LFA */ +const xlat_ctx_t *get_xlat_tables(void); +#endif + #ifdef PLAT_RO_XLAT_TABLES /* * Change the memory attributes of the memory region encompassing the higher diff --git a/lib/xlat_tables_v2/xlat_tables_context.c b/lib/xlat_tables_v2/xlat_tables_context.c index d6f809006..a648dd97a 100644 --- a/lib/xlat_tables_v2/xlat_tables_context.c +++ b/lib/xlat_tables_v2/xlat_tables_context.c @@ -120,6 +120,13 @@ int xlat_change_mem_attributes(uintptr_t base_va, size_t size, uint32_t attr) return xlat_change_mem_attributes_ctx(&tf_xlat_ctx, base_va, size, attr); } +#if ENABLE_LFA_BL31 +const xlat_ctx_t *get_xlat_tables(void) +{ + return &tf_xlat_ctx; +} +#endif + #ifdef PLAT_RO_XLAT_TABLES /* Change the memory attributes of the descriptors which resolve the address * range that belongs to the translation tables themselves, which are by default |
