xref: /linux/arch/sparc/Kconfig (revision c57ec52f2647e53709c3ce8d86b28876c2f32de0)
1# For a description of the syntax of this configuration file,
2# see Documentation/kbuild/kconfig-language.txt.
3#
4
5mainmenu "Linux/SPARC Kernel Configuration"
6
7config 64BIT
8	bool "64-bit kernel" if ARCH = "sparc"
9	default ARCH = "sparc64"
10	help
11	  SPARC is a family of RISC microprocessors designed and marketed by
12	  Sun Microsystems, incorporated.  They are very widely found in Sun
13	  workstations and clones.
14
15	  Say yes to build a 64-bit kernel - formerly known as sparc64
16	  Say no to build a 32-bit kernel - formerly known as sparc
17
18config SPARC
19	bool
20	default y
21	select HAVE_IDE
22	select HAVE_OPROFILE
23	select HAVE_ARCH_KGDB if !SMP || SPARC64
24	select HAVE_ARCH_TRACEHOOK
25	select ARCH_WANT_OPTIONAL_GPIOLIB
26	select RTC_CLASS
27	select RTC_DRV_M48T59
28	select HAVE_PERF_EVENTS
29	select PERF_USE_VMALLOC
30	select HAVE_DMA_ATTRS
31	select HAVE_DMA_API_DEBUG
32
33config SPARC32
34	def_bool !64BIT
35
36config SPARC64
37	def_bool 64BIT
38	select ARCH_SUPPORTS_MSI
39	select HAVE_FUNCTION_TRACER
40	select HAVE_KRETPROBES
41	select HAVE_KPROBES
42	select HAVE_LMB
43	select HAVE_SYSCALL_WRAPPERS
44	select HAVE_DYNAMIC_FTRACE
45	select HAVE_FTRACE_MCOUNT_RECORD
46	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
51	select HAVE_PERF_EVENTS
52	select PERF_USE_VMALLOC
53
54config ARCH_DEFCONFIG
55	string
56	default "arch/sparc/configs/sparc32_defconfig" if SPARC32
57	default "arch/sparc/configs/sparc64_defconfig" if SPARC64
58
59# 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
64
65config GENERIC_TIME
66	bool
67	default y if SPARC64
68
69config GENERIC_CMOS_UPDATE
70	bool
71	default y if SPARC64
72
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
93config HAVE_LATENCYTOP_SUPPORT
94	bool
95	default y if SPARC64
96
97config AUDIT_ARCH
98	bool
99	default y
100
101config HAVE_SETUP_PER_CPU_AREA
102	def_bool y if SPARC64
103
104config NEED_PER_CPU_EMBED_FIRST_CHUNK
105	def_bool y if SPARC64
106
107config NEED_PER_CPU_PAGE_FIRST_CHUNK
108	def_bool y if SPARC64
109
110config GENERIC_HARDIRQS_NO__DO_IRQ
111	bool
112	def_bool y if SPARC64
113
114config MMU
115	bool
116	default y
117
118config HIGHMEM
119	bool
120	default y if SPARC32
121
122config ZONE_DMA
123	bool
124	default y if SPARC32
125
126config GENERIC_ISA_DMA
127	bool
128	default y if SPARC32
129
130config GENERIC_GPIO
131	bool
132	help
133	  Generic GPIO API support
134
135config ARCH_NO_VIRT_TO_BUS
136	def_bool y
137
138config OF
139	def_bool y
140
141config ARCH_SUPPORTS_DEBUG_PAGEALLOC
142	def_bool y if SPARC64
143
144source "init/Kconfig"
145
146source "kernel/Kconfig.freezer"
147
148menu "Processor type and features"
149
150config SMP
151	bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
152	---help---
153	  This enables support for systems with more than one CPU. If you have
154	  a system with only one CPU, say N. If you have a system with more
155	  than one CPU, say Y.
156
157	  If you say N here, the kernel will run on single and multiprocessor
158	  machines, but will use only one CPU of a multiprocessor machine. If
159	  you say Y here, the kernel will run on many, but not all,
160	  singleprocessor machines. On a singleprocessor machine, the kernel
161	  will run faster if you say N here.
162
163	  People using multiprocessor machines who say Y here should also say
164	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
165	  Management" code will be disabled if you say Y here.
166
167	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
168	  available at <http://www.tldp.org/docs.html#howto>.
169
170	  If you don't know what to do here, say N.
171
172config NR_CPUS
173	int "Maximum number of CPUs"
174	depends on SMP
175	range 2 32 if SPARC32
176	range 2 1024 if SPARC64
177	default 32 if SPARC32
178	default 64 if SPARC64
179
180source kernel/Kconfig.hz
181
182config RWSEM_GENERIC_SPINLOCK
183	bool
184	default y if SPARC32
185
186config RWSEM_XCHGADD_ALGORITHM
187	bool
188	default y if SPARC64
189
190config GENERIC_FIND_NEXT_BIT
191	bool
192	default y
193
194config GENERIC_HWEIGHT
195	bool
196	default y if !ULTRA_HAS_POPULATION_COUNT
197
198config GENERIC_CALIBRATE_DELAY
199	bool
200	default y
201
202config ARCH_MAY_HAVE_PC_FDC
203	bool
204	default y
205
206config EMULATED_CMPXCHG
207	bool
208	default y if SPARC32
209	help
210	  Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
211	  is emulated, and therefore it is not completely atomic.
212
213# Makefile helpers
214config SPARC32_SMP
215	bool
216	default y
217	depends on SPARC32 && SMP
218
219config SPARC64_SMP
220	bool
221	default y
222	depends on SPARC64 && SMP
223
224config EARLYFB
225	bool "Support for early boot text console"
226	default y
227	depends on SPARC64
228	help
229	  Say Y here to enable a faster early framebuffer boot console.
230
231choice
232	prompt "Kernel page size" if SPARC64
233	default SPARC64_PAGE_SIZE_8KB
234
235config SPARC64_PAGE_SIZE_8KB
236	bool "8KB"
237	help
238	  This lets you select the page size of the kernel.
239
240	  8KB and 64KB work quite well, since SPARC ELF sections
241	  provide for up to 64KB alignment.
242
243	  If you don't know what to do, choose 8KB.
244
245config SPARC64_PAGE_SIZE_64KB
246	bool "64KB"
247
248endchoice
249
250config SECCOMP
251	bool "Enable seccomp to safely compute untrusted bytecode"
252	depends on SPARC64 && PROC_FS
253	default y
254	help
255	  This kernel feature is useful for number crunching applications
256	  that may need to compute untrusted bytecode during their
257	  execution. By using pipes or other transports made available to
258	  the process as file descriptors supporting the read/write
259	  syscalls, it's possible to isolate those applications in
260	  their own address space using seccomp. Once seccomp is
261	  enabled via /proc/<pid>/seccomp, it cannot be disabled
262	  and the task is only allowed to execute a few safe syscalls
263	  defined by each seccomp mode.
264
265	  If unsure, say Y. Only embedded should say N here.
266
267config HOTPLUG_CPU
268	bool "Support for hot-pluggable CPUs"
269	depends on SPARC64 && SMP
270	select HOTPLUG
271	help
272	  Say Y here to experiment with turning CPUs off and on.  CPUs
273	  can be controlled through /sys/devices/system/cpu/cpu#.
274	  Say N if you want to disable CPU hotplug.
275
276config GENERIC_HARDIRQS
277	bool
278	default y if SPARC64
279
280source "kernel/time/Kconfig"
281
282if SPARC64
283source "drivers/cpufreq/Kconfig"
284
285config US3_FREQ
286	tristate "UltraSPARC-III CPU Frequency driver"
287	depends on CPU_FREQ
288	select CPU_FREQ_TABLE
289	help
290	  This adds the CPUFreq driver for UltraSPARC-III processors.
291
292	  For details, take a look at <file:Documentation/cpu-freq>.
293
294	  If in doubt, say N.
295
296config US2E_FREQ
297	tristate "UltraSPARC-IIe CPU Frequency driver"
298	depends on CPU_FREQ
299	select CPU_FREQ_TABLE
300	help
301	  This adds the CPUFreq driver for UltraSPARC-IIe processors.
302
303	  For details, take a look at <file:Documentation/cpu-freq>.
304
305	  If in doubt, say N.
306
307endif
308
309config US3_MC
310	tristate "UltraSPARC-III Memory Controller driver"
311	depends on SPARC64
312	default y
313	help
314	  This adds a driver for the UltraSPARC-III memory controller.
315	  Loading this driver allows exact mnemonic strings to be
316	  printed in the event of a memory error, so that the faulty DIMM
317	  on the motherboard can be matched to the error.
318
319	  If in doubt, say Y, as this information can be very useful.
320
321# Global things across all Sun machines.
322config GENERIC_LOCKBREAK
323	bool
324	default y
325	depends on SPARC64 && SMP && PREEMPT
326
327choice
328	prompt "SPARC64 Huge TLB Page Size"
329	depends on SPARC64 && HUGETLB_PAGE
330	default HUGETLB_PAGE_SIZE_4MB
331
332config HUGETLB_PAGE_SIZE_4MB
333	bool "4MB"
334
335config HUGETLB_PAGE_SIZE_512K
336	bool "512K"
337
338config HUGETLB_PAGE_SIZE_64K
339	depends on !SPARC64_PAGE_SIZE_64KB
340	bool "64K"
341
342endchoice
343
344config NUMA
345	bool "NUMA support"
346	depends on SPARC64 && SMP
347
348config NODES_SHIFT
349	int
350	default "4"
351	depends on NEED_MULTIPLE_NODES
352
353# Some NUMA nodes have memory ranges that span
354# other nodes.  Even though a pfn is valid and
355# between a node's start and end pfns, it may not
356# reside on that node.  See memmap_init_zone()
357# for details.
358config NODES_SPAN_OTHER_NODES
359	def_bool y
360	depends on NEED_MULTIPLE_NODES
361
362config ARCH_POPULATES_NODE_MAP
363	def_bool y if SPARC64
364
365config ARCH_SELECT_MEMORY_MODEL
366	def_bool y if SPARC64
367
368config ARCH_SPARSEMEM_ENABLE
369	def_bool y if SPARC64
370	select SPARSEMEM_VMEMMAP_ENABLE
371
372config ARCH_SPARSEMEM_DEFAULT
373	def_bool y if SPARC64
374
375source "mm/Kconfig"
376
377config SCHED_SMT
378	bool "SMT (Hyperthreading) scheduler support"
379	depends on SPARC64 && SMP
380	default y
381	help
382	  SMT scheduler support improves the CPU scheduler's decision making
383	  when dealing with SPARC cpus at a cost of slightly increased overhead
384	  in some places. If unsure say N here.
385
386config SCHED_MC
387	bool "Multi-core scheduler support"
388	depends on SPARC64 && SMP
389	default y
390	help
391	  Multi-core scheduler support improves the CPU scheduler's decision
392	  making when dealing with multi-core CPU chips at a cost of slightly
393	  increased overhead in some places. If unsure say N here.
394
395if SPARC64
396source "kernel/Kconfig.preempt"
397endif
398
399config CMDLINE_BOOL
400	bool "Default bootloader kernel arguments"
401	depends on SPARC64
402
403config CMDLINE
404	string "Initial kernel command string"
405	depends on CMDLINE_BOOL
406	default "console=ttyS0,9600 root=/dev/sda1"
407	help
408	  Say Y here if you want to be able to pass default arguments to
409	  the kernel. This will be overridden by the bootloader, if you
410	  use one (such as SILO). This is most useful if you want to boot
411	  a kernel from TFTP, and want default options to be available
412	  with having them passed on the command line.
413
414	  NOTE: This option WILL override the PROM bootargs setting!
415
416config SUN_PM
417	bool
418	default y if SPARC32
419	help
420	  Enable power management and CPU standby features on supported
421	  SPARC platforms.
422
423config SPARC_LED
424	tristate "Sun4m LED driver"
425	depends on SPARC32
426	help
427	  This driver toggles the front-panel LED on sun4m systems
428	  in a user-specifiable manner.  Its state can be probed
429	  by reading /proc/led and its blinking mode can be changed
430	  via writes to /proc/led
431
432config SERIAL_CONSOLE
433	bool
434	depends on SPARC32
435	default y
436	---help---
437	  If you say Y here, it will be possible to use a serial port as the
438	  system console (the system console is the device which receives all
439	  kernel messages and warnings and which allows logins in single user
440	  mode). This could be useful if some terminal or printer is connected
441	  to that serial port.
442
443	  Even if you say Y here, the currently visible virtual console
444	  (/dev/tty0) will still be used as the system console by default, but
445	  you can alter that using a kernel command line option such as
446	  "console=ttyS1". (Try "man bootparam" or see the documentation of
447	  your boot loader (silo) about how to pass options to the kernel at
448	  boot time.)
449
450	  If you don't have a graphics card installed and you say Y here, the
451	  kernel will automatically use the first serial line, /dev/ttyS0, as
452	  system console.
453
454	  If unsure, say N.
455
456config SPARC_LEON
457	bool "Sparc Leon processor family"
458	depends on SPARC32
459	---help---
460	  If you say Y here if you are running on a SPARC-LEON processor.
461	  The LEON processor is a synthesizable VHDL model of the
462	  SPARC-v8 standard. LEON is  part of the GRLIB collection of
463	  IP cores that are distributed under GPL. GRLIB can be downloaded
464	  from www.gaisler.com. You can download a sparc-linux cross-compilation
465	  toolchain at www.gaisler.com.
466
467endmenu
468
469menu "Bus options (PCI etc.)"
470config SBUS
471	bool
472	default y
473
474config SBUSCHAR
475	bool
476	default y
477
478config SUN_LDOMS
479	bool "Sun Logical Domains support"
480	depends on SPARC64
481	help
482	  Say Y here is you want to support virtual devices via
483	  Logical Domains.
484
485config PCI
486	bool "Support for PCI and PS/2 keyboard/mouse"
487	help
488	  Find out whether your system includes a PCI bus. PCI is the name of
489	  a bus system, i.e. the way the CPU talks to the other stuff inside
490	  your box.  If you say Y here, the kernel will include drivers and
491	  infrastructure code to support PCI bus devices.
492
493	  CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
494	  CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
495	  All of these platforms are extremely obscure, so say N if unsure.
496
497config PCI_DOMAINS
498	def_bool PCI if SPARC64
499
500config PCI_SYSCALL
501	def_bool PCI
502
503source "drivers/pci/Kconfig"
504
505source "drivers/pcmcia/Kconfig"
506
507config SUN_OPENPROMFS
508	tristate "Openprom tree appears in /proc/openprom"
509	help
510	  If you say Y, the OpenPROM device tree will be available as a
511	  virtual file system, which you can mount to /proc/openprom by "mount
512	  -t openpromfs none /proc/openprom".
513
514	  To compile the /proc/openprom support as a module, choose M here: the
515	  module will be called openpromfs.
516
517	  Only choose N if you know in advance that you will not need to modify
518	  OpenPROM settings on the running system.
519
520# Makefile helpers
521config SPARC32_PCI
522	bool
523	default y
524	depends on SPARC32 && PCI
525
526config SPARC64_PCI
527	bool
528	default y
529	depends on SPARC64 && PCI
530
531endmenu
532
533menu "Executable file formats"
534
535source "fs/Kconfig.binfmt"
536
537config COMPAT
538	bool
539	depends on SPARC64
540	default y
541	select COMPAT_BINFMT_ELF
542
543config SYSVIPC_COMPAT
544	bool
545	depends on COMPAT && SYSVIPC
546	default y
547
548endmenu
549
550source "net/Kconfig"
551
552source "drivers/Kconfig"
553
554source "drivers/sbus/char/Kconfig"
555
556source "fs/Kconfig"
557
558source "arch/sparc/Kconfig.debug"
559
560source "security/Kconfig"
561
562source "crypto/Kconfig"
563
564source "lib/Kconfig"
565