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_ARMV8_A

(No prompt – not directly user assignable.)

Type: bool

Help

This option signifies the use of an ARMv8-A processor
implementation.

From https://developer.arm.com/products/architecture/cpu-architecture/a-profile:
The Armv8-A architecture introduces the ability to use 64-bit and
32-bit Execution states, known as AArch64 and AArch32 respectively.
The AArch64 Execution state supports the A64 instruction set, holds
addresses in 64-bit registers and allows instructions in the base
instruction set to use 64-bit registers for their processing. The AArch32
Execution state is a 32-bit Execution state that preserves backwards
compatibility with the Armv7-A architecture and enhances that profile
so that it can support some features included in the AArch64 state.
It supports the T32 and A32 instruction sets.

Direct dependencies

CPU_CORTEX_A && ARM64

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Symbols that select this symbol

Kconfig definition

At arch/arm64/core/Kconfig:102

Included via Kconfig:8Kconfig.zephyr:37arch/Kconfig:12arch/arm64/Kconfig:32

Menu path: (Top) → ARM64 Options

config ARMV8_A
    bool
    select ATOMIC_OPERATIONS_BUILTIN
    select CPU_HAS_MMU
    select ARCH_HAS_USERSPACE if ARM_MMU
    depends on CPU_CORTEX_A && ARM64
    help
      This option signifies the use of an ARMv8-A processor
      implementation.

      From https://developer.arm.com/products/architecture/cpu-architecture/a-profile:
      The Armv8-A architecture introduces the ability to use 64-bit and
      32-bit Execution states, known as AArch64 and AArch32 respectively.
      The AArch64 Execution state supports the A64 instruction set, holds
      addresses in 64-bit registers and allows instructions in the base
      instruction set to use 64-bit registers for their processing. The AArch32
      Execution state is a 32-bit Execution state that preserves backwards
      compatibility with the Armv7-A architecture and enhances that profile
      so that it can support some features included in the AArch64 state.
      It supports the T32 and A32 instruction sets.

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