blob: 45d9c87d083ad89343b7c7862c5b62a911f86c2f [file] [log] [blame]
Bastian Blank761b6022009-01-04 23:03:10 -08001config 64BIT
2 bool "64-bit kernel" if ARCH = "sparc"
3 default ARCH = "sparc64"
4 help
5 SPARC is a family of RISC microprocessors designed and marketed by
6 Sun Microsystems, incorporated. They are very widely found in Sun
7 workstations and clones.
8
9 Say yes to build a 64-bit kernel - formerly known as sparc64
10 Say no to build a 32-bit kernel - formerly known as sparc
11
Sam Ravnborg35da3e32008-11-15 13:40:12 -080012config SPARC
13 bool
14 default y
Stephen Rothwell7b14c642010-06-29 12:44:50 +100015 select OF
Andres Salomon3cfc5352010-10-10 21:42:33 -060016 select OF_PROMTREE
Sam Ravnborg35da3e32008-11-15 13:40:12 -080017 select HAVE_IDE
18 select HAVE_OPROFILE
Sam Ravnborg26b4c912008-11-16 20:01:17 -080019 select HAVE_ARCH_KGDB if !SMP || SPARC64
Sam Ravnborg35da3e32008-11-15 13:40:12 -080020 select HAVE_ARCH_TRACEHOOK
21 select ARCH_WANT_OPTIONAL_GPIOLIB
22 select RTC_CLASS
23 select RTC_DRV_M48T59
Peter Zijlstrae360adb2010-10-14 14:01:34 +080024 select HAVE_IRQ_WORK
FUJITA Tomonori02f7a182009-08-10 11:53:13 +090025 select HAVE_DMA_ATTRS
FUJITA Tomonori451d7402009-08-10 11:53:17 +090026 select HAVE_DMA_API_DEBUG
Steven Rostedt46eb3b62010-09-22 23:10:23 -040027 select HAVE_ARCH_JUMP_LABEL
Sam Ravnborg35da3e32008-11-15 13:40:12 -080028
Sam Ravnborg35da3e32008-11-15 13:40:12 -080029config SPARC32
Bastian Blank761b6022009-01-04 23:03:10 -080030 def_bool !64BIT
Sam Ravnborg35da3e32008-11-15 13:40:12 -080031
Sam Ravnborg26b4c912008-11-16 20:01:17 -080032config SPARC64
Bastian Blank761b6022009-01-04 23:03:10 -080033 def_bool 64BIT
Sam Ravnborg5bc05302008-12-27 00:56:29 -080034 select ARCH_SUPPORTS_MSI
Sam Ravnborg26b4c912008-11-16 20:01:17 -080035 select HAVE_FUNCTION_TRACER
David S. Miller9960e9e2010-04-07 04:41:33 -070036 select HAVE_FUNCTION_GRAPH_TRACER
37 select HAVE_FUNCTION_GRAPH_FP_TEST
David S. Miller63b75492010-04-12 22:35:24 -070038 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborg26b4c912008-11-16 20:01:17 -080039 select HAVE_KRETPROBES
40 select HAVE_KPROBES
Yinghai Lu95f72d12010-07-12 14:36:09 +100041 select HAVE_MEMBLOCK
Christian Borntraeger67605d62009-01-19 20:21:49 -080042 select HAVE_SYSCALL_WRAPPERS
David S. Miller9be12f92009-06-13 01:03:24 -070043 select HAVE_DYNAMIC_FTRACE
44 select HAVE_FTRACE_MCOUNT_RECORD
David S. Millerc658ad12009-12-11 00:44:47 -080045 select HAVE_SYSCALL_TRACEPOINTS
Sam Ravnborg26b4c912008-11-16 20:01:17 -080046 select USE_GENERIC_SMP_HELPERS if SMP
47 select RTC_DRV_CMOS
48 select RTC_DRV_BQ4802
49 select RTC_DRV_SUN4V
50 select RTC_DRV_STARFIRE
Ingo Molnarcdd6c482009-09-21 12:02:48 +020051 select HAVE_PERF_EVENTS
Peter Zijlstra906010b2009-09-21 16:08:49 +020052 select PERF_USE_VMALLOC
Sam Ravnborg26b4c912008-11-16 20:01:17 -080053
Sam Ravnborg5e538792008-12-02 23:17:12 -080054config ARCH_DEFCONFIG
55 string
56 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
57 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
58
Sam Ravnborgfe6875e2008-12-26 15:35:16 -080059# CONFIG_BITS can be used at source level to get 32/64 bits
60config BITS
61 int
62 default 32 if SPARC32
63 default 64 if SPARC64
Sam Ravnborg5e538792008-12-02 23:17:12 -080064
John Stultz0299b132010-01-15 01:34:28 -080065config ARCH_USES_GETTIMEOFFSET
Sam Ravnborg26b4c912008-11-16 20:01:17 -080066 bool
John Stultz0299b132010-01-15 01:34:28 -080067 default y if SPARC32
Sam Ravnborg26b4c912008-11-16 20:01:17 -080068
69config GENERIC_CMOS_UPDATE
70 bool
John Stultzf5c9c9b2010-03-03 19:57:27 -080071 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -080072
73config GENERIC_CLOCKEVENTS
74 bool
75 default y if SPARC64
76
77config IOMMU_HELPER
78 bool
79 default y if SPARC64
80
81config QUICKLIST
82 bool
83 default y if SPARC64
84
85config STACKTRACE_SUPPORT
86 bool
87 default y if SPARC64
88
89config LOCKDEP_SUPPORT
90 bool
91 default y if SPARC64
92
David S. Miller6a5726d2008-11-28 01:19:41 -080093config HAVE_LATENCYTOP_SUPPORT
94 bool
95 default y if SPARC64
96
Sam Ravnborg26b4c912008-11-16 20:01:17 -080097config AUDIT_ARCH
98 bool
David S. Miller7e7e93a2008-12-05 22:18:40 -080099 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800100
101config HAVE_SETUP_PER_CPU_AREA
102 def_bool y if SPARC64
103
Tejun Heobcb21072009-08-14 15:00:53 +0900104config NEED_PER_CPU_EMBED_FIRST_CHUNK
David S. Miller4fd78a52009-04-08 20:32:02 -0700105 def_bool y if SPARC64
106
Tejun Heoa70c6912009-09-24 18:18:55 +0900107config NEED_PER_CPU_PAGE_FIRST_CHUNK
108 def_bool y if SPARC64
109
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800110config GENERIC_HARDIRQS_NO__DO_IRQ
111 bool
112 def_bool y if SPARC64
113
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114config MMU
115 bool
116 default y
117
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118config HIGHMEM
119 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800120 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800122config ZONE_DMA
123 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800124 default y if SPARC32
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800125
FUJITA Tomonorid15b51b2010-03-10 15:23:28 -0800126config NEED_DMA_MAP_STATE
127 def_bool y
128
FUJITA Tomonori18e98302010-05-26 14:44:32 -0700129config NEED_SG_DMA_LENGTH
130 def_bool y
131
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132config GENERIC_ISA_DMA
133 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800134 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135
David S. Miller15df0f32008-08-20 23:03:24 -0700136config GENERIC_GPIO
137 bool
138 help
139 Generic GPIO API support
140
Stephen Rothwell0785b9d2007-07-18 00:09:30 -0700141config ARCH_NO_VIRT_TO_BUS
142 def_bool y
143
Akinobu Mita6a11f752009-03-31 15:23:17 -0700144config ARCH_SUPPORTS_DEBUG_PAGEALLOC
145 def_bool y if SPARC64
146
Linus Torvalds1da177e2005-04-16 15:20:36 -0700147source "init/Kconfig"
148
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700149source "kernel/Kconfig.freezer"
150
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800151menu "Processor type and features"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700152
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153config SMP
154 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155 ---help---
156 This enables support for systems with more than one CPU. If you have
157 a system with only one CPU, say N. If you have a system with more
158 than one CPU, say Y.
159
160 If you say N here, the kernel will run on single and multiprocessor
161 machines, but will use only one CPU of a multiprocessor machine. If
162 you say Y here, the kernel will run on many, but not all,
163 singleprocessor machines. On a singleprocessor machine, the kernel
164 will run faster if you say N here.
165
166 People using multiprocessor machines who say Y here should also say
167 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
168 Management" code will be disabled if you say Y here.
169
Adrian Bunk03502fa2008-02-03 15:50:21 +0200170 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
171 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172
173 If you don't know what to do here, say N.
174
175config NR_CPUS
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800176 int "Maximum number of CPUs"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177 depends on SMP
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800178 range 2 32 if SPARC32
179 range 2 1024 if SPARC64
180 default 32 if SPARC32
181 default 64 if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800183source kernel/Kconfig.hz
184
185config RWSEM_GENERIC_SPINLOCK
186 bool
187 default y if SPARC32
188
189config RWSEM_XCHGADD_ALGORITHM
190 bool
191 default y if SPARC64
192
193config GENERIC_FIND_NEXT_BIT
194 bool
195 default y
196
197config GENERIC_HWEIGHT
198 bool
199 default y if !ULTRA_HAS_POPULATION_COUNT
200
201config GENERIC_CALIBRATE_DELAY
202 bool
203 default y
204
205config ARCH_MAY_HAVE_PC_FDC
206 bool
207 default y
208
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800209config EMULATED_CMPXCHG
210 bool
211 default y if SPARC32
212 help
213 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
214 is emulated, and therefore it is not completely atomic.
215
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800216# Makefile helpers
217config SPARC32_SMP
218 bool
219 default y
220 depends on SPARC32 && SMP
221
222config SPARC64_SMP
223 bool
224 default y
225 depends on SPARC64 && SMP
226
David S. Millerc57ec522009-11-27 17:33:43 -0800227config EARLYFB
228 bool "Support for early boot text console"
229 default y
230 depends on SPARC64
231 help
232 Say Y here to enable a faster early framebuffer boot console.
233
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800234choice
235 prompt "Kernel page size" if SPARC64
236 default SPARC64_PAGE_SIZE_8KB
237
238config SPARC64_PAGE_SIZE_8KB
239 bool "8KB"
240 help
241 This lets you select the page size of the kernel.
242
243 8KB and 64KB work quite well, since SPARC ELF sections
244 provide for up to 64KB alignment.
245
246 If you don't know what to do, choose 8KB.
247
248config SPARC64_PAGE_SIZE_64KB
249 bool "64KB"
250
251endchoice
252
253config SECCOMP
254 bool "Enable seccomp to safely compute untrusted bytecode"
255 depends on SPARC64 && PROC_FS
256 default y
257 help
258 This kernel feature is useful for number crunching applications
259 that may need to compute untrusted bytecode during their
260 execution. By using pipes or other transports made available to
261 the process as file descriptors supporting the read/write
262 syscalls, it's possible to isolate those applications in
263 their own address space using seccomp. Once seccomp is
264 enabled via /proc/<pid>/seccomp, it cannot be disabled
265 and the task is only allowed to execute a few safe syscalls
266 defined by each seccomp mode.
267
268 If unsure, say Y. Only embedded should say N here.
269
270config HOTPLUG_CPU
271 bool "Support for hot-pluggable CPUs"
272 depends on SPARC64 && SMP
273 select HOTPLUG
274 help
275 Say Y here to experiment with turning CPUs off and on. CPUs
276 can be controlled through /sys/devices/system/cpu/cpu#.
277 Say N if you want to disable CPU hotplug.
278
279config GENERIC_HARDIRQS
280 bool
281 default y if SPARC64
282
283source "kernel/time/Kconfig"
284
285if SPARC64
286source "drivers/cpufreq/Kconfig"
287
288config US3_FREQ
289 tristate "UltraSPARC-III CPU Frequency driver"
290 depends on CPU_FREQ
291 select CPU_FREQ_TABLE
292 help
293 This adds the CPUFreq driver for UltraSPARC-III processors.
294
295 For details, take a look at <file:Documentation/cpu-freq>.
296
297 If in doubt, say N.
298
299config US2E_FREQ
300 tristate "UltraSPARC-IIe CPU Frequency driver"
301 depends on CPU_FREQ
302 select CPU_FREQ_TABLE
303 help
304 This adds the CPUFreq driver for UltraSPARC-IIe processors.
305
306 For details, take a look at <file:Documentation/cpu-freq>.
307
308 If in doubt, say N.
309
310endif
311
312config US3_MC
313 tristate "UltraSPARC-III Memory Controller driver"
314 depends on SPARC64
315 default y
316 help
317 This adds a driver for the UltraSPARC-III memory controller.
318 Loading this driver allows exact mnemonic strings to be
319 printed in the event of a memory error, so that the faulty DIMM
320 on the motherboard can be matched to the error.
321
322 If in doubt, say Y, as this information can be very useful.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700323
324# Global things across all Sun machines.
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800325config GENERIC_LOCKBREAK
326 bool
327 default y
328 depends on SPARC64 && SMP && PREEMPT
329
330choice
331 prompt "SPARC64 Huge TLB Page Size"
332 depends on SPARC64 && HUGETLB_PAGE
333 default HUGETLB_PAGE_SIZE_4MB
334
335config HUGETLB_PAGE_SIZE_4MB
336 bool "4MB"
337
338config HUGETLB_PAGE_SIZE_512K
339 bool "512K"
340
341config HUGETLB_PAGE_SIZE_64K
342 depends on !SPARC64_PAGE_SIZE_64KB
343 bool "64K"
344
345endchoice
346
347config NUMA
348 bool "NUMA support"
349 depends on SPARC64 && SMP
350
351config NODES_SHIFT
352 int
353 default "4"
354 depends on NEED_MULTIPLE_NODES
355
356# Some NUMA nodes have memory ranges that span
357# other nodes. Even though a pfn is valid and
358# between a node's start and end pfns, it may not
359# reside on that node. See memmap_init_zone()
360# for details.
361config NODES_SPAN_OTHER_NODES
362 def_bool y
363 depends on NEED_MULTIPLE_NODES
364
365config ARCH_POPULATES_NODE_MAP
366 def_bool y if SPARC64
367
368config ARCH_SELECT_MEMORY_MODEL
369 def_bool y if SPARC64
370
371config ARCH_SPARSEMEM_ENABLE
372 def_bool y if SPARC64
373 select SPARSEMEM_VMEMMAP_ENABLE
374
375config ARCH_SPARSEMEM_DEFAULT
376 def_bool y if SPARC64
377
378source "mm/Kconfig"
379
380config SCHED_SMT
381 bool "SMT (Hyperthreading) scheduler support"
382 depends on SPARC64 && SMP
383 default y
384 help
385 SMT scheduler support improves the CPU scheduler's decision making
386 when dealing with SPARC cpus at a cost of slightly increased overhead
387 in some places. If unsure say N here.
388
389config SCHED_MC
390 bool "Multi-core scheduler support"
391 depends on SPARC64 && SMP
392 default y
393 help
394 Multi-core scheduler support improves the CPU scheduler's decision
395 making when dealing with multi-core CPU chips at a cost of slightly
396 increased overhead in some places. If unsure say N here.
397
398if SPARC64
399source "kernel/Kconfig.preempt"
400endif
401
402config CMDLINE_BOOL
403 bool "Default bootloader kernel arguments"
404 depends on SPARC64
405
406config CMDLINE
407 string "Initial kernel command string"
408 depends on CMDLINE_BOOL
409 default "console=ttyS0,9600 root=/dev/sda1"
410 help
411 Say Y here if you want to be able to pass default arguments to
412 the kernel. This will be overridden by the bootloader, if you
413 use one (such as SILO). This is most useful if you want to boot
414 a kernel from TFTP, and want default options to be available
415 with having them passed on the command line.
416
417 NOTE: This option WILL override the PROM bootargs setting!
418
419config SUN_PM
420 bool
421 default y if SPARC32
422 help
423 Enable power management and CPU standby features on supported
424 SPARC platforms.
425
426config SPARC_LED
427 tristate "Sun4m LED driver"
428 depends on SPARC32
429 help
430 This driver toggles the front-panel LED on sun4m systems
431 in a user-specifiable manner. Its state can be probed
432 by reading /proc/led and its blinking mode can be changed
433 via writes to /proc/led
434
Linus Torvalds1da177e2005-04-16 15:20:36 -0700435config SERIAL_CONSOLE
436 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800437 depends on SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700438 default y
439 ---help---
440 If you say Y here, it will be possible to use a serial port as the
441 system console (the system console is the device which receives all
442 kernel messages and warnings and which allows logins in single user
443 mode). This could be useful if some terminal or printer is connected
444 to that serial port.
445
446 Even if you say Y here, the currently visible virtual console
447 (/dev/tty0) will still be used as the system console by default, but
448 you can alter that using a kernel command line option such as
449 "console=ttyS1". (Try "man bootparam" or see the documentation of
450 your boot loader (silo) about how to pass options to the kernel at
451 boot time.)
452
453 If you don't have a graphics card installed and you say Y here, the
454 kernel will automatically use the first serial line, /dev/ttyS0, as
455 system console.
456
457 If unsure, say N.
458
Konrad Eisele5213a782009-08-17 00:13:29 +0000459config SPARC_LEON
460 bool "Sparc Leon processor family"
461 depends on SPARC32
462 ---help---
463 If you say Y here if you are running on a SPARC-LEON processor.
464 The LEON processor is a synthesizable VHDL model of the
465 SPARC-v8 standard. LEON is part of the GRLIB collection of
466 IP cores that are distributed under GPL. GRLIB can be downloaded
467 from www.gaisler.com. You can download a sparc-linux cross-compilation
468 toolchain at www.gaisler.com.
469
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800470endmenu
471
472menu "Bus options (PCI etc.)"
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800473config SBUS
474 bool
475 default y
476
477config SBUSCHAR
478 bool
479 default y
480
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800481config SUN_LDOMS
482 bool "Sun Logical Domains support"
483 depends on SPARC64
484 help
485 Say Y here is you want to support virtual devices via
486 Logical Domains.
487
Linus Torvalds1da177e2005-04-16 15:20:36 -0700488config PCI
489 bool "Support for PCI and PS/2 keyboard/mouse"
490 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800491 Find out whether your system includes a PCI bus. PCI is the name of
492 a bus system, i.e. the way the CPU talks to the other stuff inside
493 your box. If you say Y here, the kernel will include drivers and
494 infrastructure code to support PCI bus devices.
495
Linus Torvalds1da177e2005-04-16 15:20:36 -0700496 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
497 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
498 All of these platforms are extremely obscure, so say N if unsure.
499
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800500config PCI_DOMAINS
501 def_bool PCI if SPARC64
502
Matthew Wilcox36e23592007-07-10 10:54:40 -0600503config PCI_SYSCALL
504 def_bool PCI
505
Linus Torvalds1da177e2005-04-16 15:20:36 -0700506source "drivers/pci/Kconfig"
507
David S. Millerc6afec52008-11-23 21:50:16 -0800508source "drivers/pcmcia/Kconfig"
509
Linus Torvalds1da177e2005-04-16 15:20:36 -0700510config SUN_OPENPROMFS
511 tristate "Openprom tree appears in /proc/openprom"
512 help
513 If you say Y, the OpenPROM device tree will be available as a
514 virtual file system, which you can mount to /proc/openprom by "mount
515 -t openpromfs none /proc/openprom".
516
517 To compile the /proc/openprom support as a module, choose M here: the
518 module will be called openpromfs.
519
520 Only choose N if you know in advance that you will not need to modify
521 OpenPROM settings on the running system.
522
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800523# Makefile helpers
524config SPARC32_PCI
525 bool
526 default y
527 depends on SPARC32 && PCI
528
529config SPARC64_PCI
530 bool
531 default y
532 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700533
534endmenu
535
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800536menu "Executable file formats"
537
538source "fs/Kconfig.binfmt"
539
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800540config COMPAT
541 bool
542 depends on SPARC64
543 default y
544 select COMPAT_BINFMT_ELF
545
546config SYSVIPC_COMPAT
547 bool
548 depends on COMPAT && SYSVIPC
549 default y
550
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800551endmenu
552
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700553source "net/Kconfig"
554
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700555source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700556
Linus Torvalds1da177e2005-04-16 15:20:36 -0700557source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700558
Linus Torvalds1da177e2005-04-16 15:20:36 -0700559source "fs/Kconfig"
560
Linus Torvalds1da177e2005-04-16 15:20:36 -0700561source "arch/sparc/Kconfig.debug"
562
563source "security/Kconfig"
564
565source "crypto/Kconfig"
566
567source "lib/Kconfig"