ASoC: Remove superfluous snd_dma_continuous_data()
[linux-2.6-block.git] / arch / sparc / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
761b6026 2config 64BIT
104daea1
MY
3 bool "64-bit kernel" if "$(ARCH)" = "sparc"
4 default "$(ARCH)" = "sparc64"
761b6026
BB
5 help
6 SPARC is a family of RISC microprocessors designed and marketed by
7 Sun Microsystems, incorporated. They are very widely found in Sun
8 workstations and clones.
9
10 Say yes to build a 64-bit kernel - formerly known as sparc64
11 Say no to build a 32-bit kernel - formerly known as sparc
12
35da3e39
SR
13config SPARC
14 bool
15 default y
ff649a6f 16 select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
a5252c28 17 select ARCH_MIGHT_HAVE_PC_SERIO
7b14c647 18 select OF
3cfc535c 19 select OF_PROMTREE
2ff2b7ec 20 select HAVE_ASM_MODVERSIONS
35da3e39
SR
21 select HAVE_IDE
22 select HAVE_OPROFILE
26b4c912 23 select HAVE_ARCH_KGDB if !SMP || SPARC64
35da3e39 24 select HAVE_ARCH_TRACEHOOK
5f56a5df 25 select HAVE_EXIT_THREAD
eb01d42a 26 select HAVE_PCI
7ac57a89 27 select SYSCTL_EXCEPTION_TRACE
35da3e39
SR
28 select RTC_CLASS
29 select RTC_DRV_M48T59
460ea8d7 30 select RTC_SYSTOHC
4f6500ff 31 select HAVE_ARCH_JUMP_LABEL if SPARC64
67a929e0 32 select HAVE_FAST_GUP if SPARC64
6baa9b20 33 select GENERIC_IRQ_SHOW
c1d7e01d 34 select ARCH_WANT_IPC_PARSE_VERSION
a21a2fd4 35 select GENERIC_PCI_IOMAP
d314d74c 36 select HAVE_NMI_WATCHDOG if SPARC64
7a12b503
DM
37 select HAVE_CBPF_JIT if SPARC32
38 select HAVE_EBPF_JIT if SPARC64
9b2a60c4 39 select HAVE_DEBUG_BUGVERBOSE
f0a2bc7e 40 select GENERIC_SMP_IDLE_THREAD
c7523a7c 41 select GENERIC_CLOCKEVENTS
2922585b 42 select GENERIC_STRNCPY_FROM_USER
2c66f623 43 select GENERIC_STRNLEN_USER
786d35d4 44 select MODULES_USE_ELF_RELA
20f1b79d 45 select PCI_SYSCALL if PCI
eaca6eae 46 select ODD_RT_SIGACTION
52ad6b3f 47 select OLD_SIGSUSPEND
fff7fb0b 48 select CPU_NO_EFFICIENT_FFS
395102db 49 select LOCKDEP_SMALL if LOCKDEP
f616ab59 50 select NEED_DMA_MAP_STATE
86596f0a 51 select NEED_SG_DMA_LENGTH
35da3e39 52
35da3e39 53config SPARC32
761b6026 54 def_bool !64BIT
942fa985 55 select ARCH_32BIT_OFF_T
dfaad39c 56 select ARCH_HAS_SYNC_DMA_FOR_CPU
aea1181b 57 select GENERIC_ATOMIC64
c6df4b17 58 select CLZ_TAB
af1839eb 59 select HAVE_UID16
a274bd49 60 select OLD_SIGACTION
35da3e39 61
26b4c912 62config SPARC64
761b6026 63 def_bool 64BIT
26b4c912 64 select HAVE_FUNCTION_TRACER
9960e9e8 65 select HAVE_FUNCTION_GRAPH_TRACER
26b4c912
SR
66 select HAVE_KRETPROBES
67 select HAVE_KPROBES
4a0100f7 68 select HAVE_RCU_TABLE_FREE if SMP
96bc9567 69 select HAVE_RCU_TABLE_NO_INVALIDATE if HAVE_RCU_TABLE_FREE
2a4814df 70 select HAVE_MEMBLOCK_NODE_MAP
b9156ebb 71 select HAVE_ARCH_TRANSPARENT_HUGEPAGE
9be12f9b
DM
72 select HAVE_DYNAMIC_FTRACE
73 select HAVE_FTRACE_MCOUNT_RECORD
c658ad1b 74 select HAVE_SYSCALL_TRACEPOINTS
812cb83a 75 select HAVE_CONTEXT_TRACKING
b69ec42b 76 select HAVE_DEBUG_KMEMLEAK
a4ce5a48 77 select IOMMU_HELPER
ee6a9333 78 select SPARSE_IRQ
26b4c912
SR
79 select RTC_DRV_CMOS
80 select RTC_DRV_BQ4802
81 select RTC_DRV_SUN4V
82 select RTC_DRV_STARFIRE
cdd6c482 83 select HAVE_PERF_EVENTS
906010b2 84 select PERF_USE_VMALLOC
fcd8d4f4 85 select IRQ_PREFLOW_FASTEOI
df013ffb 86 select ARCH_HAVE_NMI_SAFE_CMPXCHG
178a2960 87 select HAVE_C_RECORDMCOUNT
7a017721 88 select HAVE_ARCH_AUDITSYSCALL
4badad35 89 select ARCH_SUPPORTS_ATOMIC_RMW
42a0bb3f 90 select HAVE_NMI
b7c02b73 91 select HAVE_REGS_AND_STACK_ACCESS_API
a37594f1 92 select ARCH_USE_QUEUED_RWLOCKS
145d9785 93 select ARCH_USE_QUEUED_SPINLOCKS
9a08862a
NM
94 select GENERIC_TIME_VSYSCALL
95 select ARCH_CLOCKSOURCE_DATA
3010a5ea 96 select ARCH_HAS_PTE_SPECIAL
2eac9c2d 97 select PCI_DOMAINS if PCI
4eb0716e 98 select ARCH_HAS_GIGANTIC_PAGE
26b4c912 99
5e538790
SR
100config ARCH_DEFCONFIG
101 string
102 default "arch/sparc/configs/sparc32_defconfig" if SPARC32
103 default "arch/sparc/configs/sparc64_defconfig" if SPARC64
104
3c08158e
DM
105config ARCH_PROC_KCORE_TEXT
106 def_bool y
107
97d9f969
BM
108config CPU_BIG_ENDIAN
109 def_bool y
110
c88c545b
DK
111config ARCH_ATU
112 bool
113 default y if SPARC64
114
26b4c912
SR
115config STACKTRACE_SUPPORT
116 bool
117 default y if SPARC64
118
119config LOCKDEP_SUPPORT
120 bool
121 default y if SPARC64
122
bdde6b3c
TK
123config ARCH_HIBERNATION_POSSIBLE
124 def_bool y if SPARC64
125
26b4c912
SR
126config AUDIT_ARCH
127 bool
7e7e93a2 128 default y
26b4c912
SR
129
130config HAVE_SETUP_PER_CPU_AREA
131 def_bool y if SPARC64
132
bcb2107f 133config NEED_PER_CPU_EMBED_FIRST_CHUNK
4fd78a5f
DM
134 def_bool y if SPARC64
135
a70c6913
TH
136config NEED_PER_CPU_PAGE_FIRST_CHUNK
137 def_bool y if SPARC64
138
1da177e4
LT
139config MMU
140 bool
141 default y
142
1da177e4
LT
143config HIGHMEM
144 bool
26b4c912 145 default y if SPARC32
1da177e4 146
5ac6da66
CL
147config ZONE_DMA
148 bool
26b4c912 149 default y if SPARC32
5ac6da66 150
1da177e4
LT
151config GENERIC_ISA_DMA
152 bool
26b4c912 153 default y if SPARC32
1da177e4 154
6a11f75b
AM
155config ARCH_SUPPORTS_DEBUG_PAGEALLOC
156 def_bool y if SPARC64
157
81a2936c
KS
158config PGTABLE_LEVELS
159 default 4 if 64BIT
160 default 3
161
e8f4aa60
AP
162config ARCH_SUPPORTS_UPROBES
163 def_bool y if SPARC64
164
26b4c912 165menu "Processor type and features"
1da177e4 166
1da177e4 167config SMP
6b7679dd 168 bool "Symmetric multi-processing support"
1da177e4
LT
169 ---help---
170 This enables support for systems with more than one CPU. If you have
171 a system with only one CPU, say N. If you have a system with more
172 than one CPU, say Y.
173
4a474157 174 If you say N here, the kernel will run on uni- and multiprocessor
1da177e4
LT
175 machines, but will use only one CPU of a multiprocessor machine. If
176 you say Y here, the kernel will run on many, but not all,
4a474157 177 uniprocessor machines. On a uniprocessor machine, the kernel
1da177e4
LT
178 will run faster if you say N here.
179
180 People using multiprocessor machines who say Y here should also say
181 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
182 Management" code will be disabled if you say Y here.
183
4f4cfa6c 184 See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
03502faa 185 available at <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
186
187 If you don't know what to do here, say N.
188
189config NR_CPUS
26b4c912 190 int "Maximum number of CPUs"
1da177e4 191 depends on SMP
26b4c912 192 range 2 32 if SPARC32
c79a1373 193 range 2 4096 if SPARC64
26b4c912 194 default 32 if SPARC32
c79a1373 195 default 4096 if SPARC64
1da177e4 196
8636a1f9 197source "kernel/Kconfig.hz"
1da177e4 198
d59288b7
AM
199config GENERIC_HWEIGHT
200 bool
e0b20296 201 default y
d59288b7 202
1da177e4
LT
203config GENERIC_CALIBRATE_DELAY
204 bool
205 default y
206
a08b6b79
Z
207config ARCH_MAY_HAVE_PC_FDC
208 bool
209 default y
210
5f81941c
MH
211config EMULATED_CMPXCHG
212 bool
26b4c912 213 default y if SPARC32
5f81941c
MH
214 help
215 Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
216 is emulated, and therefore it is not completely atomic.
217
d670bd4f
SR
218# Makefile helpers
219config SPARC32_SMP
220 bool
221 default y
222 depends on SPARC32 && SMP
223
224config SPARC64_SMP
225 bool
226 default y
227 depends on SPARC64 && SMP
228
c57ec52f
DM
229config EARLYFB
230 bool "Support for early boot text console"
231 default y
232 depends on SPARC64
233 help
234 Say Y here to enable a faster early framebuffer boot console.
235
26b4c912
SR
236config SECCOMP
237 bool "Enable seccomp to safely compute untrusted bytecode"
238 depends on SPARC64 && PROC_FS
239 default y
240 help
241 This kernel feature is useful for number crunching applications
242 that may need to compute untrusted bytecode during their
243 execution. By using pipes or other transports made available to
244 the process as file descriptors supporting the read/write
245 syscalls, it's possible to isolate those applications in
246 their own address space using seccomp. Once seccomp is
247 enabled via /proc/<pid>/seccomp, it cannot be disabled
248 and the task is only allowed to execute a few safe syscalls
249 defined by each seccomp mode.
250
251 If unsure, say Y. Only embedded should say N here.
252
253config HOTPLUG_CPU
254 bool "Support for hot-pluggable CPUs"
255 depends on SPARC64 && SMP
26b4c912
SR
256 help
257 Say Y here to experiment with turning CPUs off and on. CPUs
258 can be controlled through /sys/devices/system/cpu/cpu#.
259 Say N if you want to disable CPU hotplug.
260
26b4c912
SR
261if SPARC64
262source "drivers/cpufreq/Kconfig"
26b4c912
SR
263endif
264
265config US3_MC
266 tristate "UltraSPARC-III Memory Controller driver"
267 depends on SPARC64
268 default y
269 help
270 This adds a driver for the UltraSPARC-III memory controller.
271 Loading this driver allows exact mnemonic strings to be
272 printed in the event of a memory error, so that the faulty DIMM
273 on the motherboard can be matched to the error.
274
275 If in doubt, say Y, as this information can be very useful.
276
277# Global things across all Sun machines.
278config GENERIC_LOCKBREAK
1da177e4
LT
279 bool
280 default y
26b4c912
SR
281 depends on SPARC64 && SMP && PREEMPT
282
26b4c912
SR
283config NUMA
284 bool "NUMA support"
285 depends on SPARC64 && SMP
286
287config NODES_SHIFT
7485af89
JC
288 int "Maximum NUMA Nodes (as a power of 2)"
289 range 4 5 if SPARC64
290 default "5"
26b4c912 291 depends on NEED_MULTIPLE_NODES
7485af89
JC
292 help
293 Specify the maximum number of NUMA Nodes available on the target
294 system. Increases memory reserved to accommodate various tables.
26b4c912
SR
295
296# Some NUMA nodes have memory ranges that span
297# other nodes. Even though a pfn is valid and
298# between a node's start and end pfns, it may not
299# reside on that node. See memmap_init_zone()
300# for details.
301config NODES_SPAN_OTHER_NODES
302 def_bool y
303 depends on NEED_MULTIPLE_NODES
304
26b4c912
SR
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
c88c545b
DK
312config FORCE_MAX_ZONEORDER
313 int "Maximum zone order"
314 default "13"
315 help
316 The kernel memory allocator divides physically contiguous memory
317 blocks into "zones", where each zone is a power of two number of
318 pages. This option selects the largest power of two that the kernel
319 keeps in the memory allocator. If you need to allocate very large
320 blocks of physically contiguous memory, then you may need to
321 increase this value.
322
323 This config option is actually maximum order plus one. For example,
324 a value of 13 means that the largest free memory block is 2^12 pages.
325
bdde6b3c
TK
326if SPARC64
327source "kernel/power/Kconfig"
328endif
329
26b4c912
SR
330config SCHED_SMT
331 bool "SMT (Hyperthreading) scheduler support"
332 depends on SPARC64 && SMP
333 default y
334 help
335 SMT scheduler support improves the CPU scheduler's decision making
336 when dealing with SPARC cpus at a cost of slightly increased overhead
337 in some places. If unsure say N here.
338
339config SCHED_MC
340 bool "Multi-core scheduler support"
341 depends on SPARC64 && SMP
342 default y
343 help
344 Multi-core scheduler support improves the CPU scheduler's decision
345 making when dealing with multi-core CPU chips at a cost of slightly
346 increased overhead in some places. If unsure say N here.
347
26b4c912
SR
348config CMDLINE_BOOL
349 bool "Default bootloader kernel arguments"
350 depends on SPARC64
351
352config CMDLINE
353 string "Initial kernel command string"
354 depends on CMDLINE_BOOL
355 default "console=ttyS0,9600 root=/dev/sda1"
356 help
357 Say Y here if you want to be able to pass default arguments to
358 the kernel. This will be overridden by the bootloader, if you
359 use one (such as SILO). This is most useful if you want to boot
360 a kernel from TFTP, and want default options to be available
361 with having them passed on the command line.
362
363 NOTE: This option WILL override the PROM bootargs setting!
364
365config SUN_PM
366 bool
367 default y if SPARC32
1da177e4
LT
368 help
369 Enable power management and CPU standby features on supported
370 SPARC platforms.
371
4b27e0e1
SR
372config SPARC_LED
373 tristate "Sun4m LED driver"
26b4c912 374 depends on SPARC32
4b27e0e1
SR
375 help
376 This driver toggles the front-panel LED on sun4m systems
377 in a user-specifiable manner. Its state can be probed
378 by reading /proc/led and its blinking mode can be changed
379 via writes to /proc/led
380
26b4c912
SR
381config SERIAL_CONSOLE
382 bool
383 depends on SPARC32
384 default y
385 ---help---
386 If you say Y here, it will be possible to use a serial port as the
387 system console (the system console is the device which receives all
388 kernel messages and warnings and which allows logins in single user
389 mode). This could be useful if some terminal or printer is connected
390 to that serial port.
391
392 Even if you say Y here, the currently visible virtual console
393 (/dev/tty0) will still be used as the system console by default, but
394 you can alter that using a kernel command line option such as
395 "console=ttyS1". (Try "man bootparam" or see the documentation of
396 your boot loader (silo) about how to pass options to the kernel at
397 boot time.)
398
399 If you don't have a graphics card installed and you say Y here, the
400 kernel will automatically use the first serial line, /dev/ttyS0, as
401 system console.
402
403 If unsure, say N.
4b27e0e1 404
5213a780
KE
405config SPARC_LEON
406 bool "Sparc Leon processor family"
407 depends on SPARC32
9296d94d
FF
408 select USB_EHCI_BIG_ENDIAN_MMIO
409 select USB_EHCI_BIG_ENDIAN_DESC
5efad9ee
JH
410 select USB_UHCI_BIG_ENDIAN_MMIO
411 select USB_UHCI_BIG_ENDIAN_DESC
5213a780
KE
412 ---help---
413 If you say Y here if you are running on a SPARC-LEON processor.
414 The LEON processor is a synthesizable VHDL model of the
415 SPARC-v8 standard. LEON is part of the GRLIB collection of
416 IP cores that are distributed under GPL. GRLIB can be downloaded
417 from www.gaisler.com. You can download a sparc-linux cross-compilation
418 toolchain at www.gaisler.com.
419
684151a7
DH
420if SPARC_LEON
421menu "U-Boot options"
422
423config UBOOT_LOAD_ADDR
424 hex "uImage Load Address"
425 default 0x40004000
426 ---help---
427 U-Boot kernel load address, the address in physical address space
428 where u-boot will place the Linux kernel before booting it.
429 This address is normally the base address of main memory + 0x4000.
430
431config UBOOT_FLASH_ADDR
432 hex "uImage.o Load Address"
433 default 0x00080000
434 ---help---
435 Optional setting only affecting the uImage.o ELF-image used to
436 download the uImage file to the target using a ELF-loader other than
437 U-Boot. It may for example be used to download an uImage to FLASH with
438 the GRMON utility before even starting u-boot.
439
440config UBOOT_ENTRY_ADDR
441 hex "uImage Entry Address"
442 default 0xf0004000
443 ---help---
444 Do not change this unless you know what you're doing. This is
445 hardcoded by the SPARC32 and LEON port.
446
447 This is the virtual address u-boot jumps to when booting the Linux
448 Kernel.
449
450endmenu
451endif
452
4b27e0e1
SR
453endmenu
454
455menu "Bus options (PCI etc.)"
4b27e0e1
SR
456config SBUS
457 bool
458 default y
459
460config SBUSCHAR
461 bool
462 default y
463
26b4c912
SR
464config SUN_LDOMS
465 bool "Sun Logical Domains support"
466 depends on SPARC64
467 help
468 Say Y here is you want to support virtual devices via
469 Logical Domains.
470
cfe3af5d
DH
471config PCIC_PCI
472 bool
8c47f8d0 473 depends on PCI && SPARC32 && !SPARC_LEON
cfe3af5d
DH
474 default y
475
26893c13
DH
476config LEON_PCI
477 bool
478 depends on PCI && SPARC_LEON
479 default y
480
d8650106
DH
481config SPARC_GRPCI1
482 bool "GRPCI Host Bridge Support"
483 depends on LEON_PCI
484 default y
485 help
486 Say Y here to include the GRPCI Host Bridge Driver. The GRPCI
487 PCI host controller is typically found in GRLIB SPARC32/LEON
488 systems. The driver has one property (all_pci_errors) controlled
489 from the bootloader that makes the GRPCI to generate interrupts
490 on detected PCI Parity and System errors.
491
1ab0a676 492config SPARC_GRPCI2
5d07b786
DH
493 bool "GRPCI2 Host Bridge Support"
494 depends on LEON_PCI
495 default y
496 help
497 Say Y here to include the GRPCI2 Host Bridge Driver.
498
1da177e4
LT
499config SUN_OPENPROMFS
500 tristate "Openprom tree appears in /proc/openprom"
501 help
502 If you say Y, the OpenPROM device tree will be available as a
503 virtual file system, which you can mount to /proc/openprom by "mount
504 -t openpromfs none /proc/openprom".
505
506 To compile the /proc/openprom support as a module, choose M here: the
507 module will be called openpromfs.
508
509 Only choose N if you know in advance that you will not need to modify
510 OpenPROM settings on the running system.
511
a988fb80 512# Makefile helpers
d670bd4f
SR
513config SPARC64_PCI
514 bool
515 default y
516 depends on SPARC64 && PCI
30aaa808 517
a988fb80
TP
518config SPARC64_PCI_MSI
519 bool
520 default y
521 depends on SPARC64_PCI && PCI_MSI
522
30aaa808
WLII
523endmenu
524
26b4c912
SR
525config COMPAT
526 bool
527 depends on SPARC64
528 default y
529 select COMPAT_BINFMT_ELF
af1839eb 530 select HAVE_UID16
48b25c43 531 select ARCH_WANT_OLD_COMPAT_IPC
a274bd49 532 select COMPAT_OLD_SIGACTION
26b4c912
SR
533
534config SYSVIPC_COMPAT
535 bool
536 depends on COMPAT && SYSVIPC
537 default y
538
1da177e4 539source "drivers/sbus/char/Kconfig"