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