1# SPDX-License-Identifier: GPL-2.0 2config ALPHA 3 bool 4 default y 5 select GENERIC_ENTRY 6 select HAVE_SYSCALL_TRACEPOINTS 7 select ARCH_32BIT_USTAT_F_TINODE 8 select ARCH_HAS_CURRENT_STACK_POINTER 9 select ARCH_HAS_DEBUG_VM_PGTABLE 10 select ARCH_HAS_DMA_OPS if PCI 11 select ARCH_HAS_FAST_MULTIPLIER 12 select ARCH_HAS_GCOV_PROFILE_ALL 13 select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE 14 select ARCH_HAS_PTE_SPECIAL 15 select ARCH_HAS_UBSAN 16 select ARCH_MIGHT_HAVE_PC_PARPORT 17 select ARCH_MIGHT_HAVE_PC_SERIO 18 select ARCH_MODULE_NEEDS_WEAK_PER_CPU if SMP 19 select ARCH_NO_PREEMPT 20 select ARCH_NO_SG_CHAIN 21 select ARCH_SUPPORTS_ATOMIC_RMW 22 select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 23 select ARCH_SUPPORTS_PAGE_TABLE_CHECK 24 select ARCH_USE_CMPXCHG_LOCKREF 25 select FORCE_PCI 26 select PCI_DOMAINS if PCI 27 select PCI_SYSCALL if PCI 28 select HAVE_ARCH_COMPILER_H 29 select HAVE_ASM_MODVERSIONS 30 select HAVE_DEBUG_KMEMLEAK 31 select HAVE_PAGE_SIZE_8KB 32 select HAVE_PCSPKR_PLATFORM 33 select HAVE_PERF_EVENTS 34 select NEED_DMA_MAP_STATE 35 select NEED_SG_DMA_LENGTH 36 select GENERIC_IRQ_PROBE 37 select GENERIC_PCI_IOMAP 38 select AUTO_IRQ_AFFINITY if SMP 39 select GENERIC_IRQ_SHOW 40 select ARCH_WANT_IPC_PARSE_VERSION 41 select ARCH_HAVE_NMI_SAFE_CMPXCHG 42 select AUDIT_ARCH 43 select EDAC_SUPPORT 44 select GENERIC_CPU_VULNERABILITIES 45 select GENERIC_SMP_IDLE_THREAD 46 select HAS_IOPORT 47 select HAVE_ARCH_AUDITSYSCALL 48 select HAVE_ARCH_SECCOMP 49 select HAVE_ARCH_SECCOMP_FILTER 50 select HAVE_ARCH_THREAD_STRUCT_WHITELIST 51 select HAVE_ARCH_TRACEHOOK 52 select HAVE_MOD_ARCH_SPECIFIC 53 select LOCK_MM_AND_FIND_VMA 54 select MODULES_USE_ELF_RELA 55 select ODD_RT_SIGACTION 56 select OLD_SIGSUSPEND 57 select ARCH_STACKWALK 58 select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67 59 select MMU_GATHER_NO_RANGE 60 select MMU_GATHER_RCU_TABLE_FREE 61 select SPARSEMEM_EXTREME if SPARSEMEM 62 select ZONE_DMA 63 select TRACE_IRQFLAGS_SUPPORT 64 select ARCH_WANT_FRAME_POINTERS 65 help 66 The Alpha is a 64-bit general-purpose processor designed and 67 marketed by the Digital Equipment Corporation of blessed memory, 68 now Hewlett-Packard. The Alpha Linux project has a home page at 69 <http://www.alphalinux.org/>. 70 71config 64BIT 72 def_bool y 73 74config MMU 75 bool 76 default y 77 78config ARCH_HAS_ILOG2_U32 79 bool 80 default n 81 82config ARCH_HAS_ILOG2_U64 83 bool 84 default n 85 86config GENERIC_CALIBRATE_DELAY 87 bool 88 default y 89 90config GENERIC_ISA_DMA 91 bool 92 default y 93 94config PGTABLE_LEVELS 95 int 96 default 3 97 98config AUDIT_ARCH 99 bool 100 101config STACKTRACE_SUPPORT 102 def_bool y 103 104config LOCKDEP_SUPPORT 105 def_bool y 106 107menu "System setup" 108 109choice 110 prompt "Alpha system type" 111 default ALPHA_GENERIC 112 help 113 This is the system type of your hardware. A "generic" kernel will 114 run on any supported Alpha system. However, if you configure a 115 kernel for your specific system, it will be faster and smaller. 116 117 To find out what type of Alpha system you have, you may want to 118 check out the Linux/Alpha FAQ, accessible on the WWW from 119 <http://www.alphalinux.org/>. In summary: 120 121 Alcor/Alpha-XLT AS 600, AS 500, XL-300, XL-366 122 DP264 DP264 / DS20 / ES40 / DS10 / DS10L 123 LX164 AlphaPC164-LX 124 Miata Personal Workstation 433/500/600 a/au 125 Marvel AlphaServer ES47 / ES80 / GS1280 126 Mikasa AS 1000 127 Noritake AS 1000A, AS 600A, AS 800 128 PC164 AlphaPC164 129 Rawhide AS 1200, AS 4000, AS 4100 130 Ruffian RPX164-2, AlphaPC164-UX, AlphaPC164-BX 131 SX164 AlphaPC164-SX 132 Sable AS 2000, AS 2100 133 Shark DS 20L 134 Takara Takara (OEM) 135 Titan AlphaServer ES45 / DS25 / DS15 136 Wildfire AlphaServer GS 40/80/160/320 137 138 If you don't know what to do, choose "generic". 139 140config ALPHA_GENERIC 141 bool "Generic" 142 depends on TTY 143 select HAVE_EISA 144 help 145 A generic kernel will run on all supported Alpha hardware. 146 147config ALPHA_ALCOR 148 bool "Alcor/Alpha-XLT" 149 select HAVE_EISA 150 help 151 For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data 152 slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O 153 Address, CIA) - a 383 pin plastic PGA). It provides a DRAM 154 controller (256-bit memory bus) and a PCI interface. It also does 155 all the work required to support an external Bcache and to maintain 156 memory coherence when a PCI device DMAs into (or out of) memory. 157 158config ALPHA_DP264 159 bool "DP264" 160 help 161 Various 21264 systems with the tsunami core logic chipset. 162 API Networks: 264DP, UP2000(+), CS20; 163 Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40. 164 165config ALPHA_EIGER 166 bool "Eiger" 167 help 168 Apparently an obscure OEM single-board computer based on the 169 Typhoon/Tsunami chipset family. Information on it is scanty. 170 171config ALPHA_LX164 172 bool "LX164" 173 help 174 A technical overview of this board is available at 175 <http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html>. 176 177config ALPHA_MARVEL 178 bool "Marvel" 179 help 180 AlphaServer ES47 / ES80 / GS1280 based on EV7. 181 182config ALPHA_MIATA 183 bool "Miata" 184 select HAVE_EISA 185 help 186 The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a, 187 or 600au). 188 189config ALPHA_MIKASA 190 bool "Mikasa" 191 help 192 AlphaServer 1000-based Alpha systems. 193 194config ALPHA_NAUTILUS 195 bool "Nautilus" 196 help 197 Alpha systems based on the AMD 751 & ALI 1543C chipsets. 198 199config ALPHA_NORITAKE 200 bool "Noritake" 201 select HAVE_EISA 202 help 203 AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based 204 systems. 205 206config ALPHA_PC164 207 bool "PC164" 208 209config ALPHA_RAWHIDE 210 bool "Rawhide" 211 select HAVE_EISA 212 help 213 AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines. 214 See HOWTO at 215 <http://www.alphalinux.org/docs/rawhide/4100_install.shtml>. 216 217config ALPHA_RUFFIAN 218 bool "Ruffian" 219 help 220 Samsung APC164UX. There is a page on known problems and workarounds 221 at <http://www.alphalinux.org/faq/FAQ-11.html>. 222 223config ALPHA_RX164 224 bool "RX164" 225 226config ALPHA_SX164 227 bool "SX164" 228 229config ALPHA_SABLE 230 bool "Sable" 231 select HAVE_EISA 232 help 233 Digital AlphaServer 2000 and 2100-based systems. 234 235config ALPHA_SHARK 236 bool "Shark" 237 238config ALPHA_TAKARA 239 bool "Takara" 240 help 241 Alpha 11164-based OEM single-board computer. 242 243config ALPHA_TITAN 244 bool "Titan" 245 help 246 AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset. 247 248config ALPHA_WILDFIRE 249 bool "Wildfire" 250 help 251 AlphaServer GS 40/80/160/320 SMP based on the EV67 core. 252 253endchoice 254 255# clear all implied options (don't want default values for those): 256# Most of these machines have ISA slots; not exactly sure which don't, 257# and this doesn't activate hordes of code, so do it always. 258config ISA 259 bool 260 default y 261 help 262 Find out whether you have ISA slots on your motherboard. ISA is the 263 name of a bus system, i.e. the way the CPU talks to the other stuff 264 inside your box. Other bus systems are PCI, EISA, MicroChannel 265 (MCA) or VESA. ISA is an older system, now being displaced by PCI; 266 newer boards don't support it. If you have ISA, say Y, otherwise N. 267 268config ISA_DMA_API 269 bool 270 default y 271 272config ALPHA_CIA 273 bool 274 depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_NORITAKE || ALPHA_MIKASA || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_ALCOR 275 default y 276 277config ALPHA_EV56 278 bool 279 default y if ALPHA_ALCOR || ALPHA_RX164 || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_NORITAKE || ALPHA_MIKASA || ALPHA_RAWHIDE || ALPHA_SABLE 280 281config ALPHA_T2 282 bool 283 depends on ALPHA_SABLE 284 default y 285 286config ALPHA_PYXIS 287 bool 288 depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN 289 default y 290 291config ALPHA_EV6 292 bool 293 depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL 294 default y 295 296config ALPHA_TSUNAMI 297 bool 298 depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER 299 default y 300 301config ALPHA_EV67 302 bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER 303 default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL 304 help 305 Is this a machine based on the EV67 core? If in doubt, select N here 306 and the machine will be treated as an EV6. 307 308config ALPHA_MCPCIA 309 bool 310 depends on ALPHA_RAWHIDE 311 default y 312 313config ALPHA_POLARIS 314 bool 315 depends on ALPHA_RX164 316 default y 317 318config ALPHA_IRONGATE 319 bool 320 depends on ALPHA_NAUTILUS 321 default y 322 323config GENERIC_HWEIGHT 324 bool 325 default y if !ALPHA_EV67 326 327config ALPHA_BROKEN_IRQ_MASK 328 bool 329 depends on ALPHA_GENERIC || ALPHA_PC164 330 default y 331 332config VGA_HOSE 333 bool 334 depends on VGA_CONSOLE && (ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL || ALPHA_TSUNAMI) 335 default y 336 help 337 Support VGA on an arbitrary hose; needed for several platforms 338 which always have multiple hoses, and whose consoles support it. 339 340 341config ALPHA_QEMU 342 bool "Run under QEMU emulation" 343 depends on !ALPHA_GENERIC 344 help 345 Assume the presence of special features supported by QEMU PALcode 346 that reduce the overhead of system emulation. 347 348 Generic kernels will auto-detect QEMU. But when building a 349 system-specific kernel, the assumption is that we want to 350 eliminate as many runtime tests as possible. 351 352 If unsure, say N. 353 354 355config ALPHA_SRM 356 bool "Use SRM as bootloader" if ALPHA_PC164 || ALPHA_TAKARA || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS 357 depends on TTY 358 default y if ALPHA_MIKASA || ALPHA_SABLE || ALPHA_NORITAKE || ALPHA_DP264 || ALPHA_RAWHIDE || ALPHA_EIGER || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL 359 help 360 There are two different types of booting firmware on Alphas: SRM, 361 which is command line driven, and ARC, which uses menus and arrow 362 keys. Details about the Linux/Alpha booting process are contained in 363 the Linux/Alpha FAQ, accessible on the WWW from 364 <http://www.alphalinux.org/>. 365 366 The usual way to load Linux on an Alpha machine is to use MILO 367 (a bootloader that lets you pass command line parameters to the 368 kernel just like lilo does for the x86 architecture) which can be 369 loaded either from ARC or can be installed directly as a permanent 370 firmware replacement from floppy (which requires changing a certain 371 jumper on the motherboard). If you want to do either of these, say N 372 here. If MILO doesn't work on your system (true for Jensen 373 motherboards), you can bypass it altogether and boot Linux directly 374 from an SRM console; say Y here in order to do that. Note that you 375 won't be able to boot from an IDE disk using SRM. 376 377 If unsure, say N. 378 379config ARCH_MAY_HAVE_PC_FDC 380 def_bool y 381 382config SMP 383 bool "Symmetric multi-processing support" 384 depends on ALPHA_SABLE || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL 385 help 386 This enables support for systems with more than one CPU. If you have 387 a system with only one CPU, say N. If you have a system with more 388 than one CPU, say Y. 389 390 If you say N here, the kernel will run on uni- and multiprocessor 391 machines, but will use only one CPU of a multiprocessor machine. If 392 you say Y here, the kernel will run on many, but not all, 393 uniprocessor machines. On a uniprocessor machine, the kernel 394 will run faster if you say N here. 395 396 See also the SMP-HOWTO available at 397 <https://www.tldp.org/docs.html#howto>. 398 399 If you don't know what to do here, say N. 400 401config NR_CPUS 402 int "Maximum number of CPUs (2-32)" 403 range 2 32 404 depends on SMP 405 default "32" if ALPHA_GENERIC || ALPHA_MARVEL 406 default "4" if !ALPHA_GENERIC && !ALPHA_MARVEL 407 help 408 MARVEL support can handle a maximum of 32 CPUs, all the others 409 with working support have a maximum of 4 CPUs. 410 411config ARCH_SPARSEMEM_ENABLE 412 bool "Sparse Memory Support" 413 help 414 Say Y to support efficient handling of discontiguous physical memory, 415 for systems that have huge holes in the physical address space. 416 417config ALPHA_WTINT 418 bool "Use WTINT" if ALPHA_SRM || ALPHA_GENERIC 419 default y if ALPHA_QEMU 420 default n if ALPHA_EV56 421 default n if !ALPHA_SRM && !ALPHA_GENERIC 422 default y if SMP 423 help 424 The Wait for Interrupt (WTINT) PALcall attempts to place the CPU 425 to sleep until the next interrupt. This may reduce the power 426 consumed, and the heat produced by the computer. However, it has 427 the side effect of making the cycle counter unreliable as a timing 428 device across the sleep. 429 430 For emulation under QEMU, definitely say Y here, as we have other 431 mechanisms for measuring time than the cycle counter. 432 433 For EV4 (but not LCA), EV5 and EV56 systems, or for systems running 434 MILO, sleep mode is not supported so you might as well say N here. 435 436 For SMP systems we cannot use the cycle counter for timing anyway, 437 so you might as well say Y here. 438 439 If unsure, say N. 440 441# LARGE_VMALLOC is racy, if you *really* need it then fix it first 442config ALPHA_LARGE_VMALLOC 443 bool 444 help 445 Process creation and other aspects of virtual memory management can 446 be streamlined if we restrict the kernel to one PGD for all vmalloc 447 allocations. This equates to about 8GB. 448 449 Under normal circumstances, this is so far and above what is needed 450 as to be laughable. However, there are certain applications (such 451 as benchmark-grade in-kernel web serving) that can make use of as 452 much vmalloc space as is available. 453 454 Say N unless you know you need gobs and gobs of vmalloc space. 455 456config VERBOSE_MCHECK 457 bool "Verbose Machine Checks" 458 459config VERBOSE_MCHECK_ON 460 int "Verbose Printing Mode (0=off, 1=on, 2=all)" 461 depends on VERBOSE_MCHECK 462 default 1 463 help 464 This option allows the default printing mode to be set, and then 465 possibly overridden by a boot command argument. 466 467 For example, if one wanted the option of printing verbose 468 machine checks, but wanted the default to be as if verbose 469 machine check printing was turned off, then one would choose 470 the printing mode to be 0. Then, upon reboot, one could add 471 the boot command line "verbose_mcheck=1" to get the normal 472 verbose machine check printing, or "verbose_mcheck=2" to get 473 the maximum information available. 474 475 Take the default (1) unless you want more control or more info. 476 477choice 478 prompt "Timer interrupt frequency (HZ)?" 479 default HZ_128 if ALPHA_QEMU 480 default HZ_1200 if ALPHA_RAWHIDE 481 default HZ_1024 482 help 483 The frequency at which timer interrupts occur. A high frequency 484 minimizes latency, whereas a low frequency minimizes overhead of 485 process accounting. The later effect is especially significant 486 when being run under QEMU. 487 488 Note that some Alpha hardware cannot change the interrupt frequency 489 of the timer. If unsure, say 1024 (or 1200 for Rawhide). 490 491 config HZ_32 492 bool "32 Hz" 493 config HZ_64 494 bool "64 Hz" 495 config HZ_128 496 bool "128 Hz" 497 config HZ_256 498 bool "256 Hz" 499 config HZ_1024 500 bool "1024 Hz" 501 config HZ_1200 502 bool "1200 Hz" 503endchoice 504 505config HZ 506 int 507 default 32 if HZ_32 508 default 64 if HZ_64 509 default 128 if HZ_128 510 default 256 if HZ_256 511 default 1200 if HZ_1200 512 default 1024 513 514config SRM_ENV 515 tristate "SRM environment through procfs" 516 depends on PROC_FS 517 help 518 If you enable this option, a subdirectory inside /proc called 519 /proc/srm_environment will give you access to the all important 520 SRM environment variables (those which have a name) and also 521 to all others (by their internal number). 522 523 SRM is something like a BIOS for Alpha machines. There are some 524 other such BIOSes, like AlphaBIOS, which this driver cannot 525 support (hey, that's not SRM!). 526 527 Despite the fact that this driver doesn't work on all Alphas (but 528 only on those which have SRM as their firmware), it's save to 529 build it even if your particular machine doesn't know about SRM 530 (or if you intend to compile a generic kernel). It will simply 531 not create those subdirectory in /proc (and give you some warning, 532 of course). 533 534 This driver is also available as a module and will be called 535 srm_env then. 536 537endmenu 538 539# DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig 540# but we also need it if VGA_HOSE is set 541config DUMMY_CONSOLE 542 bool 543 depends on VGA_HOSE 544 default y 545