xref: /linux/arch/sparc/Kconfig (revision f49f4ab95c301dbccad0efe85296d908b8ae7ad4)
1config 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
12config SPARC
13	bool
14	default y
15	select OF
16	select OF_PROMTREE
17	select HAVE_IDE
18	select HAVE_OPROFILE
19	select HAVE_ARCH_KGDB if !SMP || SPARC64
20	select HAVE_ARCH_TRACEHOOK
21	select SYSCTL_EXCEPTION_TRACE
22	select ARCH_WANT_OPTIONAL_GPIOLIB
23	select RTC_CLASS
24	select RTC_DRV_M48T59
25	select HAVE_IRQ_WORK
26	select HAVE_DMA_ATTRS
27	select HAVE_DMA_API_DEBUG
28	select HAVE_ARCH_JUMP_LABEL
29	select HAVE_GENERIC_HARDIRQS
30	select GENERIC_IRQ_SHOW
31	select ARCH_WANT_IPC_PARSE_VERSION
32	select USE_GENERIC_SMP_HELPERS if SMP
33	select GENERIC_PCI_IOMAP
34	select HAVE_NMI_WATCHDOG if SPARC64
35	select HAVE_BPF_JIT
36	select HAVE_DEBUG_BUGVERBOSE
37	select GENERIC_SMP_IDLE_THREAD
38	select GENERIC_CMOS_UPDATE
39	select GENERIC_CLOCKEVENTS
40	select GENERIC_STRNCPY_FROM_USER
41	select GENERIC_STRNLEN_USER
42	select MODULES_USE_ELF_RELA
43
44config SPARC32
45	def_bool !64BIT
46	select GENERIC_ATOMIC64
47	select CLZ_TAB
48	select HAVE_UID16
49
50config SPARC64
51	def_bool 64BIT
52	select ARCH_SUPPORTS_MSI
53	select HAVE_FUNCTION_TRACER
54	select HAVE_FUNCTION_GRAPH_TRACER
55	select HAVE_FUNCTION_GRAPH_FP_TEST
56	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
57	select HAVE_KRETPROBES
58	select HAVE_KPROBES
59	select HAVE_RCU_TABLE_FREE if SMP
60	select HAVE_MEMBLOCK
61	select HAVE_MEMBLOCK_NODE_MAP
62	select HAVE_SYSCALL_WRAPPERS
63	select HAVE_DYNAMIC_FTRACE
64	select HAVE_FTRACE_MCOUNT_RECORD
65	select HAVE_SYSCALL_TRACEPOINTS
66	select HAVE_DEBUG_KMEMLEAK
67	select RTC_DRV_CMOS
68	select RTC_DRV_BQ4802
69	select RTC_DRV_SUN4V
70	select RTC_DRV_STARFIRE
71	select HAVE_PERF_EVENTS
72	select PERF_USE_VMALLOC
73	select IRQ_PREFLOW_FASTEOI
74	select ARCH_HAVE_NMI_SAFE_CMPXCHG
75	select HAVE_C_RECORDMCOUNT
76	select NO_BOOTMEM
77
78config ARCH_DEFCONFIG
79	string
80	default "arch/sparc/configs/sparc32_defconfig" if SPARC32
81	default "arch/sparc/configs/sparc64_defconfig" if SPARC64
82
83# CONFIG_BITS can be used at source level to get 32/64 bits
84config BITS
85	int
86	default 32 if SPARC32
87	default 64 if SPARC64
88
89config IOMMU_HELPER
90	bool
91	default y if SPARC64
92
93config STACKTRACE_SUPPORT
94	bool
95	default y if SPARC64
96
97config LOCKDEP_SUPPORT
98	bool
99	default y if SPARC64
100
101config HAVE_LATENCYTOP_SUPPORT
102	bool
103	default y if SPARC64
104
105config AUDIT_ARCH
106	bool
107	default y
108
109config HAVE_SETUP_PER_CPU_AREA
110	def_bool y if SPARC64
111
112config NEED_PER_CPU_EMBED_FIRST_CHUNK
113	def_bool y if SPARC64
114
115config NEED_PER_CPU_PAGE_FIRST_CHUNK
116	def_bool y if SPARC64
117
118config MMU
119	bool
120	default y
121
122config HIGHMEM
123	bool
124	default y if SPARC32
125
126config ZONE_DMA
127	bool
128	default y if SPARC32
129
130config NEED_DMA_MAP_STATE
131	def_bool y
132
133config NEED_SG_DMA_LENGTH
134	def_bool y
135
136config GENERIC_ISA_DMA
137	bool
138	default y if SPARC32
139
140config GENERIC_GPIO
141	bool
142	help
143	  Generic GPIO API support
144
145config ARCH_NO_VIRT_TO_BUS
146	def_bool y
147
148config ARCH_SUPPORTS_DEBUG_PAGEALLOC
149	def_bool y if SPARC64
150
151source "init/Kconfig"
152
153source "kernel/Kconfig.freezer"
154
155menu "Processor type and features"
156
157config SMP
158	bool "Symmetric multi-processing support"
159	---help---
160	  This enables support for systems with more than one CPU. If you have
161	  a system with only one CPU, say N. If you have a system with more
162	  than one CPU, say Y.
163
164	  If you say N here, the kernel will run on single and multiprocessor
165	  machines, but will use only one CPU of a multiprocessor machine. If
166	  you say Y here, the kernel will run on many, but not all,
167	  singleprocessor machines. On a singleprocessor machine, the kernel
168	  will run faster if you say N here.
169
170	  People using multiprocessor machines who say Y here should also say
171	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
172	  Management" code will be disabled if you say Y here.
173
174	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
175	  available at <http://www.tldp.org/docs.html#howto>.
176
177	  If you don't know what to do here, say N.
178
179config NR_CPUS
180	int "Maximum number of CPUs"
181	depends on SMP
182	range 2 32 if SPARC32
183	range 2 1024 if SPARC64
184	default 32 if SPARC32
185	default 64 if SPARC64
186
187source kernel/Kconfig.hz
188
189config RWSEM_GENERIC_SPINLOCK
190	bool
191	default y if SPARC32
192
193config RWSEM_XCHGADD_ALGORITHM
194	bool
195	default y if SPARC64
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
209config 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
216# 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
227config 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
234config SECCOMP
235	bool "Enable seccomp to safely compute untrusted bytecode"
236	depends on SPARC64 && PROC_FS
237	default y
238	help
239	  This kernel feature is useful for number crunching applications
240	  that may need to compute untrusted bytecode during their
241	  execution. By using pipes or other transports made available to
242	  the process as file descriptors supporting the read/write
243	  syscalls, it's possible to isolate those applications in
244	  their own address space using seccomp. Once seccomp is
245	  enabled via /proc/<pid>/seccomp, it cannot be disabled
246	  and the task is only allowed to execute a few safe syscalls
247	  defined by each seccomp mode.
248
249	  If unsure, say Y. Only embedded should say N here.
250
251config HOTPLUG_CPU
252	bool "Support for hot-pluggable CPUs"
253	depends on SPARC64 && SMP
254	select HOTPLUG
255	help
256	  Say Y here to experiment with turning CPUs off and on.  CPUs
257	  can be controlled through /sys/devices/system/cpu/cpu#.
258	  Say N if you want to disable CPU hotplug.
259
260if SPARC64
261source "drivers/cpufreq/Kconfig"
262
263config US3_FREQ
264	tristate "UltraSPARC-III CPU Frequency driver"
265	depends on CPU_FREQ
266	select CPU_FREQ_TABLE
267	help
268	  This adds the CPUFreq driver for UltraSPARC-III processors.
269
270	  For details, take a look at <file:Documentation/cpu-freq>.
271
272	  If in doubt, say N.
273
274config US2E_FREQ
275	tristate "UltraSPARC-IIe CPU Frequency driver"
276	depends on CPU_FREQ
277	select CPU_FREQ_TABLE
278	help
279	  This adds the CPUFreq driver for UltraSPARC-IIe processors.
280
281	  For details, take a look at <file:Documentation/cpu-freq>.
282
283	  If in doubt, say N.
284
285endif
286
287config US3_MC
288	tristate "UltraSPARC-III Memory Controller driver"
289	depends on SPARC64
290	default y
291	help
292	  This adds a driver for the UltraSPARC-III memory controller.
293	  Loading this driver allows exact mnemonic strings to be
294	  printed in the event of a memory error, so that the faulty DIMM
295	  on the motherboard can be matched to the error.
296
297	  If in doubt, say Y, as this information can be very useful.
298
299# Global things across all Sun machines.
300config GENERIC_LOCKBREAK
301	bool
302	default y
303	depends on SPARC64 && SMP && PREEMPT
304
305config NUMA
306	bool "NUMA support"
307	depends on SPARC64 && SMP
308
309config NODES_SHIFT
310	int
311	default "4"
312	depends on NEED_MULTIPLE_NODES
313
314# Some NUMA nodes have memory ranges that span
315# other nodes.  Even though a pfn is valid and
316# between a node's start and end pfns, it may not
317# reside on that node.  See memmap_init_zone()
318# for details.
319config NODES_SPAN_OTHER_NODES
320	def_bool y
321	depends on NEED_MULTIPLE_NODES
322
323config ARCH_SELECT_MEMORY_MODEL
324	def_bool y if SPARC64
325
326config ARCH_SPARSEMEM_ENABLE
327	def_bool y if SPARC64
328	select SPARSEMEM_VMEMMAP_ENABLE
329
330config ARCH_SPARSEMEM_DEFAULT
331	def_bool y if SPARC64
332
333source "mm/Kconfig"
334
335config SCHED_SMT
336	bool "SMT (Hyperthreading) scheduler support"
337	depends on SPARC64 && SMP
338	default y
339	help
340	  SMT scheduler support improves the CPU scheduler's decision making
341	  when dealing with SPARC cpus at a cost of slightly increased overhead
342	  in some places. If unsure say N here.
343
344config SCHED_MC
345	bool "Multi-core scheduler support"
346	depends on SPARC64 && SMP
347	default y
348	help
349	  Multi-core scheduler support improves the CPU scheduler's decision
350	  making when dealing with multi-core CPU chips at a cost of slightly
351	  increased overhead in some places. If unsure say N here.
352
353source "kernel/Kconfig.preempt"
354
355config CMDLINE_BOOL
356	bool "Default bootloader kernel arguments"
357	depends on SPARC64
358
359config CMDLINE
360	string "Initial kernel command string"
361	depends on CMDLINE_BOOL
362	default "console=ttyS0,9600 root=/dev/sda1"
363	help
364	  Say Y here if you want to be able to pass default arguments to
365	  the kernel. This will be overridden by the bootloader, if you
366	  use one (such as SILO). This is most useful if you want to boot
367	  a kernel from TFTP, and want default options to be available
368	  with having them passed on the command line.
369
370	  NOTE: This option WILL override the PROM bootargs setting!
371
372config SUN_PM
373	bool
374	default y if SPARC32
375	help
376	  Enable power management and CPU standby features on supported
377	  SPARC platforms.
378
379config SPARC_LED
380	tristate "Sun4m LED driver"
381	depends on SPARC32
382	help
383	  This driver toggles the front-panel LED on sun4m systems
384	  in a user-specifiable manner.  Its state can be probed
385	  by reading /proc/led and its blinking mode can be changed
386	  via writes to /proc/led
387
388config SERIAL_CONSOLE
389	bool
390	depends on SPARC32
391	default y
392	---help---
393	  If you say Y here, it will be possible to use a serial port as the
394	  system console (the system console is the device which receives all
395	  kernel messages and warnings and which allows logins in single user
396	  mode). This could be useful if some terminal or printer is connected
397	  to that serial port.
398
399	  Even if you say Y here, the currently visible virtual console
400	  (/dev/tty0) will still be used as the system console by default, but
401	  you can alter that using a kernel command line option such as
402	  "console=ttyS1". (Try "man bootparam" or see the documentation of
403	  your boot loader (silo) about how to pass options to the kernel at
404	  boot time.)
405
406	  If you don't have a graphics card installed and you say Y here, the
407	  kernel will automatically use the first serial line, /dev/ttyS0, as
408	  system console.
409
410	  If unsure, say N.
411
412config SPARC_LEON
413	bool "Sparc Leon processor family"
414	depends on SPARC32
415	---help---
416	  If you say Y here if you are running on a SPARC-LEON processor.
417	  The LEON processor is a synthesizable VHDL model of the
418	  SPARC-v8 standard. LEON is  part of the GRLIB collection of
419	  IP cores that are distributed under GPL. GRLIB can be downloaded
420	  from www.gaisler.com. You can download a sparc-linux cross-compilation
421	  toolchain at www.gaisler.com.
422
423if SPARC_LEON
424menu "U-Boot options"
425
426config UBOOT_LOAD_ADDR
427	hex "uImage Load Address"
428	default 0x40004000
429	---help---
430	 U-Boot kernel load address, the address in physical address space
431	 where u-boot will place the Linux kernel before booting it.
432	 This address is normally the base address of main memory + 0x4000.
433
434config UBOOT_FLASH_ADDR
435	hex "uImage.o Load Address"
436	default 0x00080000
437	---help---
438	 Optional setting only affecting the uImage.o ELF-image used to
439	 download the uImage file to the target using a ELF-loader other than
440	 U-Boot. It may for example be used to download an uImage to FLASH with
441	 the GRMON utility before even starting u-boot.
442
443config UBOOT_ENTRY_ADDR
444	hex "uImage Entry Address"
445	default 0xf0004000
446	---help---
447	 Do not change this unless you know what you're doing. This is
448	 hardcoded by the SPARC32 and LEON port.
449
450	 This is the virtual address u-boot jumps to when booting the Linux
451	 Kernel.
452
453endmenu
454endif
455
456endmenu
457
458menu "Bus options (PCI etc.)"
459config SBUS
460	bool
461	default y
462
463config SBUSCHAR
464	bool
465	default y
466
467config SUN_LDOMS
468	bool "Sun Logical Domains support"
469	depends on SPARC64
470	help
471	  Say Y here is you want to support virtual devices via
472	  Logical Domains.
473
474config PCI
475	bool "Support for PCI and PS/2 keyboard/mouse"
476	help
477	  Find out whether your system includes a PCI bus. PCI is the name of
478	  a bus system, i.e. the way the CPU talks to the other stuff inside
479	  your box.  If you say Y here, the kernel will include drivers and
480	  infrastructure code to support PCI bus devices.
481
482	  CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
483	  CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
484	  All of these platforms are extremely obscure, so say N if unsure.
485
486config PCI_DOMAINS
487	def_bool PCI if SPARC64
488
489config PCI_SYSCALL
490	def_bool PCI
491
492config PCIC_PCI
493	bool
494	depends on PCI && SPARC32 && !SPARC_LEON
495	default y
496
497config LEON_PCI
498	bool
499	depends on PCI && SPARC_LEON
500	default y
501
502config GRPCI2
503	bool "GRPCI2 Host Bridge Support"
504	depends on LEON_PCI
505	default y
506	help
507	  Say Y here to include the GRPCI2 Host Bridge Driver.
508
509source "drivers/pci/Kconfig"
510
511source "drivers/pcmcia/Kconfig"
512
513config 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
526# Makefile helper
527config SPARC64_PCI
528	bool
529	default y
530	depends on SPARC64 && PCI
531
532endmenu
533
534menu "Executable file formats"
535
536source "fs/Kconfig.binfmt"
537
538config COMPAT
539	bool
540	depends on SPARC64
541	default y
542	select COMPAT_BINFMT_ELF
543	select HAVE_UID16
544	select ARCH_WANT_OLD_COMPAT_IPC
545
546config SYSVIPC_COMPAT
547	bool
548	depends on COMPAT && SYSVIPC
549	default y
550
551config KEYS_COMPAT
552	def_bool y if COMPAT && KEYS
553
554endmenu
555
556source "net/Kconfig"
557
558source "drivers/Kconfig"
559
560source "drivers/sbus/char/Kconfig"
561
562source "fs/Kconfig"
563
564source "arch/sparc/Kconfig.debug"
565
566source "security/Kconfig"
567
568source "crypto/Kconfig"
569
570source "lib/Kconfig"
571