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