x86/efi: Enforce CONFIG_RELOCATABLE for EFI boot stub
[linux/fpc-iii.git] / arch / m32r / Kconfig
blob75661fbf4529e6c903fcb2bb61e3b48e5656fd04
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
20 config SBUS
21         bool
23 config GENERIC_ISA_DMA
24         bool
25         default y
27 config ZONE_DMA
28         bool
29         default y
31 config NO_IOPORT
32         def_bool y
34 config NO_DMA
35         def_bool y
37 config HZ
38         int
39         default 100
41 source "init/Kconfig"
43 source "kernel/Kconfig.freezer"
46 menu "Processor type and features"
48 choice
49         prompt "Platform Type"
50         default PLAT_MAPPI
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.
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.
64 config PLAT_USRV
65         bool "uServer"
66         select PLAT_HAS_INT1ICU
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.
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.
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.
97 config PLAT_MAPPI2
98        bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
100 config PLAT_MAPPI3
101        bool "Mappi-III(M3A-2170)"
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.
110 endchoice
112 choice
113         prompt "Processor family"
114         default CHIP_M32700
116 config CHIP_M32700
117         bool "M32700 (Chaos)"
119 config CHIP_M32102
120         bool "M32102"
122 config CHIP_M32104
123         bool "M32104"
124         depends on PLAT_M32104UT
126 config CHIP_VDEC2
127        bool "VDEC2"
129 config CHIP_OPSP
130        bool "OPSP"
132 endchoice
134 config MMU
135         bool "Support for memory management hardware"
136         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
137         default y
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
146 config ISA_M32R
147         bool
148         depends on CHIP_M32102 || CHIP_M32104
149         default y
151 config ISA_M32R2
152         bool
153         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
154         default y
156 config ISA_DSP_LEVEL2
157         bool
158         depends on CHIP_M32700 || CHIP_OPSP
159         default y
161 config ISA_DUAL_ISSUE
162         bool
163         depends on CHIP_M32700 || CHIP_OPSP
164         default y
166 config PLAT_HAS_INT0ICU
167         bool
168         default n
170 config PLAT_HAS_INT1ICU
171         bool
172         default n
174 config PLAT_HAS_INT2ICU
175         bool
176         default n
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
189 config TIMER_DIVIDE
190         int "Timer divider (integer)"
191         default "128"
193 config CPU_LITTLE_ENDIAN
194         bool "Generate little endian code"
195         default n
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
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
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
221 source "mm/Kconfig"
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
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
237 # Define implied options from the CPU selection here
240 config GENERIC_LOCKBREAK
241         bool
242         default y
243         depends on SMP && PREEMPT
245 config RWSEM_GENERIC_SPINLOCK
246         bool
247         depends on M32R
248         default y
250 config RWSEM_XCHGADD_ALGORITHM
251         bool
252         default n
254 config ARCH_HAS_ILOG2_U32
255         bool
256         default n
258 config ARCH_HAS_ILOG2_U64
259         bool
260         default n
262 config GENERIC_HWEIGHT
263         bool
264         default y
266 config GENERIC_CALIBRATE_DELAY
267         bool
268         default y
270 config SCHED_OMIT_FRAME_POINTER
271         bool
272         default y
274 source "kernel/Kconfig.preempt"
276 config SMP
277         bool "Symmetric multi-processing support"
278         select USE_GENERIC_SMP_HELPERS
279         ---help---
280           This enables support for systems with more than one CPU. If you have
281           a system with only one CPU, like most personal computers, say N. If
282           you have a system with more than one CPU, say Y.
284           If you say N here, the kernel will run on single and multiprocessor
285           machines, but will use only one CPU of a multiprocessor machine. If
286           you say Y here, the kernel will run on many, but not all,
287           singleprocessor machines. On a singleprocessor machine, the kernel
288           will run faster if you say N here.
290           People using multiprocessor machines who say Y here should also say
291           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
292           Management" code will be disabled if you say Y here.
294           See also the SMP-HOWTO available at
295           <http://tldp.org/HOWTO/SMP-HOWTO.html>.
297           If you don't know what to do here, say N.
299 config CHIP_M32700_TS1
300         bool "Workaround code for the M32700 TS1 chip's bug"
301         depends on (CHIP_M32700 && SMP)
302         default n
304 config NR_CPUS
305         int "Maximum number of CPUs (2-32)"
306         range 2 32
307         depends on SMP
308         default "2"
309         help
310           This allows you to specify the maximum number of CPUs which this
311           kernel will support.  The maximum supported value is 32 and the
312           minimum value which makes sense is 2.
314           This is purely to save memory - each supported CPU adds
315           approximately eight kilobytes to the kernel image.
317 # Common NUMA Features
318 config NUMA
319         bool "Numa Memory Allocation Support"
320         depends on SMP && BROKEN
321         default n
323 config NODES_SHIFT
324         int
325         default "1"
326         depends on NEED_MULTIPLE_NODES
328 endmenu
331 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
333 config PCI
334         bool "PCI support"
335         depends on BROKEN
336         default n
337         help
338           Find out whether you have a PCI motherboard. PCI is the name of a
339           bus system, i.e. the way the CPU talks to the other stuff inside
340           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
341           VESA. If you have PCI, say Y, otherwise N.
343 choice
344         prompt "PCI access mode"
345         depends on PCI
346         default PCI_GOANY
348 config PCI_GOBIOS
349         bool "BIOS"
350         ---help---
351           On PCI systems, the BIOS can be used to detect the PCI devices and
352           determine their configuration. However, some old PCI motherboards
353           have BIOS bugs and may crash if this is done. Also, some embedded
354           PCI-based systems don't have any BIOS at all. Linux can also try to
355           detect the PCI hardware directly without using the BIOS.
357           With this option, you can specify how Linux should detect the PCI
358           devices. If you choose "BIOS", the BIOS will be used, if you choose
359           "Direct", the BIOS won't be used, and if you choose "Any", the
360           kernel will try the direct access method and falls back to the BIOS
361           if that doesn't work. If unsure, go with the default, which is
362           "Any".
364 config PCI_GODIRECT
365         bool "Direct"
367 config PCI_GOANY
368         bool "Any"
370 endchoice
372 config PCI_BIOS
373         bool
374         depends on PCI && (PCI_GOBIOS || PCI_GOANY)
375         default y
377 config PCI_DIRECT
378         bool
379         depends on PCI && (PCI_GODIRECT || PCI_GOANY)
380         default y
382 source "drivers/pci/Kconfig"
384 config ISA
385         bool
387 source "drivers/pcmcia/Kconfig"
389 source "drivers/pci/hotplug/Kconfig"
391 endmenu
394 menu "Executable file formats"
396 source "fs/Kconfig.binfmt"
398 endmenu
400 source "net/Kconfig"
402 source "drivers/Kconfig"
404 source "fs/Kconfig"
406 source "arch/m32r/Kconfig.debug"
408 source "security/Kconfig"
410 source "crypto/Kconfig"
412 source "lib/Kconfig"