CONFIG_MAX_XLAT_TABLES
Maximum numbers of translation tables
Type: int
Help
This option specifies the maximum numbers of translation tables.
Based on this, translation tables are allocated at compile time and
used at runtime as needed. If the runtime need exceeds preallocated
numbers of translation tables, it will result in assert. Number of
translation tables required is decided based on how many discrete
memory regions (both normal and device memory) are present on given
platform and how much granularity is required while assigning
attributes to these memory regions.
Direct dependencies
ARM_MMU
&& (CPU_CORTEX_A
|| CPU_AARCH64_CORTEX_R
) && ARM64
(Includes any dependencies from ifs and menus.)
Defaults
20 if
USERSPACE
&&ARM64_VA_BITS
>= 4016 if
USERSPACE
12 if
ARM64_VA_BITS
>= 408
Kconfig definition
At <Zephyr>/arch/arm64/core/Kconfig:245
Included via <Zephyr>/Kconfig:8
→ <Zephyr>/Kconfig.zephyr:39
→ <Zephyr>/arch/Kconfig:12
→ <Zephyr>/arch/arm64/Kconfig:32
Menu path: (Top) → ARM64 Options
config MAX_XLAT_TABLES
int "Maximum numbers of translation tables"
default 20 if USERSPACE && ARM64_VA_BITS >= 40
default 16 if USERSPACE
default 12 if ARM64_VA_BITS >= 40
default 8
depends on ARM_MMU && (CPU_CORTEX_A || CPU_AARCH64_CORTEX_R) && ARM64
help
This option specifies the maximum numbers of translation tables.
Based on this, translation tables are allocated at compile time and
used at runtime as needed. If the runtime need exceeds preallocated
numbers of translation tables, it will result in assert. Number of
translation tables required is decided based on how many discrete
memory regions (both normal and device memory) are present on given
platform and how much granularity is required while assigning
attributes to these memory regions.
(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)