Skip to content

Commit 38dc87d

Browse files
ibirnbaumcarlescufi
authored andcommitted
arch: arm: core: aarch32: Add ARMv7-A/Cortex-A(9) related Kconfig items
Add the ARMV7_A, CPU_AARCH32_CORTEX_A and CPU_CORTEX_A9 configuration items. Signed-off-by: Immo Birnbaum <[email protected]>
1 parent 305550a commit 38dc87d

File tree

2 files changed

+68
-5
lines changed

2 files changed

+68
-5
lines changed

arch/arm/core/aarch32/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ config CPU_CORTEX_R
3636
help
3737
This option signifies the use of a CPU of the Cortex-R family.
3838

39+
config CPU_AARCH32_CORTEX_A
40+
bool
41+
select CPU_CORTEX
42+
select CPU_HAS_MMU
43+
select HAS_CMSIS_CORE
44+
select HAS_FLASH_LOAD_OFFSET
45+
select ARCH_HAS_EXTRA_EXCEPTION_INFO
46+
select ARCH_HAS_NOCACHE_MEMORY_SUPPORT
47+
help
48+
This option signifies the use of a CPU of the Cortex-A family.
49+
3950
config ISA_THUMB2
4051
bool
4152
help

arch/arm/core/aarch32/cortex_a_r/Kconfig

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,67 @@
1-
# ARM Cortex-R platform configuration options
1+
# ARM Cortex-A and Cortex-R platform configuration options
22

33
# Copyright (c) 2018 Marvell
44
# Copyright (c) 2018 Lexmark International, Inc.
5+
# Copyright (c) 2021 Weidmueller Interface GmbH & Co. KG
6+
#
57
# SPDX-License-Identifier: Apache-2.0
68

79
# NOTE: We have the specific core implementations first and outside of the
8-
# if CPU_CORTEX_R block so that SoCs can select which core they are using
9-
# without having to select all the options related to that core. Everything
10-
# else is captured inside the if CPU_CORTEX_R block so they are not exposed
11-
# if one selects a different ARM Cortex Family (Cortex-A or Cortex-M)
10+
# if CPU_AARCH32_CORTEX_A / if CPU_CORTEX_R block so that SoCs can select
11+
# which core they are using without having to select all the options related
12+
# to that core. Everything else is captured inside the if CPU_CORTEX_A / if
13+
# CPU_CORTEX_R blocks so they are not exposed if one selects a different ARM
14+
# Cortex Family (Cortex-M).
1215

16+
config CPU_CORTEX_A9
17+
bool
18+
select CPU_AARCH32_CORTEX_A
19+
select ARMV7_A
20+
help
21+
This option signifies the use of a Cortex-A9 CPU.
22+
23+
if CPU_AARCH32_CORTEX_A
24+
25+
config ARMV7_A
26+
bool
27+
select ATOMIC_OPERATIONS_BUILTIN
28+
select ISA_ARM
29+
30+
config ARMV7_EXCEPTION_STACK_SIZE
31+
int "Undefined Instruction and Abort stack size (in bytes)"
32+
default 256
33+
help
34+
This option specifies the size of the stack used by the undefined
35+
instruction and data abort exception handlers.
36+
37+
config ARMV7_FIQ_STACK_SIZE
38+
int "FIQ stack size (in bytes)"
39+
default 256
40+
help
41+
This option specifies the size of the stack used by the FIQ handler.
42+
43+
config ARMV7_SVC_STACK_SIZE
44+
int "SVC stack size (in bytes)"
45+
default 512
46+
help
47+
This option specifies the size of the stack used by the SVC handler.
48+
49+
config ARMV7_SYS_STACK_SIZE
50+
int "SYS stack size (in bytes)"
51+
default 1024
52+
help
53+
This option specifies the size of the stack used by the system mode.
54+
55+
config RUNTIME_NMI
56+
default y
57+
58+
config GEN_ISR_TABLES
59+
default y
60+
61+
config GEN_IRQ_VECTOR_TABLE
62+
default n
63+
64+
endif # CPU_AARCH32_CORTEX_A
1365

1466
config CPU_CORTEX_R4
1567
bool

0 commit comments

Comments
 (0)