]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/metag/Kconfig
exit_thread: remove empty bodies
[karo-tx-linux.git] / arch / metag / Kconfig
1 config METAG
2         def_bool y
3         select EMBEDDED
4         select GENERIC_ATOMIC64
5         select GENERIC_CLOCKEVENTS
6         select GENERIC_IRQ_SHOW
7         select GENERIC_SMP_IDLE_THREAD
8         select HAVE_64BIT_ALIGNED_ACCESS
9         select HAVE_ARCH_TRACEHOOK
10         select HAVE_C_RECORDMCOUNT
11         select HAVE_DEBUG_KMEMLEAK
12         select HAVE_DEBUG_STACKOVERFLOW
13         select HAVE_DYNAMIC_FTRACE
14         select HAVE_EXIT_THREAD
15         select HAVE_FTRACE_MCOUNT_RECORD
16         select HAVE_FUNCTION_TRACER
17         select HAVE_KERNEL_BZIP2
18         select HAVE_KERNEL_GZIP
19         select HAVE_KERNEL_LZO
20         select HAVE_KERNEL_XZ
21         select HAVE_MEMBLOCK
22         select HAVE_MEMBLOCK_NODE_MAP
23         select HAVE_MOD_ARCH_SPECIFIC
24         select HAVE_OPROFILE
25         select HAVE_PERF_EVENTS
26         select HAVE_SYSCALL_TRACEPOINTS
27         select HAVE_UNDERSCORE_SYMBOL_PREFIX
28         select IRQ_DOMAIN
29         select MODULES_USE_ELF_RELA
30         select OF
31         select OF_EARLY_FLATTREE
32         select SPARSE_IRQ
33
34 config STACKTRACE_SUPPORT
35         def_bool y
36
37 config LOCKDEP_SUPPORT
38         def_bool y
39
40 config RWSEM_GENERIC_SPINLOCK
41         def_bool y
42
43 config RWSEM_XCHGADD_ALGORITHM
44         bool
45
46 config GENERIC_HWEIGHT
47         def_bool y
48
49 config GENERIC_CALIBRATE_DELAY
50         def_bool y
51
52 config NO_IOPORT_MAP
53         def_bool y
54
55 source "init/Kconfig"
56
57 source "kernel/Kconfig.freezer"
58
59 menu "Processor type and features"
60
61 config MMU
62         def_bool y
63
64 config STACK_GROWSUP
65         def_bool y
66
67 config HOTPLUG_CPU
68         bool "Enable CPU hotplug support"
69         depends on SMP
70         help
71           Say Y here to allow turning CPUs off and on. CPUs can be
72           controlled through /sys/devices/system/cpu.
73
74           Say N if you want to disable CPU hotplug.
75
76 config HIGHMEM
77         bool "High Memory Support"
78         help
79           The address space of Meta processors is only 4 Gigabytes large
80           and it has to accommodate user address space, kernel address
81           space as well as some memory mapped IO. That means that, if you
82           have a large amount of physical memory and/or IO, not all of the
83           memory can be "permanently mapped" by the kernel. The physical
84           memory that is not permanently mapped is called "high memory".
85
86           Depending on the selected kernel/user memory split, minimum
87           vmalloc space and actual amount of RAM, you may not need this
88           option which should result in a slightly faster kernel.
89
90           If unsure, say n.
91
92 source "arch/metag/mm/Kconfig"
93
94 source "arch/metag/Kconfig.soc"
95
96 config METAG_META12
97         bool
98         help
99           Select this from the SoC config symbol to indicate that it contains a
100           Meta 1.2 core.
101
102 config METAG_META21
103         bool
104         help
105           Select this from the SoC config symbol to indicate that it contains a
106           Meta 2.1 core.
107
108 config SMP
109         bool "Symmetric multi-processing support"
110         depends on METAG_META21 && METAG_META21_MMU
111         help
112           This enables support for systems with more than one thread running
113           Linux. If you have a system with only one thread running Linux,
114           say N. Otherwise, say Y.
115
116 config NR_CPUS
117         int "Maximum number of CPUs (2-4)" if SMP
118         range 2 4 if SMP
119         default "1" if !SMP
120         default "4" if SMP
121
122 config METAG_SMP_WRITE_REORDERING
123         bool
124         help
125           This attempts to prevent cache-memory incoherence due to external
126           reordering of writes from different hardware threads when SMP is
127           enabled. It adds fences (system event 0) to smp_mb and smp_rmb in an
128           attempt to catch some of the cases, and also before writes to shared
129           memory in LOCK1 protected atomics and spinlocks.
130           This will not completely prevent cache incoherency on affected cores.
131
132 config METAG_LNKGET_AROUND_CACHE
133         bool
134         depends on METAG_META21
135         help
136           This indicates that the LNKGET/LNKSET instructions go around the
137           cache, which requires some extra cache flushes when the memory needs
138           to be accessed by normal GET/SET instructions too.
139
140 choice
141         prompt "Atomicity primitive"
142         default METAG_ATOMICITY_LNKGET
143         help
144           This option selects the mechanism for performing atomic operations.
145
146 config METAG_ATOMICITY_IRQSOFF
147         depends on !SMP
148         bool "irqsoff"
149         help
150           This option disables interrupts to achieve atomicity. This mechanism
151           is not SMP-safe.
152
153 config METAG_ATOMICITY_LNKGET
154         depends on METAG_META21
155         bool "lnkget/lnkset"
156         help
157           This option uses the LNKGET and LNKSET instructions to achieve
158           atomicity. LNKGET/LNKSET are load-link/store-conditional instructions.
159           Choose this option if your system requires low latency.
160
161 config METAG_ATOMICITY_LOCK1
162         depends on SMP
163         bool "lock1"
164         help
165           This option uses the LOCK1 instruction for atomicity. This is mainly
166           provided as a debugging aid if the lnkget/lnkset atomicity primitive
167           isn't working properly.
168
169 endchoice
170
171 config METAG_FPU
172         bool "FPU Support"
173         depends on METAG_META21
174         default y
175         help
176           This option allows processes to use FPU hardware available with this
177           CPU. If this option is not enabled FPU registers will not be saved
178           and restored on context-switch.
179
180           If you plan on running programs which are compiled to use hard floats
181           say Y here.
182
183 config METAG_DSP
184         bool "DSP Support"
185         help
186           This option allows processes to use DSP hardware available
187           with this CPU. If this option is not enabled DSP registers
188           will not be saved and restored on context-switch.
189
190           If you plan on running DSP programs say Y here.
191
192 config METAG_PERFCOUNTER_IRQS
193         bool "PerfCounters interrupt support"
194         depends on METAG_META21
195         help
196           This option enables using interrupts to collect information from
197           Performance Counters. This option is supported in new META21
198           (starting from HTP265).
199
200           When disabled, Performance Counters information will be collected
201           based on Timer Interrupt.
202
203 config HW_PERF_EVENTS
204         def_bool METAG_PERFCOUNTER_IRQS && PERF_EVENTS
205
206 config METAG_DA
207         bool "DA support"
208         help
209           Say Y if you plan to use a DA debug adapter with Linux. The presence
210           of the DA will be detected automatically at boot, so it is safe to say
211           Y to this option even when booting without a DA.
212
213           This enables support for services provided by DA JTAG debug adapters,
214           such as:
215           - communication over DA channels (such as the console driver).
216           - use of the DA filesystem.
217
218 menu "Boot options"
219
220 config METAG_BUILTIN_DTB
221         bool "Embed DTB in kernel image"
222         default y
223         help
224           Embeds a device tree binary in the kernel image.
225
226 config METAG_BUILTIN_DTB_NAME
227         string "Built in DTB"
228         depends on METAG_BUILTIN_DTB
229         help
230           Set the name of the DTB to embed (leave blank to pick one
231           automatically based on kernel configuration).
232
233 config CMDLINE_BOOL
234         bool "Default bootloader kernel arguments"
235
236 config CMDLINE
237         string "Kernel command line"
238         depends on CMDLINE_BOOL
239         help
240           On some architectures there is currently no way for the boot loader
241           to pass arguments to the kernel. For these architectures, you should
242           supply some command-line options at build time by entering them
243           here.
244
245 config CMDLINE_FORCE
246         bool "Force default kernel command string"
247         depends on CMDLINE_BOOL
248         help
249           Set this to have arguments from the default kernel command string
250           override those passed by the boot loader.
251
252 endmenu
253
254 source "kernel/Kconfig.preempt"
255
256 source kernel/Kconfig.hz
257
258 endmenu
259
260 menu "Power management options"
261
262 source kernel/power/Kconfig
263
264 endmenu
265
266 menu "Executable file formats"
267
268 source "fs/Kconfig.binfmt"
269
270 endmenu
271
272 source "net/Kconfig"
273
274 source "drivers/Kconfig"
275
276 source "fs/Kconfig"
277
278 source "arch/metag/Kconfig.debug"
279
280 source "security/Kconfig"
281
282 source "crypto/Kconfig"
283
284 source "lib/Kconfig"