blob: dd38c7b598c86d77cc1763ace52db94152d750ad [file] [log] [blame]
Juan Manuel Cruzd15251f2015-05-20 11:40:39 -05001# Kconfig - general architecture configuration options
2
3#
4# Copyright (c) 2014-2015 Wind River Systems, Inc.
5# Copyright (c) 2015 Intel Corporation
Mazen NEIFER1cded672017-01-13 12:14:33 +01006# Copyright (c) 2016 Cadence Design Systems, Inc.
Juan Manuel Cruzd15251f2015-05-20 11:40:39 -05007#
David B. Kinderac74d8b2017-01-18 17:01:01 -08008# SPDX-License-Identifier: Apache-2.0
Juan Manuel Cruzd15251f2015-05-20 11:40:39 -05009#
10
11
Anas Nashif77ba3c32015-10-09 06:20:52 -040012choice
13 prompt "Architecture"
14 default X86
15
16config ARC
17 bool "ARC architecture"
18
19config ARM
20 bool "ARM architecture"
21
22config X86
23 bool "x86 architecture"
Andrew Boie6a1474e2016-07-15 13:15:00 -070024 select ATOMIC_OPERATIONS_BUILTIN
Anas Nashif77ba3c32015-10-09 06:20:52 -040025
Andrew Boie94338952016-04-21 14:47:09 -070026config NIOS2
27 bool "Nios II Gen 2 architecture"
Andrew Boie6a1474e2016-07-15 13:15:00 -070028 select ATOMIC_OPERATIONS_C
Andrew Boie94338952016-04-21 14:47:09 -070029
Jean-Paul Etiennecd83e852017-01-11 00:24:30 +010030config RISCV32
31 bool "RISCV32 architecture"
32
Mazen NEIFER1cded672017-01-13 12:14:33 +010033config XTENSA
34 bool "Xtensa architecture"
35
Anas Nashif77ba3c32015-10-09 06:20:52 -040036endchoice
37
Ramesh Thomasbb19e6f2016-03-18 16:43:40 -070038#
39# Hidden PM feature configs which are to be selected by
40# individual SoC.
41#
42config SYS_POWER_LOW_POWER_STATE_SUPPORTED
43 # Hidden
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050044 bool
45 default n
46 help
47 This option signifies that the target supports the SYS_POWER_LOW_POWER_STATE
48 configuration option.
Ramesh Thomasbb19e6f2016-03-18 16:43:40 -070049
50config SYS_POWER_DEEP_SLEEP_SUPPORTED
51 # Hidden
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050052 bool
53 default n
54 help
55 This option signifies that the target supports the SYS_POWER_DEEP_SLEEP
56 configuration option.
Ramesh Thomasa3dc53f2016-11-09 23:16:27 -080057
58config BOOTLOADER_CONTEXT_RESTORE_SUPPORTED
59 # Hidden
60 bool
61 default n
62 help
63 This option signifies that the target has options of bootloaders
64 that support context restore upon resume from deep sleep
65
Benjamin Walsh48db0b32016-12-14 15:16:32 -050066config SIMPLE_FATAL_ERROR_HANDLER
67 prompt "Simple system fatal error handler"
68 bool
69 default n
Benjamin Walshb12a8e02016-12-14 15:24:12 -050070 default y if !MULTITHREADING
Benjamin Walsh48db0b32016-12-14 15:16:32 -050071 help
72 Provides an implementation of _SysFatalErrorHandler() that hard hangs
73 instead of aborting the faulting thread, and does not print anything,
74 for footprint-concerned systems. Only enable this option if you do not
75 want debug capabilities in case of system fatal error.
76
Ramesh Thomasbb19e6f2016-03-18 16:43:40 -070077#
78# End hidden PM feature configs
79#
80
Anas Nashif77ba3c32015-10-09 06:20:52 -040081config ARCH
82 string
83 help
84 System architecture string.
85
86config SOC
Anas Nashifa02c34e2016-03-31 08:07:42 -040087 string
88 help
89 SoC name which can be found under arch/<arch>/soc/<soc name>.
90 This option holds the directory name used by the build system to locate
91 the correct linker and header files for the SoC. This option will go away
92 once all SoCs are using family/series structure.
93
94config SOC_SERIES
95 string
96 help
97 SoC series name which can be found under arch/<arch>/soc/<family>/<series>.
98 This option holds the directory name used by the build system to locate
99 the correct linker and header files.
100
101config SOC_FAMILY
102 string
103 help
104 SoC family name which can be found under arch/<arch>/soc/<family>.
105 This option holds the directory name used by the build system to locate
106 the correct linker and header files.
Anas Nashif66233112015-11-29 19:47:21 -0500107
Anas Nashif2d762242015-12-07 20:20:25 -0500108config BOARD
109 string
110 help
David B. Kinder3561c732017-04-24 11:30:10 -0700111 This option holds the name of the board and is used to locate the files
Anas Nashifa02c34e2016-03-31 08:07:42 -0400112 related to the board in the source tree (under boards/).
Andrew Boieff872dc2016-05-04 13:13:56 -0700113 The Board is the first location where we search for a linker.ld file,
Anas Nashifa02c34e2016-03-31 08:07:42 -0400114 if not found we look for the linker file in
115 arch/<arch>/soc/<family>/<series>
Anas Nashif2d762242015-12-07 20:20:25 -0500116
Andrew Boie1927b3d2017-02-08 17:16:29 -0800117#
118# Interrupt related configs
119#
120
121config GEN_ISR_TABLES
122 bool
123 prompt "Use generated IRQ tables"
124 default n
125 help
126 This option controls whether a platform uses the gen_isr_tables
127 script to generate its interrupt tables. This mechanism will create
128 an appropriate hardware vector table and/or software IRQ table.
129
130config GEN_IRQ_VECTOR_TABLE
131 bool
132 prompt "Generate an interrupt vector table"
133 default y
134 depends on GEN_ISR_TABLES
135 help
136 This option controls whether a platform using gen_isr_tables
137 needs an interrupt vector table created. Only disable this if the
138 platform does not use a vector table at all, or requires the vector
139 table to be in a format that is not an array of function pointers
140 indexed by IRQ line. In the latter case, the vector table must be
141 supplied by the application or architecture code.
142
143config GEN_SW_ISR_TABLE
144 bool
145 prompt "Generate a software ISR table"
146 default y
147 depends on GEN_ISR_TABLES
148 help
149 This option controls whether a platform using gen_isr_tables
150 needs a software ISR table table created. This is an array of struct
151 _isr_table_entry containing the interrupt service routine and supplied
152 parameter.
153
154config GEN_IRQ_START_VECTOR
155 int
Andrew Boie1927b3d2017-02-08 17:16:29 -0800156 default 0
157 depends on GEN_ISR_TABLES
158 help
159 On some architectures, part of the vector table may be reserved for
160 system exceptions and is declared separately from the tables
161 created by gen_isr_tables.py. When creating these tables, this value
162 will be subtracted from CONFIG_NUM_IRQS to properly size them.
David B. Kinder3561c732017-04-24 11:30:10 -0700163 This is a hidden option which needs to be set per architecture and
Andrew Boieb2e136c2017-02-13 12:39:50 -0800164 left alone.
Andrew Boie1927b3d2017-02-08 17:16:29 -0800165
Anas Nashif77ba3c32015-10-09 06:20:52 -0400166source "arch/*/Kconfig"
Anas Nashiffdb1daf2015-12-13 05:54:28 -0500167
168source "boards/Kconfig"