blob: a9aaed3c3d97b92be15c9fb024bba293a8970428 [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
Ingo Molnarcdd6c482009-09-21 12:02:48 +020025 select HAVE_PERF_EVENTS
Peter Zijlstra906010b2009-09-21 16:08:49 +020026 select PERF_USE_VMALLOC
FUJITA Tomonori02f7a182009-08-10 11:53:13 +090027 select HAVE_DMA_ATTRS
FUJITA Tomonori451d7402009-08-10 11:53:17 +090028 select HAVE_DMA_API_DEBUG
Steven Rostedt46eb3b62010-09-22 23:10:23 -040029 select HAVE_ARCH_JUMP_LABEL
Sam Ravnborg35da3e32008-11-15 13:40:12 -080030
Sam Ravnborg35da3e32008-11-15 13:40:12 -080031config SPARC32
Bastian Blank761b6022009-01-04 23:03:10 -080032 def_bool !64BIT
Sam Ravnborg35da3e32008-11-15 13:40:12 -080033
Sam Ravnborg26b4c912008-11-16 20:01:17 -080034config SPARC64
Bastian Blank761b6022009-01-04 23:03:10 -080035 def_bool 64BIT
Sam Ravnborg5bc05302008-12-27 00:56:29 -080036 select ARCH_SUPPORTS_MSI
Sam Ravnborg26b4c912008-11-16 20:01:17 -080037 select HAVE_FUNCTION_TRACER
David S. Miller9960e9e2010-04-07 04:41:33 -070038 select HAVE_FUNCTION_GRAPH_TRACER
39 select HAVE_FUNCTION_GRAPH_FP_TEST
David S. Miller63b75492010-04-12 22:35:24 -070040 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborg26b4c912008-11-16 20:01:17 -080041 select HAVE_KRETPROBES
42 select HAVE_KPROBES
Yinghai Lu95f72d12010-07-12 14:36:09 +100043 select HAVE_MEMBLOCK
Christian Borntraeger67605d62009-01-19 20:21:49 -080044 select HAVE_SYSCALL_WRAPPERS
David S. Miller9be12f92009-06-13 01:03:24 -070045 select HAVE_DYNAMIC_FTRACE
46 select HAVE_FTRACE_MCOUNT_RECORD
David S. Millerc658ad12009-12-11 00:44:47 -080047 select HAVE_SYSCALL_TRACEPOINTS
Sam Ravnborg26b4c912008-11-16 20:01:17 -080048 select USE_GENERIC_SMP_HELPERS if SMP
49 select RTC_DRV_CMOS
50 select RTC_DRV_BQ4802
51 select RTC_DRV_SUN4V
52 select RTC_DRV_STARFIRE
Peter Zijlstrae360adb2010-10-14 14:01:34 +080053 select HAVE_IRQ_WORK
Ingo Molnarcdd6c482009-09-21 12:02:48 +020054 select HAVE_PERF_EVENTS
Peter Zijlstra906010b2009-09-21 16:08:49 +020055 select PERF_USE_VMALLOC
Sam Ravnborg26b4c912008-11-16 20:01:17 -080056
Sam Ravnborg5e538792008-12-02 23:17:12 -080057config ARCH_DEFCONFIG
58 string
59 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
60 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
61
Sam Ravnborgfe6875e2008-12-26 15:35:16 -080062# CONFIG_BITS can be used at source level to get 32/64 bits
63config BITS
64 int
65 default 32 if SPARC32
66 default 64 if SPARC64
Sam Ravnborg5e538792008-12-02 23:17:12 -080067
John Stultz0299b132010-01-15 01:34:28 -080068config ARCH_USES_GETTIMEOFFSET
Sam Ravnborg26b4c912008-11-16 20:01:17 -080069 bool
John Stultz0299b132010-01-15 01:34:28 -080070 default y if SPARC32
Sam Ravnborg26b4c912008-11-16 20:01:17 -080071
72config GENERIC_CMOS_UPDATE
73 bool
John Stultzf5c9c9b2010-03-03 19:57:27 -080074 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -080075
76config GENERIC_CLOCKEVENTS
77 bool
78 default y if SPARC64
79
80config IOMMU_HELPER
81 bool
82 default y if SPARC64
83
84config QUICKLIST
85 bool
86 default y if SPARC64
87
88config STACKTRACE_SUPPORT
89 bool
90 default y if SPARC64
91
92config LOCKDEP_SUPPORT
93 bool
94 default y if SPARC64
95
David S. Miller6a5726d2008-11-28 01:19:41 -080096config HAVE_LATENCYTOP_SUPPORT
97 bool
98 default y if SPARC64
99
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800100config AUDIT_ARCH
101 bool
David S. Miller7e7e93a2008-12-05 22:18:40 -0800102 default y
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800103
104config HAVE_SETUP_PER_CPU_AREA
105 def_bool y if SPARC64
106
Tejun Heobcb21072009-08-14 15:00:53 +0900107config NEED_PER_CPU_EMBED_FIRST_CHUNK
David S. Miller4fd78a52009-04-08 20:32:02 -0700108 def_bool y if SPARC64
109
Tejun Heoa70c6912009-09-24 18:18:55 +0900110config NEED_PER_CPU_PAGE_FIRST_CHUNK
111 def_bool y if SPARC64
112
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800113config GENERIC_HARDIRQS_NO__DO_IRQ
114 bool
115 def_bool y if SPARC64
116
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117config MMU
118 bool
119 default y
120
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121config HIGHMEM
122 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800123 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800125config ZONE_DMA
126 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800127 default y if SPARC32
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800128
FUJITA Tomonorid15b51b2010-03-10 15:23:28 -0800129config NEED_DMA_MAP_STATE
130 def_bool y
131
FUJITA Tomonori18e98302010-05-26 14:44:32 -0700132config NEED_SG_DMA_LENGTH
133 def_bool y
134
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135config GENERIC_ISA_DMA
136 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800137 default y if SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138
David S. Miller15df0f32008-08-20 23:03:24 -0700139config GENERIC_GPIO
140 bool
141 help
142 Generic GPIO API support
143
Stephen Rothwell0785b9d2007-07-18 00:09:30 -0700144config ARCH_NO_VIRT_TO_BUS
145 def_bool y
146
Akinobu Mita6a11f752009-03-31 15:23:17 -0700147config ARCH_SUPPORTS_DEBUG_PAGEALLOC
148 def_bool y if SPARC64
149
Linus Torvalds1da177e2005-04-16 15:20:36 -0700150source "init/Kconfig"
151
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700152source "kernel/Kconfig.freezer"
153
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800154menu "Processor type and features"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155
Linus Torvalds1da177e2005-04-16 15:20:36 -0700156config SMP
157 bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158 ---help---
159 This enables support for systems with more than one CPU. If you have
160 a system with only one CPU, say N. If you have a system with more
161 than one CPU, say Y.
162
163 If you say N here, the kernel will run on single and multiprocessor
164 machines, but will use only one CPU of a multiprocessor machine. If
165 you say Y here, the kernel will run on many, but not all,
166 singleprocessor machines. On a singleprocessor machine, the kernel
167 will run faster if you say N here.
168
169 People using multiprocessor machines who say Y here should also say
170 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
171 Management" code will be disabled if you say Y here.
172
Adrian Bunk03502fa2008-02-03 15:50:21 +0200173 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
174 available at <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175
176 If you don't know what to do here, say N.
177
178config NR_CPUS
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800179 int "Maximum number of CPUs"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700180 depends on SMP
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800181 range 2 32 if SPARC32
182 range 2 1024 if SPARC64
183 default 32 if SPARC32
184 default 64 if SPARC64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800186source kernel/Kconfig.hz
187
188config RWSEM_GENERIC_SPINLOCK
189 bool
190 default y if SPARC32
191
192config RWSEM_XCHGADD_ALGORITHM
193 bool
194 default y if SPARC64
195
196config GENERIC_FIND_NEXT_BIT
197 bool
198 default y
199
200config GENERIC_HWEIGHT
201 bool
202 default y if !ULTRA_HAS_POPULATION_COUNT
203
204config GENERIC_CALIBRATE_DELAY
205 bool
206 default y
207
208config ARCH_MAY_HAVE_PC_FDC
209 bool
210 default y
211
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800212config EMULATED_CMPXCHG
213 bool
214 default y if SPARC32
215 help
216 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
217 is emulated, and therefore it is not completely atomic.
218
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800219# Makefile helpers
220config SPARC32_SMP
221 bool
222 default y
223 depends on SPARC32 && SMP
224
225config SPARC64_SMP
226 bool
227 default y
228 depends on SPARC64 && SMP
229
David S. Millerc57ec522009-11-27 17:33:43 -0800230config EARLYFB
231 bool "Support for early boot text console"
232 default y
233 depends on SPARC64
234 help
235 Say Y here to enable a faster early framebuffer boot console.
236
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800237choice
238 prompt "Kernel page size" if SPARC64
239 default SPARC64_PAGE_SIZE_8KB
240
241config SPARC64_PAGE_SIZE_8KB
242 bool "8KB"
243 help
244 This lets you select the page size of the kernel.
245
246 8KB and 64KB work quite well, since SPARC ELF sections
247 provide for up to 64KB alignment.
248
249 If you don't know what to do, choose 8KB.
250
251config SPARC64_PAGE_SIZE_64KB
252 bool "64KB"
253
254endchoice
255
256config SECCOMP
257 bool "Enable seccomp to safely compute untrusted bytecode"
258 depends on SPARC64 && PROC_FS
259 default y
260 help
261 This kernel feature is useful for number crunching applications
262 that may need to compute untrusted bytecode during their
263 execution. By using pipes or other transports made available to
264 the process as file descriptors supporting the read/write
265 syscalls, it's possible to isolate those applications in
266 their own address space using seccomp. Once seccomp is
267 enabled via /proc/<pid>/seccomp, it cannot be disabled
268 and the task is only allowed to execute a few safe syscalls
269 defined by each seccomp mode.
270
271 If unsure, say Y. Only embedded should say N here.
272
273config HOTPLUG_CPU
274 bool "Support for hot-pluggable CPUs"
275 depends on SPARC64 && SMP
276 select HOTPLUG
277 help
278 Say Y here to experiment with turning CPUs off and on. CPUs
279 can be controlled through /sys/devices/system/cpu/cpu#.
280 Say N if you want to disable CPU hotplug.
281
282config GENERIC_HARDIRQS
283 bool
284 default y if SPARC64
285
286source "kernel/time/Kconfig"
287
288if SPARC64
289source "drivers/cpufreq/Kconfig"
290
291config US3_FREQ
292 tristate "UltraSPARC-III CPU Frequency driver"
293 depends on CPU_FREQ
294 select CPU_FREQ_TABLE
295 help
296 This adds the CPUFreq driver for UltraSPARC-III processors.
297
298 For details, take a look at <file:Documentation/cpu-freq>.
299
300 If in doubt, say N.
301
302config US2E_FREQ
303 tristate "UltraSPARC-IIe CPU Frequency driver"
304 depends on CPU_FREQ
305 select CPU_FREQ_TABLE
306 help
307 This adds the CPUFreq driver for UltraSPARC-IIe processors.
308
309 For details, take a look at <file:Documentation/cpu-freq>.
310
311 If in doubt, say N.
312
313endif
314
315config US3_MC
316 tristate "UltraSPARC-III Memory Controller driver"
317 depends on SPARC64
318 default y
319 help
320 This adds a driver for the UltraSPARC-III memory controller.
321 Loading this driver allows exact mnemonic strings to be
322 printed in the event of a memory error, so that the faulty DIMM
323 on the motherboard can be matched to the error.
324
325 If in doubt, say Y, as this information can be very useful.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700326
327# Global things across all Sun machines.
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800328config GENERIC_LOCKBREAK
329 bool
330 default y
331 depends on SPARC64 && SMP && PREEMPT
332
333choice
334 prompt "SPARC64 Huge TLB Page Size"
335 depends on SPARC64 && HUGETLB_PAGE
336 default HUGETLB_PAGE_SIZE_4MB
337
338config HUGETLB_PAGE_SIZE_4MB
339 bool "4MB"
340
341config HUGETLB_PAGE_SIZE_512K
342 bool "512K"
343
344config HUGETLB_PAGE_SIZE_64K
345 depends on !SPARC64_PAGE_SIZE_64KB
346 bool "64K"
347
348endchoice
349
350config NUMA
351 bool "NUMA support"
352 depends on SPARC64 && SMP
353
354config NODES_SHIFT
355 int
356 default "4"
357 depends on NEED_MULTIPLE_NODES
358
359# Some NUMA nodes have memory ranges that span
360# other nodes. Even though a pfn is valid and
361# between a node's start and end pfns, it may not
362# reside on that node. See memmap_init_zone()
363# for details.
364config NODES_SPAN_OTHER_NODES
365 def_bool y
366 depends on NEED_MULTIPLE_NODES
367
368config ARCH_POPULATES_NODE_MAP
369 def_bool y if SPARC64
370
371config ARCH_SELECT_MEMORY_MODEL
372 def_bool y if SPARC64
373
374config ARCH_SPARSEMEM_ENABLE
375 def_bool y if SPARC64
376 select SPARSEMEM_VMEMMAP_ENABLE
377
378config ARCH_SPARSEMEM_DEFAULT
379 def_bool y if SPARC64
380
381source "mm/Kconfig"
382
383config SCHED_SMT
384 bool "SMT (Hyperthreading) scheduler support"
385 depends on SPARC64 && SMP
386 default y
387 help
388 SMT scheduler support improves the CPU scheduler's decision making
389 when dealing with SPARC cpus at a cost of slightly increased overhead
390 in some places. If unsure say N here.
391
392config SCHED_MC
393 bool "Multi-core scheduler support"
394 depends on SPARC64 && SMP
395 default y
396 help
397 Multi-core scheduler support improves the CPU scheduler's decision
398 making when dealing with multi-core CPU chips at a cost of slightly
399 increased overhead in some places. If unsure say N here.
400
401if SPARC64
402source "kernel/Kconfig.preempt"
403endif
404
405config CMDLINE_BOOL
406 bool "Default bootloader kernel arguments"
407 depends on SPARC64
408
409config CMDLINE
410 string "Initial kernel command string"
411 depends on CMDLINE_BOOL
412 default "console=ttyS0,9600 root=/dev/sda1"
413 help
414 Say Y here if you want to be able to pass default arguments to
415 the kernel. This will be overridden by the bootloader, if you
416 use one (such as SILO). This is most useful if you want to boot
417 a kernel from TFTP, and want default options to be available
418 with having them passed on the command line.
419
420 NOTE: This option WILL override the PROM bootargs setting!
421
422config SUN_PM
423 bool
424 default y if SPARC32
425 help
426 Enable power management and CPU standby features on supported
427 SPARC platforms.
428
429config SPARC_LED
430 tristate "Sun4m LED driver"
431 depends on SPARC32
432 help
433 This driver toggles the front-panel LED on sun4m systems
434 in a user-specifiable manner. Its state can be probed
435 by reading /proc/led and its blinking mode can be changed
436 via writes to /proc/led
437
Linus Torvalds1da177e2005-04-16 15:20:36 -0700438config SERIAL_CONSOLE
439 bool
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800440 depends on SPARC32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700441 default y
442 ---help---
443 If you say Y here, it will be possible to use a serial port as the
444 system console (the system console is the device which receives all
445 kernel messages and warnings and which allows logins in single user
446 mode). This could be useful if some terminal or printer is connected
447 to that serial port.
448
449 Even if you say Y here, the currently visible virtual console
450 (/dev/tty0) will still be used as the system console by default, but
451 you can alter that using a kernel command line option such as
452 "console=ttyS1". (Try "man bootparam" or see the documentation of
453 your boot loader (silo) about how to pass options to the kernel at
454 boot time.)
455
456 If you don't have a graphics card installed and you say Y here, the
457 kernel will automatically use the first serial line, /dev/ttyS0, as
458 system console.
459
460 If unsure, say N.
461
Konrad Eisele5213a782009-08-17 00:13:29 +0000462config SPARC_LEON
463 bool "Sparc Leon processor family"
464 depends on SPARC32
465 ---help---
466 If you say Y here if you are running on a SPARC-LEON processor.
467 The LEON processor is a synthesizable VHDL model of the
468 SPARC-v8 standard. LEON is part of the GRLIB collection of
469 IP cores that are distributed under GPL. GRLIB can be downloaded
470 from www.gaisler.com. You can download a sparc-linux cross-compilation
471 toolchain at www.gaisler.com.
472
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800473endmenu
474
475menu "Bus options (PCI etc.)"
Sam Ravnborg4b27e0e2008-11-15 13:44:31 -0800476config SBUS
477 bool
478 default y
479
480config SBUSCHAR
481 bool
482 default y
483
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800484config SUN_LDOMS
485 bool "Sun Logical Domains support"
486 depends on SPARC64
487 help
488 Say Y here is you want to support virtual devices via
489 Logical Domains.
490
Linus Torvalds1da177e2005-04-16 15:20:36 -0700491config PCI
492 bool "Support for PCI and PS/2 keyboard/mouse"
493 help
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800494 Find out whether your system includes a PCI bus. PCI is the name of
495 a bus system, i.e. the way the CPU talks to the other stuff inside
496 your box. If you say Y here, the kernel will include drivers and
497 infrastructure code to support PCI bus devices.
498
Linus Torvalds1da177e2005-04-16 15:20:36 -0700499 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
500 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
501 All of these platforms are extremely obscure, so say N if unsure.
502
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800503config PCI_DOMAINS
504 def_bool PCI if SPARC64
505
Matthew Wilcox36e23592007-07-10 10:54:40 -0600506config PCI_SYSCALL
507 def_bool PCI
508
Linus Torvalds1da177e2005-04-16 15:20:36 -0700509source "drivers/pci/Kconfig"
510
David S. Millerc6afec52008-11-23 21:50:16 -0800511source "drivers/pcmcia/Kconfig"
512
Linus Torvalds1da177e2005-04-16 15:20:36 -0700513config SUN_OPENPROMFS
514 tristate "Openprom tree appears in /proc/openprom"
515 help
516 If you say Y, the OpenPROM device tree will be available as a
517 virtual file system, which you can mount to /proc/openprom by "mount
518 -t openpromfs none /proc/openprom".
519
520 To compile the /proc/openprom support as a module, choose M here: the
521 module will be called openpromfs.
522
523 Only choose N if you know in advance that you will not need to modify
524 OpenPROM settings on the running system.
525
Sam Ravnborgd670bd42008-12-03 03:08:37 -0800526# Makefile helpers
527config SPARC32_PCI
528 bool
529 default y
530 depends on SPARC32 && PCI
531
532config SPARC64_PCI
533 bool
534 default y
535 depends on SPARC64 && PCI
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700536
537endmenu
538
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800539menu "Executable file formats"
540
541source "fs/Kconfig.binfmt"
542
Sam Ravnborg26b4c912008-11-16 20:01:17 -0800543config COMPAT
544 bool
545 depends on SPARC64
546 default y
547 select COMPAT_BINFMT_ELF
548
549config SYSVIPC_COMPAT
550 bool
551 depends on COMPAT && SYSVIPC
552 default y
553
Sam Ravnborg12e271a2008-11-15 13:43:49 -0800554endmenu
555
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700556source "net/Kconfig"
557
William Lee Irwin III30aaa802005-06-23 00:10:18 -0700558source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700559
Linus Torvalds1da177e2005-04-16 15:20:36 -0700560source "drivers/sbus/char/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700561
Linus Torvalds1da177e2005-04-16 15:20:36 -0700562source "fs/Kconfig"
563
Linus Torvalds1da177e2005-04-16 15:20:36 -0700564source "arch/sparc/Kconfig.debug"
565
566source "security/Kconfig"
567
568source "crypto/Kconfig"
569
570source "lib/Kconfig"