This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

CONFIG_ARCH_MAPS_ALL_RAM

(No prompt – not directly user assignable.)

Type: bool

Help

This hidden option is selected by the architecture to inform the kernel
that all RAM is mapped at boot, and not just the bounds of the Zephyr image.
If RAM starts at 0x0, the first page must remain un-mapped to catch NULL
pointer dereferences. With this enabled, the kernel will not assume that
virtual memory addresses past the kernel image are available for mappings,
but instead takes into account an entire RAM mapping instead.

This is typically set by architectures which need direct access to all memory.
It is the architecture's responsibility to mark reserved memory regions
as such in arch_reserved_pages_update().

Although the kernel will not disturb this RAM mapping by re-mapping the associated
virtual addresses elsewhere, this is limited to only management of the
virtual address space. The kernel's page frame ontology will not consider
this mapping at all; non-kernel pages will be considered free (unless marked
as reserved) and Z_PAGE_FRAME_MAPPED will not be set.

Defaults

No defaults. Implicitly defaults to n.

Kconfig definition

At arch/Kconfig:578

Included via Kconfig:8Kconfig.zephyr:39

Menu path: (Top)

config ARCH_MAPS_ALL_RAM
    bool
    help
      This hidden option is selected by the architecture to inform the kernel
      that all RAM is mapped at boot, and not just the bounds of the Zephyr image.
      If RAM starts at 0x0, the first page must remain un-mapped to catch NULL
      pointer dereferences. With this enabled, the kernel will not assume that
      virtual memory addresses past the kernel image are available for mappings,
      but instead takes into account an entire RAM mapping instead.

      This is typically set by architectures which need direct access to all memory.
      It is the architecture's responsibility to mark reserved memory regions
      as such in arch_reserved_pages_update().

      Although the kernel will not disturb this RAM mapping by re-mapping the associated
      virtual addresses elsewhere, this is limited to only management of the
      virtual address space. The kernel's page frame ontology will not consider
      this mapping at all; non-kernel pages will be considered free (unless marked
      as reserved) and Z_PAGE_FRAME_MAPPED will not be set.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)