Root/arch/mn10300/Kconfig

1config MN10300
2    def_bool y
3    select HAVE_OPROFILE
4
5config AM33_2
6    def_bool n
7
8config AM33_3
9    def_bool n
10
11config AM34_2
12    def_bool n
13    select MN10300_HAS_ATOMIC_OPS_UNIT
14    select MN10300_HAS_CACHE_SNOOP
15
16config ERRATUM_NEED_TO_RELOAD_MMUCTR
17    def_bool y if AM33_3 || AM34_2
18
19config MMU
20    def_bool y
21
22config HIGHMEM
23    def_bool n
24
25config NUMA
26    def_bool n
27
28config UID16
29    def_bool y
30
31config RWSEM_GENERIC_SPINLOCK
32    def_bool y
33
34config RWSEM_XCHGADD_ALGORITHM
35    bool
36
37config GENERIC_HARDIRQS_NO__DO_IRQ
38    def_bool y
39
40config GENERIC_CALIBRATE_DELAY
41    def_bool y
42
43config GENERIC_CMOS_UPDATE
44        def_bool n
45
46config GENERIC_FIND_NEXT_BIT
47    def_bool y
48
49config GENERIC_HWEIGHT
50    def_bool y
51
52config GENERIC_TIME
53    def_bool y
54
55config GENERIC_CLOCKEVENTS
56    def_bool y
57
58config GENERIC_CLOCKEVENTS_BUILD
59    def_bool y
60    depends on GENERIC_CLOCKEVENTS
61
62config GENERIC_CLOCKEVENTS_BROADCAST
63    bool
64
65config CEVT_MN10300
66       def_bool y
67       depends on GENERIC_CLOCKEVENTS
68
69config CSRC_MN10300
70       def_bool y
71       depends on GENERIC_TIME
72
73config GENERIC_BUG
74    def_bool y
75
76config QUICKLIST
77    def_bool y
78
79config ARCH_HAS_ILOG2_U32
80    def_bool y
81
82# Use the generic interrupt handling code in kernel/irq/
83config GENERIC_HARDIRQS
84    def_bool y
85
86config HOTPLUG_CPU
87    def_bool n
88
89source "init/Kconfig"
90
91source "kernel/Kconfig.freezer"
92
93
94menu "Panasonic MN10300 system setup"
95
96choice
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.
102
103config MN10300_UNIT_ASB2303
104    bool "ASB2303"
105
106config MN10300_UNIT_ASB2305
107    bool "ASB2305"
108
109config MN10300_UNIT_ASB2364
110    bool "ASB2364"
111    select SMSC911X_ARCH_HOOKS if SMSC911X
112
113endchoice
114
115choice
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.
121
122config 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
129
130config 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
137
138endchoice
139
140config 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.
145
146config FPU
147    bool "FPU present"
148    default y
149    depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
150
151config 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.
161
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.
165
166source "arch/mn10300/mm/Kconfig.cache"
167
168config MN10300_TLB_USE_PIDR
169    def_bool y
170
171menu "Memory layout options"
172
173config KERNEL_RAM_BASE_ADDRESS
174    hex "Base address of kernel RAM"
175    default "0x90000000"
176
177config 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.
183
184config KERNEL_TEXT_ADDRESS
185    hex "Base address of kernel"
186    default "0x90001000"
187
188config KERNEL_ZIMAGE_BASE_ADDRESS
189    hex "Base address of compressed vmlinux image"
190    default "0x50700000"
191
192config BOOT_STACK_OFFSET
193    hex
194    default "0xF00" if SMP
195    default "0xFF0" if !SMP
196
197config BOOT_STACK_SIZE
198    hex
199    depends on SMP
200    default "0x100"
201endmenu
202
203config SMP
204    bool "Symmetric multi-processing support"
205    default y
206    depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
207    ---help---
208      This enables support for systems with more than one CPU. If you have
209      a system with only one CPU, like most personal computers, say N. If
210      you have a system with more than one CPU, say Y.
211
212      If you say N here, the kernel will run on single and multiprocessor
213      machines, but will use only one CPU of a multiprocessor machine. If
214      you say Y here, the kernel will run on many, but not all,
215      singleprocessor machines. On a singleprocessor machine, the kernel
216      will run faster if you say N here.
217
218      See also <file:Documentation/i386/IO-APIC.txt>,
219      <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
220      <http://www.tldp.org/docs.html#howto>.
221
222      If you don't know what to do here, say N.
223
224config NR_CPUS
225    int
226    depends on SMP
227    default "2"
228
229config USE_GENERIC_SMP_HELPERS
230    bool
231    depends on SMP
232    default y
233
234source "kernel/Kconfig.preempt"
235
236config MN10300_CURRENT_IN_E2
237    bool "Hold current task address in E2 register"
238    depends on !SMP
239    default y
240    help
241      This option removes the E2/R2 register from the set available to gcc
242      for normal use and instead uses it to store the address of the
243      current process's task_struct whilst in the kernel.
244
245      This means the kernel doesn't need to calculate the address each time
246      "current" is used (take SP, AND with mask and dereference pointer
247      just to get the address), and instead can just use E2+offset
248      addressing each time.
249
250      This has no effect on userspace.
251
252config MN10300_USING_JTAG
253    bool "Using JTAG to debug kernel"
254    default y
255    help
256      This options indicates that JTAG will be used to debug the kernel. It
257      suppresses the use of certain hardware debugging features, such as
258      single-stepping, which are taken over completely by the JTAG unit.
259
260source "kernel/Kconfig.hz"
261source "kernel/time/Kconfig"
262
263config MN10300_RTC
264    bool "Using MN10300 RTC"
265    depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
266    select GENERIC_CMOS_UPDATE
267    default n
268    help
269      This option enables support for the RTC, thus enabling time to be
270      tracked, even when system is powered down. This is available on-chip
271      on the MN103E010.
272
273config MN10300_WD_TIMER
274    bool "Using MN10300 watchdog timer"
275    default y
276    help
277      This options indicates that the watchdog timer will be used.
278
279config PCI
280    bool "Use PCI"
281    depends on MN10300_UNIT_ASB2305
282    default y
283    help
284      Some systems (such as the ASB2305) have PCI onboard. If you have one
285      of these boards and you wish to use the PCI facilities, say Y here.
286
287      The PCI-HOWTO, available from
288      <http://www.tldp.org/docs.html#howto>, contains valuable
289      information about which PCI hardware does work under Linux and which
290      doesn't.
291
292source "drivers/pci/Kconfig"
293
294source "drivers/pcmcia/Kconfig"
295
296menu "MN10300 internal serial options"
297
298config MN10300_PROC_HAS_TTYSM0
299    bool
300    default n
301
302config MN10300_PROC_HAS_TTYSM1
303    bool
304    default n
305
306config MN10300_PROC_HAS_TTYSM2
307    bool
308    default n
309
310config MN10300_TTYSM
311    bool "Support for ttySM serial ports"
312    depends on MN10300
313    default y
314    select SERIAL_CORE
315    help
316      This option enables support for the on-chip serial ports that the
317      MN10300 has available.
318
319config MN10300_TTYSM_CONSOLE
320    bool "Support for console on ttySM serial ports"
321    depends on MN10300_TTYSM
322    select SERIAL_CORE_CONSOLE
323    help
324      This option enables support for a console on the on-chip serial ports
325      that the MN10300 has available.
326
327#
328# /dev/ttySM0
329#
330config MN10300_TTYSM0
331    bool "Enable SIF0 (/dev/ttySM0)"
332    depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
333    help
334      Enable access to SIF0 through /dev/ttySM0 or gdb-stub
335
336choice
337    prompt "Select the timer to supply the clock for SIF0"
338    default MN10300_TTYSM0_TIMER8
339    depends on MN10300_TTYSM0
340
341config MN10300_TTYSM0_TIMER8
342    bool "Use timer 8 (16-bit)"
343
344config MN10300_TTYSM0_TIMER2
345    bool "Use timer 2 (8-bit)"
346
347endchoice
348
349#
350# /dev/ttySM1
351#
352config MN10300_TTYSM1
353    bool "Enable SIF1 (/dev/ttySM1)"
354    depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
355    help
356      Enable access to SIF1 through /dev/ttySM1 or gdb-stub
357
358choice
359    prompt "Select the timer to supply the clock for SIF1"
360    default MN10300_TTYSM1_TIMER12 \
361        if !(AM33_2 || AM33_3)
362    default MN10300_TTYSM1_TIMER9 \
363        if AM33_2 || AM33_3
364    depends on MN10300_TTYSM1
365
366config MN10300_TTYSM1_TIMER12
367    bool "Use timer 12 (16-bit)"
368    depends on !(AM33_2 || AM33_3)
369
370config MN10300_TTYSM1_TIMER9
371    bool "Use timer 9 (16-bit)"
372    depends on AM33_2 || AM33_3
373
374config MN10300_TTYSM1_TIMER3
375    bool "Use timer 3 (8-bit)"
376    depends on AM33_2 || AM33_3
377
378endchoice
379
380#
381# /dev/ttySM2
382#
383config MN10300_TTYSM2
384    bool "Enable SIF2 (/dev/ttySM2)"
385    depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
386    help
387      Enable access to SIF2 through /dev/ttySM2 or gdb-stub
388
389choice
390    prompt "Select the timer to supply the clock for SIF2"
391    default MN10300_TTYSM2_TIMER3 \
392        if !(AM33_2 || AM33_3)
393    default MN10300_TTYSM2_TIMER10 \
394        if AM33_2 || AM33_3
395    depends on MN10300_TTYSM2
396
397config MN10300_TTYSM2_TIMER9
398    bool "Use timer 9 (16-bit)"
399    depends on !(AM33_2 || AM33_3)
400
401config MN10300_TTYSM2_TIMER1
402    bool "Use timer 1 (8-bit)"
403    depends on !(AM33_2 || AM33_3)
404
405config MN10300_TTYSM2_TIMER3
406    bool "Use timer 3 (8-bit)"
407    depends on !(AM33_2 || AM33_3)
408
409config MN10300_TTYSM2_TIMER10
410    bool "Use timer 10 (16-bit)"
411    depends on AM33_2 || AM33_3
412
413endchoice
414
415config MN10300_TTYSM2_CTS
416    bool "Enable the use of the CTS line /dev/ttySM2"
417    depends on MN10300_TTYSM2 && AM33_2
418
419endmenu
420
421menu "Interrupt request priority options"
422
423comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
424
425comment "____Non-maskable interrupt levels____"
426comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
427
428config GDBSTUB_IRQ_LEVEL
429    int "GDBSTUB interrupt priority"
430    depends on GDBSTUB
431    range 0 1 if LINUX_CLI_LEVEL = 2
432    range 0 2 if LINUX_CLI_LEVEL = 3
433    range 0 3 if LINUX_CLI_LEVEL = 4
434    range 0 4 if LINUX_CLI_LEVEL = 5
435    range 0 5 if LINUX_CLI_LEVEL = 6
436    default 0
437
438comment "The following must be set to a higher priority than local_irq_disable()"
439
440config MN10300_SERIAL_IRQ_LEVEL
441    int "MN10300 on-chip serial interrupt priority"
442    depends on MN10300_TTYSM
443    range 1 1 if LINUX_CLI_LEVEL = 2
444    range 1 2 if LINUX_CLI_LEVEL = 3
445    range 1 3 if LINUX_CLI_LEVEL = 4
446    range 1 4 if LINUX_CLI_LEVEL = 5
447    range 1 5 if LINUX_CLI_LEVEL = 6
448    default 1
449
450comment "-"
451comment "____Maskable interrupt levels____"
452
453config LINUX_CLI_LEVEL
454    int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
455    range 2 6
456    default 2
457    help
458      local_irq_disable() doesn't actually disable maskable interrupts -
459      what it does is restrict the levels of interrupt which are permitted
460      (a lower level indicates a higher priority) by lowering the value in
461      EPSW.IM from 7. Any interrupt is permitted for which the level is
462      lower than EPSW.IM.
463
464      Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
465      serial DMA interrupts are allowed to interrupt normal disabled
466      sections.
467
468comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
469
470config TIMER_IRQ_LEVEL
471    int "Kernel timer interrupt priority"
472    range LINUX_CLI_LEVEL 6
473    default 4
474
475config PCI_IRQ_LEVEL
476    int "PCI interrupt priority"
477    depends on PCI
478    range LINUX_CLI_LEVEL 6
479    default 5
480
481config ETHERNET_IRQ_LEVEL
482    int "Ethernet interrupt priority"
483    depends on SMC91X || SMC911X || SMSC911X
484    range LINUX_CLI_LEVEL 6
485    default 6
486
487config EXT_SERIAL_IRQ_LEVEL
488    int "External serial port interrupt priority"
489    depends on SERIAL_8250
490    range LINUX_CLI_LEVEL 6
491    default 6
492
493endmenu
494
495source "mm/Kconfig"
496
497menu "Power management options"
498source kernel/power/Kconfig
499endmenu
500
501endmenu
502
503
504menu "Executable formats"
505
506source "fs/Kconfig.binfmt"
507
508endmenu
509
510source "net/Kconfig"
511
512source "drivers/Kconfig"
513
514source "fs/Kconfig"
515
516source "arch/mn10300/Kconfig.debug"
517
518source "security/Kconfig"
519
520source "crypto/Kconfig"
521
522source "lib/Kconfig"
523

Archive Download this file



interactive