MIPS: SNI: Correct NULL test
[linux-2.6.git] / arch / mn10300 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux Kernel Configuration"
7
8 config MN10300
9         def_bool y
10         select HAVE_OPROFILE
11         select HAVE_ARCH_TRACEHOOK
12
13 config AM33
14         def_bool y
15
16 config MMU
17         def_bool y
18
19 config HIGHMEM
20         def_bool n
21
22 config NUMA
23         def_bool n
24
25 config UID16
26         def_bool y
27
28 config RWSEM_GENERIC_SPINLOCK
29         def_bool y
30
31 config RWSEM_XCHGADD_ALGORITHM
32         bool
33
34 config GENERIC_HARDIRQS_NO__DO_IRQ
35         def_bool y
36
37 config GENERIC_CALIBRATE_DELAY
38         def_bool y
39
40 config GENERIC_FIND_NEXT_BIT
41         def_bool y
42
43 config GENERIC_HWEIGHT
44         def_bool y
45
46 config GENERIC_TIME
47         def_bool y
48
49 config GENERIC_BUG
50         def_bool y
51
52 config QUICKLIST
53         def_bool y
54
55 config ARCH_HAS_ILOG2_U32
56         def_bool y
57
58 # Use the generic interrupt handling code in kernel/irq/
59 config GENERIC_HARDIRQS
60         def_bool y
61
62 config HOTPLUG_CPU
63         def_bool n
64
65 config HZ
66         int
67         default 1000
68
69 mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
70
71 source "init/Kconfig"
72
73 source "kernel/Kconfig.freezer"
74
75
76 menu "Matsushita MN10300 system setup"
77
78 choice
79         prompt "Unit type"
80         default MN10300_UNIT_ASB2303
81         help
82           This option specifies board for which the kernel will be
83           compiled. It affects the external peripherals catered for.
84
85 config MN10300_UNIT_ASB2303
86         bool "ASB2303"
87
88 config MN10300_UNIT_ASB2305
89         bool "ASB2305"
90
91 endchoice
92
93 choice
94         prompt "Processor support"
95         default MN10300_PROC_MN103E010
96         help
97           This option specifies the processor for which the kernel will be
98           compiled. It affects the on-chip peripherals catered for.
99
100 config MN10300_PROC_MN103E010
101         bool "MN103E010"
102         depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
103         select MN10300_PROC_HAS_TTYSM0
104         select MN10300_PROC_HAS_TTYSM1
105         select MN10300_PROC_HAS_TTYSM2
106
107 endchoice
108
109 choice
110         prompt "Processor core support"
111         default MN10300_CPU_AM33V2
112         help
113           This option specifies the processor core for which the kernel will be
114           compiled. It affects the instruction set used.
115
116 config MN10300_CPU_AM33V2
117         bool "AM33v2"
118
119 endchoice
120
121 config FPU
122         bool "FPU present"
123         default y
124         depends on MN10300_PROC_MN103E010
125
126 choice
127         prompt "CPU Caching mode"
128         default MN10300_CACHE_WBACK
129         help
130           This option determines the caching mode for the kernel.
131
132           Write-Back caching mode involves the all reads and writes causing
133           the affected cacheline to be read into the cache first before being
134           operated upon. Memory is not then updated by a write until the cache
135           is filled and a cacheline needs to be displaced from the cache to
136           make room. Only at that point is it written back.
137
138           Write-Through caching only fetches cachelines from memory on a
139           read. Writes always get written directly to memory. If the affected
140           cacheline is also in cache, it will be updated too.
141
142           The final option is to turn of caching entirely.
143
144 config MN10300_CACHE_WBACK
145         bool "Write-Back"
146
147 config MN10300_CACHE_WTHRU
148         bool "Write-Through"
149
150 config MN10300_CACHE_DISABLED
151         bool "Disabled"
152
153 endchoice
154
155 menu "Memory layout options"
156
157 config KERNEL_RAM_BASE_ADDRESS
158         hex "Base address of kernel RAM"
159         default "0x90000000"
160
161 config INTERRUPT_VECTOR_BASE
162         hex "Base address of vector table"
163         default "0x90000000"
164         help
165           The base address of the vector table will be programmed into
166           the TBR register. It must be on 16MiB address boundary.
167
168 config KERNEL_TEXT_ADDRESS
169         hex "Base address of kernel"
170         default "0x90001000"
171
172 config KERNEL_ZIMAGE_BASE_ADDRESS
173         hex "Base address of compressed vmlinux image"
174         default "0x90700000"
175
176 endmenu
177
178 config PREEMPT
179         bool "Preemptible Kernel"
180         help
181           This option reduces the latency of the kernel when reacting to
182           real-time or interactive events by allowing a low priority process to
183           be preempted even if it is in kernel mode executing a system call.
184           This allows applications to run more reliably even when the system is
185           under load.
186
187           Say Y here if you are building a kernel for a desktop, embedded
188           or real-time system.  Say N if you are unsure.
189
190 config MN10300_CURRENT_IN_E2
191         bool "Hold current task address in E2 register"
192         default y
193         help
194           This option removes the E2/R2 register from the set available to gcc
195           for normal use and instead uses it to store the address of the
196           current process's task_struct whilst in the kernel.
197
198           This means the kernel doesn't need to calculate the address each time
199           "current" is used (take SP, AND with mask and dereference pointer
200           just to get the address), and instead can just use E2+offset
201           addressing each time.
202
203           This has no effect on userspace.
204
205 config MN10300_USING_JTAG
206         bool "Using JTAG to debug kernel"
207         default y
208         help
209           This options indicates that JTAG will be used to debug the kernel. It
210           suppresses the use of certain hardware debugging features, such as
211           single-stepping, which are taken over completely by the JTAG unit.
212
213 config MN10300_RTC
214         bool "Using MN10300 RTC"
215         depends on MN10300_PROC_MN103E010
216         default n
217         help
218
219           This option enables support for the RTC, thus enabling time to be
220           tracked, even when system is powered down. This is available on-chip
221           on the MN103E010.
222
223 config MN10300_WD_TIMER
224         bool "Using MN10300 watchdog timer"
225         default y
226         help
227           This options indicates that the watchdog timer will be used.
228
229 config PCI
230         bool "Use PCI"
231         depends on MN10300_UNIT_ASB2305
232         default y
233         help
234           Some systems (such as the ASB2305) have PCI onboard. If you have one
235           of these boards and you wish to use the PCI facilities, say Y here.
236
237           The PCI-HOWTO, available from
238           <http://www.tldp.org/docs.html#howto>, contains valuable
239           information about which PCI hardware does work under Linux and which
240           doesn't.
241
242 source "drivers/pci/Kconfig"
243
244 source "drivers/pcmcia/Kconfig"
245
246 menu "MN10300 internal serial options"
247
248 config MN10300_PROC_HAS_TTYSM0
249         bool
250         default n
251
252 config MN10300_PROC_HAS_TTYSM1
253         bool
254         default n
255
256 config MN10300_PROC_HAS_TTYSM2
257         bool
258         default n
259
260 config MN10300_TTYSM
261         bool "Support for ttySM serial ports"
262         depends on MN10300
263         default y
264         select SERIAL_CORE
265         help
266           This option enables support for the on-chip serial ports that the
267           MN10300 has available.
268
269 config MN10300_TTYSM_CONSOLE
270         bool "Support for console on ttySM serial ports"
271         depends on MN10300_TTYSM
272         select SERIAL_CORE_CONSOLE
273         help
274           This option enables support for a console on the on-chip serial ports
275           that the MN10300 has available.
276
277 #
278 # /dev/ttySM0
279 #
280 config MN10300_TTYSM0
281         bool "Enable SIF0 (/dev/ttySM0)"
282         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
283         help
284           Enable access to SIF0 through /dev/ttySM0 or gdb-stub
285
286 choice
287         prompt "Select the timer to supply the clock for SIF0"
288         default MN10300_TTYSM0_TIMER8
289         depends on MN10300_TTYSM0
290
291 config MN10300_TTYSM0_TIMER8
292         bool "Use timer 8 (16-bit)"
293
294 config MN10300_TTYSM0_TIMER2
295         bool "Use timer 2 (8-bit)"
296
297 endchoice
298
299 #
300 # /dev/ttySM1
301 #
302 config MN10300_TTYSM1
303         bool "Enable SIF1 (/dev/ttySM1)"
304         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
305         help
306           Enable access to SIF1 through /dev/ttySM1 or gdb-stub
307
308 choice
309         prompt "Select the timer to supply the clock for SIF1"
310         default MN10300_TTYSM0_TIMER9
311         depends on MN10300_TTYSM1
312
313 config MN10300_TTYSM1_TIMER9
314         bool "Use timer 9 (16-bit)"
315
316 config MN10300_TTYSM1_TIMER3
317         bool "Use timer 3 (8-bit)"
318
319 endchoice
320
321 #
322 # /dev/ttySM2
323 #
324 config MN10300_TTYSM2
325         bool "Enable SIF2 (/dev/ttySM2)"
326         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
327         help
328           Enable access to SIF2 through /dev/ttySM2 or gdb-stub
329
330 choice
331         prompt "Select the timer to supply the clock for SIF2"
332         default MN10300_TTYSM0_TIMER10
333         depends on MN10300_TTYSM2
334
335 config MN10300_TTYSM2_TIMER10
336         bool "Use timer 10 (16-bit)"
337
338 endchoice
339
340 config MN10300_TTYSM2_CTS
341         bool "Enable the use of the CTS line /dev/ttySM2"
342         depends on MN10300_TTYSM2
343
344 endmenu
345
346 source "mm/Kconfig"
347
348 menu "Power management options"
349 source kernel/power/Kconfig
350 endmenu
351
352 endmenu
353
354
355 menu "Executable formats"
356
357 source "fs/Kconfig.binfmt"
358
359 endmenu
360
361 source "net/Kconfig"
362
363 source "drivers/Kconfig"
364
365 source "fs/Kconfig"
366
367 source "arch/mn10300/Kconfig.debug"
368
369 source "security/Kconfig"
370
371 source "crypto/Kconfig"
372
373 source "lib/Kconfig"