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