| # ARM Cortex-R platform configuration options |
| |
| # Copyright (c) 2018 Marvell |
| # Copyright (c) 2018 Lexmark International, Inc. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| # NOTE: We have the specific core implementations first and outside of the |
| # if CPU_CORTEX_R block so that SoCs can select which core they are using |
| # without having to select all the options related to that core. Everything |
| # else is captured inside the if CPU_CORTEX_R block so they are not exposed |
| # if one selects a different ARM Cortex Family (Cortex-A or Cortex-M) |
| |
| |
| config CPU_CORTEX_R4 |
| bool |
| select CPU_CORTEX_R |
| select ARMV7_R |
| select ARMV7_R_FP if CPU_HAS_FPU |
| help |
| This option signifies the use of a Cortex-R4 CPU |
| |
| config CPU_CORTEX_R5 |
| bool |
| select CPU_CORTEX_R |
| select ARMV7_R |
| select ARMV7_R_FP if CPU_HAS_FPU |
| help |
| This option signifies the use of a Cortex-R5 CPU |
| |
| if CPU_CORTEX_R |
| |
| config ARMV7_R |
| bool |
| select ATOMIC_OPERATIONS_BUILTIN |
| select ISA_ARM |
| help |
| This option signifies the use of an ARMv7-R processor |
| implementation. |
| |
| From https://developer.arm.com/products/architecture/cpu-architecture/r-profile: |
| The Armv7-R architecture implements a traditional Arm architecture with |
| multiple modes and supports a Protected Memory System Architecture |
| (PMSA) based on a Memory Protection Unit (MPU). It supports the Arm (32) |
| and Thumb (T32) instruction sets. |
| |
| config ARMV7_R_FP |
| bool |
| depends on ARMV7_R |
| help |
| This option signifies the use of an ARMv7-R processor |
| implementation supporting the Floating-Point Extension. |
| |
| config ARMV7_EXCEPTION_STACK_SIZE |
| int "Undefined Instruction and Abort stack size (in bytes)" |
| default 256 |
| help |
| This option specifies the size of the stack used by the undefined |
| instruction and data abort exception handlers. |
| |
| config ARMV7_FIQ_STACK_SIZE |
| int "FIQ stack size (in bytes)" |
| default 256 |
| help |
| This option specifies the size of the stack used by the FIQ handler. |
| |
| config ARMV7_SVC_STACK_SIZE |
| int "SVC stack size (in bytes)" |
| default 512 |
| help |
| This option specifies the size of the stack used by the SVC handler. |
| |
| config ARMV7_SYS_STACK_SIZE |
| int "SYS stack size (in bytes)" |
| default 1024 |
| help |
| This option specifies the size of the stack used by the system mode. |
| |
| if CPU_CORTEX_R |
| |
| config RUNTIME_NMI |
| default y |
| |
| config GEN_ISR_TABLES |
| default y |
| |
| config GEN_IRQ_VECTOR_TABLE |
| default n |
| |
| endif # CPU_CORTEX_R |
| |
| endif # CPU_CORTEX_R |