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