diff options
| author | Yann Gautier <yann.gautier@st.com> | 2026-09-01 17:32:55 +0200 |
|---|---|---|
| committer | Yann Gautier <yann.gautier@st.com> | 2026-09-07 13:41:30 +0200 |
| commit | 172467a75e8b259e8493b51291cc92fd2c93e0dc (patch) | |
| tree | 995e83879a301f07d0bfebdd991ec0708d08f4a2 | |
| parent | 04af9c91b343f0e4ff747b1aac6af1095a3c8a9c (diff) | |
| download | arm-trusted-firmware-172467a75e8b259e8493b51291cc92fd2c93e0dc.tar.gz arm-trusted-firmware-172467a75e8b259e8493b51291cc92fd2c93e0dc.zip | |
fix(xlat): check definition of PLAT_XLAT_TABLES_DYNAMIC flag
When enabling -Wundef, we can see this warning:
include/lib/xlat_tables/xlat_tables_v2_helpers.h:81:5: error:
'PLAT_XLAT_TABLES_DYNAMIC' is not defined, evaluates to '0'
[-Werror=undef]
81 | #if PLAT_XLAT_TABLES_DYNAMIC
| ^~~~~~~~~~~~~~~~~~~~~~~~
As the flag can be defined either with `call add_defines`, or directly
added to BL*_CFLAGS, the easier way to correct those warning is to
first check the flag is defined and then that it is set, with:
`#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC`
Change-Id: Ifbd20161d90e3eab46352393760fb0c01d24785c
Signed-off-by: Yann Gautier <yann.gautier@st.com>
| -rw-r--r-- | include/lib/xlat_tables/xlat_tables_v2.h | 2 | ||||
| -rw-r--r-- | include/lib/xlat_tables/xlat_tables_v2_helpers.h | 4 | ||||
| -rw-r--r-- | lib/xlat_tables_v2/xlat_tables_context.c | 4 | ||||
| -rw-r--r-- | lib/xlat_tables_v2/xlat_tables_core.c | 12 | ||||
| -rw-r--r-- | lib/xlat_tables_v2/xlat_tables_private.h | 2 | ||||
| -rw-r--r-- | lib/xlat_tables_v2/xlat_tables_utils.c | 2 |
6 files changed, 13 insertions, 13 deletions
diff --git a/include/lib/xlat_tables/xlat_tables_v2.h b/include/lib/xlat_tables/xlat_tables_v2.h index 88c23e15b..d2c3a8c95 100644 --- a/include/lib/xlat_tables/xlat_tables_v2.h +++ b/include/lib/xlat_tables/xlat_tables_v2.h @@ -298,7 +298,7 @@ void mmap_add_region_alloc_va_ctx(xlat_ctx_t *ctx, mmap_region_t *mm); */ void mmap_add_alloc_va(mmap_region_t *mm); -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC /* * Add a dynamic region with defined base PA and base VA. This type of region * can be added and removed even after the translation tables are initialized. diff --git a/include/lib/xlat_tables/xlat_tables_v2_helpers.h b/include/lib/xlat_tables/xlat_tables_v2_helpers.h index 77277615f..8af1f9f70 100644 --- a/include/lib/xlat_tables/xlat_tables_v2_helpers.h +++ b/include/lib/xlat_tables/xlat_tables_v2_helpers.h @@ -78,7 +78,7 @@ struct xlat_ctx { * Keep track of how many regions are mapped in each table. The base * table can't be unmapped so it isn't needed to keep track of it. */ -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC int *tables_mapped_regions; #endif /* PLAT_XLAT_TABLES_DYNAMIC */ @@ -112,7 +112,7 @@ struct xlat_ctx { int xlat_regime; }; -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC #define XLAT_ALLOC_DYNMAP_STRUCT(_ctx_name, _xlat_tables_count) \ static int _ctx_name##_mapped_regions[_xlat_tables_count]; diff --git a/lib/xlat_tables_v2/xlat_tables_context.c b/lib/xlat_tables_v2/xlat_tables_context.c index a648dd97a..56166988b 100644 --- a/lib/xlat_tables_v2/xlat_tables_context.c +++ b/lib/xlat_tables_v2/xlat_tables_context.c @@ -60,7 +60,7 @@ void mmap_add_alloc_va(mmap_region_t *mm) } } -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC int mmap_add_dynamic_region(unsigned long long base_pa, uintptr_t base_va, size_t size, unsigned int attr) @@ -207,7 +207,7 @@ int xlat_make_tables_readonly(void) * region. Therefore, in this case we have to assume that the whole address * space size might be mapped. */ -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC #define MAX_PHYS_ADDR tf_xlat_ctx.pa_max_address #else #define MAX_PHYS_ADDR tf_xlat_ctx.max_pa diff --git a/lib/xlat_tables_v2/xlat_tables_core.c b/lib/xlat_tables_v2/xlat_tables_core.c index 023b7c890..c36bfbdd2 100644 --- a/lib/xlat_tables_v2/xlat_tables_core.c +++ b/lib/xlat_tables_v2/xlat_tables_core.c @@ -30,7 +30,7 @@ static inline __attribute__((unused)) void xlat_clean_dcache_range(uintptr_t add } } -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC /* * The following functions assume that they will be called using subtables only. @@ -290,7 +290,7 @@ static inline unsigned int xlat_tables_va_to_index(const uintptr_t table_base_v return (unsigned int)((va - table_base_va) >> XLAT_ADDR_SHIFT(level)); } -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC /* * From the given arguments, it decides which action to take when unmapping the @@ -608,7 +608,7 @@ static uintptr_t xlat_tables_map_region(xlat_ctx_t *ctx, mmap_region_t *mm, table_idx_va = xlat_tables_find_start_va(mm, table_base_va, level); table_idx = xlat_tables_va_to_index(table_base_va, table_idx_va, level); -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC if (level > ctx->base_level) xlat_table_inc_regions_count(ctx, table_base); #endif @@ -768,7 +768,7 @@ static int mmap_add_region_check(const xlat_ctx_t *ctx, const mmap_region_t *mm) */ if (fully_overlapped_va) { -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC if (((mm->attr & MT_DYNAMIC) != 0U) || ((mm_cursor->attr & MT_DYNAMIC) != 0U)) { return -EPERM; @@ -989,7 +989,7 @@ void mmap_add_ctx(xlat_ctx_t *ctx, const mmap_region_t *mm) } } -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC int mmap_add_dynamic_region_ctx(xlat_ctx_t *ctx, mmap_region_t *mm) { @@ -1248,7 +1248,7 @@ void __init init_xlat_tables_ctx(xlat_ctx_t *ctx) /* All tables must be zeroed before mapping any region. */ zeromem(ctx->base_table, ctx->base_table_entries * sizeof(uint64_t)); -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC zeromem(ctx->tables_mapped_regions, ctx->tables_num * sizeof(uint32_t)); #endif for (int i = 0; i < ctx->tables_num; i++) { diff --git a/lib/xlat_tables_v2/xlat_tables_private.h b/lib/xlat_tables_v2/xlat_tables_private.h index 4bfe73b29..920e263b6 100644 --- a/lib/xlat_tables_v2/xlat_tables_private.h +++ b/lib/xlat_tables_v2/xlat_tables_private.h @@ -13,7 +13,7 @@ #include <lib/xlat_tables/xlat_tables_defs.h> -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC /* * Private shifts and masks to access fields of an mmap attribute */ diff --git a/lib/xlat_tables_v2/xlat_tables_utils.c b/lib/xlat_tables_v2/xlat_tables_utils.c index 582019071..8153297b5 100644 --- a/lib/xlat_tables_v2/xlat_tables_utils.c +++ b/lib/xlat_tables_v2/xlat_tables_utils.c @@ -270,7 +270,7 @@ void xlat_tables_print(xlat_ctx_t *ctx) VERBOSE(" Entries @initial lookup level: %u\n", ctx->base_table_entries); -#if PLAT_XLAT_TABLES_DYNAMIC +#if defined(PLAT_XLAT_TABLES_DYNAMIC) && PLAT_XLAT_TABLES_DYNAMIC used_page_tables = 0; for (int i = 0; i < ctx->tables_num; ++i) { if (ctx->tables_mapped_regions[i] != 0) |
