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