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