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