Merge "OPNFV KVM4NFV: Documentation"
[kvmfornfv.git] / kernel / arch / m32r / Kconfig
1 config M32R
2         bool
3         default y
4         select HAVE_IDE
5         select HAVE_OPROFILE
6         select INIT_ALL_POSSIBLE
7         select HAVE_KERNEL_GZIP
8         select HAVE_KERNEL_BZIP2
9         select HAVE_KERNEL_LZMA
10         select ARCH_WANT_IPC_PARSE_VERSION
11         select HAVE_DEBUG_BUGVERBOSE
12         select VIRT_TO_BUS
13         select GENERIC_IRQ_PROBE
14         select GENERIC_IRQ_SHOW
15         select GENERIC_ATOMIC64
16         select ARCH_USES_GETTIMEOFFSET
17         select MODULES_USE_ELF_RELA
18         select HAVE_DEBUG_STACKOVERFLOW
19
20 config SBUS
21         bool
22
23 config GENERIC_ISA_DMA
24         bool
25         default y
26
27 config ZONE_DMA
28         bool
29         default y
30
31 config NO_IOPORT_MAP
32         def_bool y
33
34 config NO_DMA
35         def_bool y
36
37 config HZ
38         int
39         default 100
40
41 source "init/Kconfig"
42
43 source "kernel/Kconfig.freezer"
44
45
46 menu "Processor type and features"
47
48 choice
49         prompt "Platform Type"
50         default PLAT_MAPPI
51
52 config PLAT_MAPPI
53         bool "Mappi-I"
54         help
55           The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
56           You can operate a Linux system on this board by using an M32R
57           softmacro core, which is a fully-synthesizable functional model
58           described in Verilog-HDL.
59
60           The Mappi-I board was the first platform, which had been used
61           to port and develop a Linux system for the M32R processor.
62           Currently, the Mappi-II, an heir to the Mappi-I, is available.
63
64 config PLAT_USRV
65         bool "uServer"
66         select PLAT_HAS_INT1ICU
67
68 config PLAT_M32700UT
69         bool "M32700UT"
70         select PLAT_HAS_INT0ICU
71         select PLAT_HAS_INT1ICU
72         select PLAT_HAS_INT2ICU
73         help
74           The M3T-M32700UT is an evaluation board based on uT-Engine
75           specification.  This board has an M32700 (Chaos) evaluation chip.
76           You can say Y for SMP, because the M32700 is a single chip
77           multiprocessor.
78
79 config PLAT_OPSPUT
80         bool "OPSPUT"
81         select PLAT_HAS_INT0ICU
82         select PLAT_HAS_INT1ICU
83         select PLAT_HAS_INT2ICU
84         help
85           The OPSPUT is an evaluation board based on uT-Engine
86           specification.  This board has a OPSP-REP chip.
87
88 config PLAT_OAKS32R
89         bool "OAKS32R"
90         help
91           The OAKS32R is a tiny, inexpensive evaluation board.
92           Please note that if you say Y here and choose chip "M32102",
93           say N for MMU and select a no-MMU version kernel, otherwise
94           a kernel with MMU support will not work, because the M32102
95           is a microcontroller for embedded systems and it has no MMU.
96
97 config PLAT_MAPPI2
98        bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
99
100 config PLAT_MAPPI3
101        bool "Mappi-III(M3A-2170)"
102
103 config PLAT_M32104UT
104         bool "M32104UT"
105         select PLAT_HAS_INT1ICU
106         help
107           The M3T-M32104UT is an reference board based on uT-Engine
108           specification.  This board has a M32104 chip.
109
110 endchoice
111
112 choice
113         prompt "Processor family"
114         default CHIP_M32700
115
116 config CHIP_M32700
117         bool "M32700 (Chaos)"
118
119 config CHIP_M32102
120         bool "M32102"
121
122 config CHIP_M32104
123         bool "M32104"
124         depends on PLAT_M32104UT
125
126 config CHIP_VDEC2
127        bool "VDEC2"
128
129 config CHIP_OPSP
130        bool "OPSP"
131
132 endchoice
133
134 config MMU
135         bool "Support for memory management hardware"
136         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
137         default y
138
139 config TLB_ENTRIES
140        int "TLB Entries"
141        depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
142        default 32 if CHIP_M32700 || CHIP_OPSP
143        default 16 if CHIP_VDEC2
144
145
146 config ISA_M32R
147         bool
148         depends on CHIP_M32102 || CHIP_M32104
149         default y
150
151 config ISA_M32R2
152         bool
153         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
154         default y
155
156 config ISA_DSP_LEVEL2
157         bool
158         depends on CHIP_M32700 || CHIP_OPSP
159         default y
160
161 config ISA_DUAL_ISSUE
162         bool
163         depends on CHIP_M32700 || CHIP_OPSP
164         default y
165
166 config PLAT_HAS_INT0ICU
167         bool
168         default n
169
170 config PLAT_HAS_INT1ICU
171         bool
172         default n
173
174 config PLAT_HAS_INT2ICU
175         bool
176         default n
177
178 config BUS_CLOCK
179         int "Bus Clock [Hz] (integer)"
180         default "70000000" if PLAT_MAPPI
181         default "25000000" if PLAT_USRV
182         default "50000000" if PLAT_MAPPI3
183         default "50000000" if PLAT_M32700UT
184         default "50000000" if PLAT_OPSPUT
185         default "54000000" if PLAT_M32104UT
186         default "33333333" if PLAT_OAKS32R
187         default "20000000" if PLAT_MAPPI2
188
189 config TIMER_DIVIDE
190         int "Timer divider (integer)"
191         default "128"
192
193 config CPU_LITTLE_ENDIAN
194         bool "Generate little endian code"
195         default n
196
197 config MEMORY_START
198         hex "Physical memory start address (hex)"
199         default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
200         default "08000000" if PLAT_USRV
201         default "08000000" if PLAT_M32700UT
202         default "08000000" if PLAT_OPSPUT
203         default "04000000" if PLAT_M32104UT
204         default "01000000" if PLAT_OAKS32R
205
206 config MEMORY_SIZE
207         hex "Physical memory size (hex)"
208         default "08000000" if PLAT_MAPPI3
209         default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
210         default "02000000" if PLAT_USRV
211         default "01000000" if PLAT_M32700UT
212         default "01000000" if PLAT_OPSPUT
213         default "01000000" if PLAT_M32104UT
214         default "00800000" if PLAT_OAKS32R
215
216 config ARCH_DISCONTIGMEM_ENABLE
217         bool "Internal RAM Support"
218         depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
219         default y
220
221 source "mm/Kconfig"
222
223 config IRAM_START
224         hex "Internal memory start address (hex)"
225         default "00f00000" if !CHIP_M32104
226         default "00700000" if CHIP_M32104
227         depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
228
229 config IRAM_SIZE
230         hex "Internal memory size (hex)"
231         depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
232         default "00080000" if CHIP_M32700
233         default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
234         default "00008000" if CHIP_VDEC2
235
236 #
237 # Define implied options from the CPU selection here
238 #
239
240 config GENERIC_LOCKBREAK
241         bool
242         default y
243         depends on SMP && PREEMPT
244
245 config RWSEM_GENERIC_SPINLOCK
246         bool
247         depends on M32R
248         default y
249
250 config RWSEM_XCHGADD_ALGORITHM
251         bool
252         default n
253
254 config ARCH_HAS_ILOG2_U32
255         bool
256         default n
257
258 config ARCH_HAS_ILOG2_U64
259         bool
260         default n
261
262 config GENERIC_HWEIGHT
263         bool
264         default y
265
266 config GENERIC_CALIBRATE_DELAY
267         bool
268         default y
269
270 config SCHED_OMIT_FRAME_POINTER
271         bool
272         default y
273
274 source "kernel/Kconfig.preempt"
275
276 config SMP
277         bool "Symmetric multi-processing support"
278         ---help---
279           This enables support for systems with more than one CPU. If you have
280           a system with only one CPU, say N. If you have a system with more
281           than one CPU, say Y.
282
283           If you say N here, the kernel will run on uni- and multiprocessor
284           machines, but will use only one CPU of a multiprocessor machine. If
285           you say Y here, the kernel will run on many, but not all,
286           uniprocessor machines. On a uniprocessor machine, the kernel
287           will run faster if you say N here.
288
289           People using multiprocessor machines who say Y here should also say
290           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
291           Management" code will be disabled if you say Y here.
292
293           See also the SMP-HOWTO available at
294           <http://tldp.org/HOWTO/SMP-HOWTO.html>.
295
296           If you don't know what to do here, say N.
297
298 config CHIP_M32700_TS1
299         bool "Workaround code for the M32700 TS1 chip's bug"
300         depends on (CHIP_M32700 && SMP)
301         default n
302
303 config NR_CPUS
304         int "Maximum number of CPUs (2-32)"
305         range 2 32
306         depends on SMP
307         default "2"
308         help
309           This allows you to specify the maximum number of CPUs which this
310           kernel will support.  The maximum supported value is 32 and the
311           minimum value which makes sense is 2.
312
313           This is purely to save memory - each supported CPU adds
314           approximately eight kilobytes to the kernel image.
315
316 # Common NUMA Features
317 config NUMA
318         bool "Numa Memory Allocation Support"
319         depends on SMP && BROKEN
320         default n
321
322 config NODES_SHIFT
323         int
324         default "1"
325         depends on NEED_MULTIPLE_NODES
326
327 endmenu
328
329
330 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
331
332 config PCI
333         bool "PCI support"
334         depends on BROKEN
335         default n
336         help
337           Find out whether you have a PCI motherboard. PCI is the name of a
338           bus system, i.e. the way the CPU talks to the other stuff inside
339           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
340           VESA. If you have PCI, say Y, otherwise N.
341
342 choice
343         prompt "PCI access mode"
344         depends on PCI
345         default PCI_GOANY
346
347 config PCI_GOBIOS
348         bool "BIOS"
349         ---help---
350           On PCI systems, the BIOS can be used to detect the PCI devices and
351           determine their configuration. However, some old PCI motherboards
352           have BIOS bugs and may crash if this is done. Also, some embedded
353           PCI-based systems don't have any BIOS at all. Linux can also try to
354           detect the PCI hardware directly without using the BIOS.
355
356           With this option, you can specify how Linux should detect the PCI
357           devices. If you choose "BIOS", the BIOS will be used, if you choose
358           "Direct", the BIOS won't be used, and if you choose "Any", the
359           kernel will try the direct access method and falls back to the BIOS
360           if that doesn't work. If unsure, go with the default, which is
361           "Any".
362
363 config PCI_GODIRECT
364         bool "Direct"
365
366 config PCI_GOANY
367         bool "Any"
368
369 endchoice
370
371 config PCI_BIOS
372         bool
373         depends on PCI && (PCI_GOBIOS || PCI_GOANY)
374         default y
375
376 config PCI_DIRECT
377         bool
378         depends on PCI && (PCI_GODIRECT || PCI_GOANY)
379         default y
380
381 source "drivers/pci/Kconfig"
382
383 config ISA
384         bool
385
386 source "drivers/pcmcia/Kconfig"
387
388 source "drivers/pci/hotplug/Kconfig"
389
390 endmenu
391
392
393 menu "Executable file formats"
394
395 source "fs/Kconfig.binfmt"
396
397 endmenu
398
399 source "net/Kconfig"
400
401 source "drivers/Kconfig"
402
403 source "fs/Kconfig"
404
405 source "arch/m32r/Kconfig.debug"
406
407 source "security/Kconfig"
408
409 source "crypto/Kconfig"
410
411 source "lib/Kconfig"