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>= 40
- 16 if - USERSPACE
- 12 if - ARM64_VA_BITS>= 40
- 8 
Kconfig definition¶
At <Zephyr Architecture>/arm64/core/Kconfig:243
Included via Kconfig:8 → Kconfig.zephyr:39 → <Zephyr Architecture>/Kconfig:12 → <Zephyr Architecture>/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.)