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