staging/go7007: remove the BKL
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / arch / mn10300 / Kconfig
blob8ed41cf2b08d217a4c40ee3cf174d8cb6c7898bd
1 config MN10300
2         def_bool y
3         select HAVE_OPROFILE
5 config AM33_2
6         def_bool n
8 config AM33_3
9         def_bool n
11 config AM34_2
12         def_bool n
13         select MN10300_HAS_ATOMIC_OPS_UNIT
14         select MN10300_HAS_CACHE_SNOOP
16 config ERRATUM_NEED_TO_RELOAD_MMUCTR
17         def_bool y if AM33_3 || AM34_2
19 config MMU
20         def_bool y
22 config HIGHMEM
23         def_bool n
25 config NUMA
26         def_bool n
28 config UID16
29         def_bool y
31 config RWSEM_GENERIC_SPINLOCK
32         def_bool y
34 config RWSEM_XCHGADD_ALGORITHM
35         bool
37 config GENERIC_HARDIRQS_NO__DO_IRQ
38         def_bool y
40 config GENERIC_CALIBRATE_DELAY
41         def_bool y
43 config GENERIC_CMOS_UPDATE
44         def_bool n
46 config GENERIC_FIND_NEXT_BIT
47         def_bool y
49 config GENERIC_HWEIGHT
50         def_bool y
52 config GENERIC_TIME
53         def_bool y
55 config GENERIC_CLOCKEVENTS
56         def_bool y
58 config GENERIC_CLOCKEVENTS_BUILD
59         def_bool y
60         depends on GENERIC_CLOCKEVENTS
62 config GENERIC_CLOCKEVENTS_BROADCAST
63         bool
65 config CEVT_MN10300
66        def_bool y
67        depends on GENERIC_CLOCKEVENTS
69 config CSRC_MN10300
70        def_bool y
71        depends on GENERIC_TIME
73 config GENERIC_BUG
74         def_bool y
76 config QUICKLIST
77         def_bool y
79 config ARCH_HAS_ILOG2_U32
80         def_bool y
82 # Use the generic interrupt handling code in kernel/irq/
83 config GENERIC_HARDIRQS
84         def_bool y
86 config HOTPLUG_CPU
87         def_bool n
89 source "init/Kconfig"
91 source "kernel/Kconfig.freezer"
94 menu "Panasonic MN10300 system setup"
96 choice
97         prompt "Unit type"
98         default MN10300_UNIT_ASB2303
99         help
100           This option specifies board for which the kernel will be
101           compiled. It affects the external peripherals catered for.
103 config MN10300_UNIT_ASB2303
104         bool "ASB2303"
106 config MN10300_UNIT_ASB2305
107         bool "ASB2305"
109 config MN10300_UNIT_ASB2364
110         bool "ASB2364"
111         select SMSC911X_ARCH_HOOKS if SMSC911X
113 endchoice
115 choice
116         prompt "Processor support"
117         default MN10300_PROC_MN103E010
118         help
119           This option specifies the processor for which the kernel will be
120           compiled. It affects the on-chip peripherals catered for.
122 config MN10300_PROC_MN103E010
123         bool "MN103E010"
124         depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
125         select AM33_2
126         select MN10300_PROC_HAS_TTYSM0
127         select MN10300_PROC_HAS_TTYSM1
128         select MN10300_PROC_HAS_TTYSM2
130 config MN10300_PROC_MN2WS0050
131         bool "MN2WS0050"
132         depends on MN10300_UNIT_ASB2364
133         select AM34_2
134         select MN10300_PROC_HAS_TTYSM0
135         select MN10300_PROC_HAS_TTYSM1
136         select MN10300_PROC_HAS_TTYSM2
138 endchoice
140 config MN10300_HAS_ATOMIC_OPS_UNIT
141         def_bool n
142         help
143           This should be enabled if the processor has an atomic ops unit
144           capable of doing LL/SC equivalent operations.
146 config FPU
147         bool "FPU present"
148         default y
149         depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
151 config LAZY_SAVE_FPU
152         bool "Save FPU state lazily"
153         default y
154         depends on FPU && !SMP
155         help
156           Enable this to be lazy in the saving of the FPU state to the owning
157           task's thread struct.  This is useful if most tasks on the system
158           don't use the FPU as only those tasks that use it will pass it
159           between them, and the state needn't be saved for a task that isn't
160           using it.
162           This can't be so easily used on SMP as the process that owns the FPU
163           state on a CPU may be currently running on another CPU, so for the
164           moment, it is disabled.
166 source "arch/mn10300/mm/Kconfig.cache"
168 config MN10300_TLB_USE_PIDR
169         def_bool y
171 menu "Memory layout options"
173 config KERNEL_RAM_BASE_ADDRESS
174         hex "Base address of kernel RAM"
175         default "0x90000000"
177 config INTERRUPT_VECTOR_BASE
178         hex "Base address of vector table"
179         default "0x90000000"
180         help
181           The base address of the vector table will be programmed into
182           the TBR register. It must be on 16MiB address boundary.
184 config KERNEL_TEXT_ADDRESS
185         hex "Base address of kernel"
186         default "0x90001000"
188 config KERNEL_ZIMAGE_BASE_ADDRESS
189         hex "Base address of compressed vmlinux image"
190         default "0x50700000"
192 config BOOT_STACK_OFFSET
193         hex
194         default "0xF00" if SMP
195         default "0xFF0" if !SMP
197 config BOOT_STACK_SIZE
198         hex
199         depends on SMP
200         default "0x100"
201 endmenu
203 config SMP
204         bool "Symmetric multi-processing support"
205         default y
206         select USE_GENERIC_SMP_HELPERS
207         depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
208         ---help---
209           This enables support for systems with more than one CPU. If you have
210           a system with only one CPU, like most personal computers, say N. If
211           you have a system with more than one CPU, say Y.
213           If you say N here, the kernel will run on single and multiprocessor
214           machines, but will use only one CPU of a multiprocessor machine. If
215           you say Y here, the kernel will run on many, but not all,
216           singleprocessor machines. On a singleprocessor machine, the kernel
217           will run faster if you say N here.
219           See also <file:Documentation/i386/IO-APIC.txt>,
220           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
221           <http://www.tldp.org/docs.html#howto>.
223           If you don't know what to do here, say N.
225 config NR_CPUS
226         int
227         depends on SMP
228         default "2"
230 source "kernel/Kconfig.preempt"
232 config MN10300_CURRENT_IN_E2
233         bool "Hold current task address in E2 register"
234         depends on !SMP
235         default y
236         help
237           This option removes the E2/R2 register from the set available to gcc
238           for normal use and instead uses it to store the address of the
239           current process's task_struct whilst in the kernel.
241           This means the kernel doesn't need to calculate the address each time
242           "current" is used (take SP, AND with mask and dereference pointer
243           just to get the address), and instead can just use E2+offset
244           addressing each time.
246           This has no effect on userspace.
248 config MN10300_USING_JTAG
249         bool "Using JTAG to debug kernel"
250         default y
251         help
252           This options indicates that JTAG will be used to debug the kernel. It
253           suppresses the use of certain hardware debugging features, such as
254           single-stepping, which are taken over completely by the JTAG unit.
256 source "kernel/Kconfig.hz"
257 source "kernel/time/Kconfig"
259 config MN10300_RTC
260         bool "Using MN10300 RTC"
261         depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
262         select GENERIC_CMOS_UPDATE
263         default n
264         help
265           This option enables support for the RTC, thus enabling time to be
266           tracked, even when system is powered down. This is available on-chip
267           on the MN103E010.
269 config MN10300_WD_TIMER
270         bool "Using MN10300 watchdog timer"
271         default y
272         help
273           This options indicates that the watchdog timer will be used.
275 config PCI
276         bool "Use PCI"
277         depends on MN10300_UNIT_ASB2305
278         default y
279         help
280           Some systems (such as the ASB2305) have PCI onboard. If you have one
281           of these boards and you wish to use the PCI facilities, say Y here.
283           The PCI-HOWTO, available from
284           <http://www.tldp.org/docs.html#howto>, contains valuable
285           information about which PCI hardware does work under Linux and which
286           doesn't.
288 source "drivers/pci/Kconfig"
290 source "drivers/pcmcia/Kconfig"
292 menu "MN10300 internal serial options"
294 config MN10300_PROC_HAS_TTYSM0
295         bool
296         default n
298 config MN10300_PROC_HAS_TTYSM1
299         bool
300         default n
302 config MN10300_PROC_HAS_TTYSM2
303         bool
304         default n
306 config MN10300_TTYSM
307         bool "Support for ttySM serial ports"
308         depends on MN10300
309         default y
310         select SERIAL_CORE
311         help
312           This option enables support for the on-chip serial ports that the
313           MN10300 has available.
315 config MN10300_TTYSM_CONSOLE
316         bool "Support for console on ttySM serial ports"
317         depends on MN10300_TTYSM
318         select SERIAL_CORE_CONSOLE
319         help
320           This option enables support for a console on the on-chip serial ports
321           that the MN10300 has available.
324 # /dev/ttySM0
326 config MN10300_TTYSM0
327         bool "Enable SIF0 (/dev/ttySM0)"
328         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
329         help
330           Enable access to SIF0 through /dev/ttySM0 or gdb-stub
332 choice
333         prompt "Select the timer to supply the clock for SIF0"
334         default MN10300_TTYSM0_TIMER8
335         depends on MN10300_TTYSM0
337 config MN10300_TTYSM0_TIMER8
338         bool "Use timer 8 (16-bit)"
340 config MN10300_TTYSM0_TIMER2
341         bool "Use timer 2 (8-bit)"
343 endchoice
346 # /dev/ttySM1
348 config MN10300_TTYSM1
349         bool "Enable SIF1 (/dev/ttySM1)"
350         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
351         help
352           Enable access to SIF1 through /dev/ttySM1 or gdb-stub
354 choice
355         prompt "Select the timer to supply the clock for SIF1"
356         default MN10300_TTYSM1_TIMER12 \
357                 if !(AM33_2 || AM33_3)
358         default MN10300_TTYSM1_TIMER9 \
359                 if AM33_2 || AM33_3
360         depends on MN10300_TTYSM1
362 config MN10300_TTYSM1_TIMER12
363         bool "Use timer 12 (16-bit)"
364         depends on !(AM33_2 || AM33_3)
366 config MN10300_TTYSM1_TIMER9
367         bool "Use timer 9 (16-bit)"
368         depends on AM33_2 || AM33_3
370 config MN10300_TTYSM1_TIMER3
371         bool "Use timer 3 (8-bit)"
372         depends on AM33_2 || AM33_3
374 endchoice
377 # /dev/ttySM2
379 config MN10300_TTYSM2
380         bool "Enable SIF2 (/dev/ttySM2)"
381         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
382         help
383           Enable access to SIF2 through /dev/ttySM2 or gdb-stub
385 choice
386         prompt "Select the timer to supply the clock for SIF2"
387         default MN10300_TTYSM2_TIMER3 \
388                 if !(AM33_2 || AM33_3)
389         default MN10300_TTYSM2_TIMER10 \
390                 if AM33_2 || AM33_3
391         depends on MN10300_TTYSM2
393 config MN10300_TTYSM2_TIMER9
394         bool "Use timer 9 (16-bit)"
395         depends on !(AM33_2 || AM33_3)
397 config MN10300_TTYSM2_TIMER1
398         bool "Use timer 1 (8-bit)"
399         depends on !(AM33_2 || AM33_3)
401 config MN10300_TTYSM2_TIMER3
402         bool "Use timer 3 (8-bit)"
403         depends on !(AM33_2 || AM33_3)
405 config MN10300_TTYSM2_TIMER10
406         bool "Use timer 10 (16-bit)"
407         depends on AM33_2 || AM33_3
409 endchoice
411 config MN10300_TTYSM2_CTS
412         bool "Enable the use of the CTS line /dev/ttySM2"
413         depends on MN10300_TTYSM2 && AM33_2
415 endmenu
417 menu "Interrupt request priority options"
419 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
421 comment "____Non-maskable interrupt levels____"
422 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
424 config GDBSTUB_IRQ_LEVEL
425         int "GDBSTUB interrupt priority"
426         depends on GDBSTUB
427         range 0 1 if LINUX_CLI_LEVEL = 2
428         range 0 2 if LINUX_CLI_LEVEL = 3
429         range 0 3 if LINUX_CLI_LEVEL = 4
430         range 0 4 if LINUX_CLI_LEVEL = 5
431         range 0 5 if LINUX_CLI_LEVEL = 6
432         default 0
434 comment "The following must be set to a higher priority than local_irq_disable()"
436 config MN10300_SERIAL_IRQ_LEVEL
437         int "MN10300 on-chip serial interrupt priority"
438         depends on MN10300_TTYSM
439         range 1 1 if LINUX_CLI_LEVEL = 2
440         range 1 2 if LINUX_CLI_LEVEL = 3
441         range 1 3 if LINUX_CLI_LEVEL = 4
442         range 1 4 if LINUX_CLI_LEVEL = 5
443         range 1 5 if LINUX_CLI_LEVEL = 6
444         default 1
446 comment "-"
447 comment "____Maskable interrupt levels____"
449 config LINUX_CLI_LEVEL
450         int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
451         range 2 6
452         default 2
453         help
454           local_irq_disable() doesn't actually disable maskable interrupts -
455           what it does is restrict the levels of interrupt which are permitted
456           (a lower level indicates a higher priority) by lowering the value in
457           EPSW.IM from 7.  Any interrupt is permitted for which the level is
458           lower than EPSW.IM.
460           Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
461           serial DMA interrupts are allowed to interrupt normal disabled
462           sections.
464 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
466 config TIMER_IRQ_LEVEL
467         int "Kernel timer interrupt priority"
468         range LINUX_CLI_LEVEL 6
469         default 4
471 config PCI_IRQ_LEVEL
472         int "PCI interrupt priority"
473         depends on PCI
474         range LINUX_CLI_LEVEL 6
475         default 5
477 config ETHERNET_IRQ_LEVEL
478         int "Ethernet interrupt priority"
479         depends on SMC91X || SMC911X || SMSC911X
480         range LINUX_CLI_LEVEL 6
481         default 6
483 config EXT_SERIAL_IRQ_LEVEL
484         int "External serial port interrupt priority"
485         depends on SERIAL_8250
486         range LINUX_CLI_LEVEL 6
487         default 6
489 endmenu
491 source "mm/Kconfig"
493 menu "Power management options"
494 source kernel/power/Kconfig
495 endmenu
497 endmenu
500 menu "Executable formats"
502 source "fs/Kconfig.binfmt"
504 endmenu
506 source "net/Kconfig"
508 source "drivers/Kconfig"
510 source "fs/Kconfig"
512 source "arch/mn10300/Kconfig.debug"
514 source "security/Kconfig"
516 source "crypto/Kconfig"
518 source "lib/Kconfig"