MN10300: Allow some cacheflushes to be avoided if cache snooping is available
[linux-2.6/x86.git] / arch / mn10300 / Kconfig
blob21e2a534d98ef9f0b283be2f193e68c2609e0b04
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux Kernel Configuration"
8 config MN10300
9         def_bool y
10         select HAVE_OPROFILE
12 config AM33_2
13         def_bool n
15 config AM33_3
16         def_bool n
18 config AM34_2
19         def_bool n
20         select MN10300_HAS_ATOMIC_OPS_UNIT
21         select MN10300_HAS_CACHE_SNOOP
23 config MMU
24         def_bool y
26 config HIGHMEM
27         def_bool n
29 config NUMA
30         def_bool n
32 config UID16
33         def_bool y
35 config RWSEM_GENERIC_SPINLOCK
36         def_bool y
38 config RWSEM_XCHGADD_ALGORITHM
39         bool
41 config GENERIC_HARDIRQS_NO__DO_IRQ
42         def_bool y
44 config GENERIC_CALIBRATE_DELAY
45         def_bool y
47 config GENERIC_CMOS_UPDATE
48         def_bool y
50 config GENERIC_FIND_NEXT_BIT
51         def_bool y
53 config GENERIC_HWEIGHT
54         def_bool y
56 config GENERIC_BUG
57         def_bool y
59 config QUICKLIST
60         def_bool y
62 config ARCH_HAS_ILOG2_U32
63         def_bool y
65 # Use the generic interrupt handling code in kernel/irq/
66 config GENERIC_HARDIRQS
67         def_bool y
69 config HOTPLUG_CPU
70         def_bool n
72 config HZ
73         int
74         default 1000
76 mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
78 source "init/Kconfig"
80 source "kernel/Kconfig.freezer"
83 menu "Matsushita MN10300 system setup"
85 choice
86         prompt "Unit type"
87         default MN10300_UNIT_ASB2303
88         help
89           This option specifies board for which the kernel will be
90           compiled. It affects the external peripherals catered for.
92 config MN10300_UNIT_ASB2303
93         bool "ASB2303"
95 config MN10300_UNIT_ASB2305
96         bool "ASB2305"
98 endchoice
100 choice
101         prompt "Processor support"
102         default MN10300_PROC_MN103E010
103         help
104           This option specifies the processor for which the kernel will be
105           compiled. It affects the on-chip peripherals catered for.
107 config MN10300_PROC_MN103E010
108         bool "MN103E010"
109         depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
110         select AM33_2
111         select MN10300_PROC_HAS_TTYSM0
112         select MN10300_PROC_HAS_TTYSM1
113         select MN10300_PROC_HAS_TTYSM2
115 endchoice
117 choice
118         prompt "Processor core support"
119         default MN10300_CPU_AM33V2
120         help
121           This option specifies the processor core for which the kernel will be
122           compiled. It affects the instruction set used.
124 config MN10300_CPU_AM33V2
125         bool "AM33v2"
127 endchoice
129 config MN10300_HAS_ATOMIC_OPS_UNIT
130         def_bool n
131         help
132           This should be enabled if the processor has an atomic ops unit
133           capable of doing LL/SC equivalent operations.
135 config FPU
136         bool "FPU present"
137         default y
138         depends on MN10300_PROC_MN103E010
140 source "arch/mn10300/mm/Kconfig.cache"
142 menu "Memory layout options"
144 config KERNEL_RAM_BASE_ADDRESS
145         hex "Base address of kernel RAM"
146         default "0x90000000"
148 config INTERRUPT_VECTOR_BASE
149         hex "Base address of vector table"
150         default "0x90000000"
151         help
152           The base address of the vector table will be programmed into
153           the TBR register. It must be on 16MiB address boundary.
155 config KERNEL_TEXT_ADDRESS
156         hex "Base address of kernel"
157         default "0x90001000"
159 config KERNEL_ZIMAGE_BASE_ADDRESS
160         hex "Base address of compressed vmlinux image"
161         default "0x90700000"
163 endmenu
165 config PREEMPT
166         bool "Preemptible Kernel"
167         help
168           This option reduces the latency of the kernel when reacting to
169           real-time or interactive events by allowing a low priority process to
170           be preempted even if it is in kernel mode executing a system call.
171           This allows applications to run more reliably even when the system is
172           under load.
174           Say Y here if you are building a kernel for a desktop, embedded
175           or real-time system.  Say N if you are unsure.
177 config MN10300_CURRENT_IN_E2
178         bool "Hold current task address in E2 register"
179         default y
180         help
181           This option removes the E2/R2 register from the set available to gcc
182           for normal use and instead uses it to store the address of the
183           current process's task_struct whilst in the kernel.
185           This means the kernel doesn't need to calculate the address each time
186           "current" is used (take SP, AND with mask and dereference pointer
187           just to get the address), and instead can just use E2+offset
188           addressing each time.
190           This has no effect on userspace.
192 config MN10300_USING_JTAG
193         bool "Using JTAG to debug kernel"
194         default y
195         help
196           This options indicates that JTAG will be used to debug the kernel. It
197           suppresses the use of certain hardware debugging features, such as
198           single-stepping, which are taken over completely by the JTAG unit.
200 config MN10300_RTC
201         bool "Using MN10300 RTC"
202         depends on MN10300_PROC_MN103E010
203         default n
204         help
206           This option enables support for the RTC, thus enabling time to be
207           tracked, even when system is powered down. This is available on-chip
208           on the MN103E010.
210 config MN10300_WD_TIMER
211         bool "Using MN10300 watchdog timer"
212         default y
213         help
214           This options indicates that the watchdog timer will be used.
216 config PCI
217         bool "Use PCI"
218         depends on MN10300_UNIT_ASB2305
219         default y
220         help
221           Some systems (such as the ASB2305) have PCI onboard. If you have one
222           of these boards and you wish to use the PCI facilities, say Y here.
224           The PCI-HOWTO, available from
225           <http://www.tldp.org/docs.html#howto>, contains valuable
226           information about which PCI hardware does work under Linux and which
227           doesn't.
229 source "drivers/pci/Kconfig"
231 source "drivers/pcmcia/Kconfig"
233 menu "MN10300 internal serial options"
235 config MN10300_PROC_HAS_TTYSM0
236         bool
237         default n
239 config MN10300_PROC_HAS_TTYSM1
240         bool
241         default n
243 config MN10300_PROC_HAS_TTYSM2
244         bool
245         default n
247 config MN10300_TTYSM
248         bool "Support for ttySM serial ports"
249         depends on MN10300
250         default y
251         select SERIAL_CORE
252         help
253           This option enables support for the on-chip serial ports that the
254           MN10300 has available.
256 config MN10300_TTYSM_CONSOLE
257         bool "Support for console on ttySM serial ports"
258         depends on MN10300_TTYSM
259         select SERIAL_CORE_CONSOLE
260         help
261           This option enables support for a console on the on-chip serial ports
262           that the MN10300 has available.
265 # /dev/ttySM0
267 config MN10300_TTYSM0
268         bool "Enable SIF0 (/dev/ttySM0)"
269         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
270         help
271           Enable access to SIF0 through /dev/ttySM0 or gdb-stub
273 choice
274         prompt "Select the timer to supply the clock for SIF0"
275         default MN10300_TTYSM0_TIMER8
276         depends on MN10300_TTYSM0
278 config MN10300_TTYSM0_TIMER8
279         bool "Use timer 8 (16-bit)"
281 config MN10300_TTYSM0_TIMER2
282         bool "Use timer 2 (8-bit)"
284 endchoice
287 # /dev/ttySM1
289 config MN10300_TTYSM1
290         bool "Enable SIF1 (/dev/ttySM1)"
291         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
292         help
293           Enable access to SIF1 through /dev/ttySM1 or gdb-stub
295 choice
296         prompt "Select the timer to supply the clock for SIF1"
297         default MN10300_TTYSM0_TIMER9
298         depends on MN10300_TTYSM1
300 config MN10300_TTYSM1_TIMER9
301         bool "Use timer 9 (16-bit)"
303 config MN10300_TTYSM1_TIMER3
304         bool "Use timer 3 (8-bit)"
306 endchoice
309 # /dev/ttySM2
311 config MN10300_TTYSM2
312         bool "Enable SIF2 (/dev/ttySM2)"
313         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
314         help
315           Enable access to SIF2 through /dev/ttySM2 or gdb-stub
317 choice
318         prompt "Select the timer to supply the clock for SIF2"
319         default MN10300_TTYSM0_TIMER10
320         depends on MN10300_TTYSM2
322 config MN10300_TTYSM2_TIMER10
323         bool "Use timer 10 (16-bit)"
325 endchoice
327 config MN10300_TTYSM2_CTS
328         bool "Enable the use of the CTS line /dev/ttySM2"
329         depends on MN10300_TTYSM2
331 endmenu
333 source "mm/Kconfig"
335 menu "Power management options"
336 source kernel/power/Kconfig
337 endmenu
339 endmenu
342 menu "Executable formats"
344 source "fs/Kconfig.binfmt"
346 endmenu
348 source "net/Kconfig"
350 source "drivers/Kconfig"
352 source "fs/Kconfig"
354 source "arch/mn10300/Kconfig.debug"
356 source "security/Kconfig"
358 source "crypto/Kconfig"
360 source "lib/Kconfig"