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