blob: 5e7a44e6110f87b18f199182b5f1f532bdf861f3 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002config ALPHA
3 bool
4 default y
Mark Salter1571ed02013-10-07 19:51:52 -04005 select ARCH_MIGHT_HAVE_PC_PARPORT
Mark Salter77b2d072014-01-01 11:27:31 -08006 select ARCH_MIGHT_HAVE_PC_SERIO
Christoph Hellwig87a4c372018-07-31 13:39:32 +02007 select ARCH_NO_PREEMPT
Matt Turner8f8dcb32015-08-04 14:35:05 -07008 select ARCH_USE_CMPXCHG_LOCKREF
Christoph Hellwigeb01d422018-11-15 20:05:32 +01009 select FORCE_PCI if !ALPHA_JENSEN
Christoph Hellwig2eac9c22018-11-15 20:05:33 +010010 select PCI_DOMAINS if PCI
Christoph Hellwig20f1b792018-11-15 20:05:34 +010011 select PCI_SYSCALL if PCI
David Woodhousee17c6d52008-06-17 12:19:34 +010012 select HAVE_AOUT
Sam Ravnborgec7748b2008-02-09 10:46:40 +010013 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050014 select HAVE_OPROFILE
Ralf Baechle8761f1a2011-06-01 19:05:09 +010015 select HAVE_PCSPKR_PLATFORM
Michael Creea582e6f2009-12-08 14:27:01 -050016 select HAVE_PERF_EVENTS
Christoph Hellwigf616ab52018-05-09 06:53:49 +020017 select NEED_DMA_MAP_STATE
Christoph Hellwig86596f02018-04-05 09:44:52 +020018 select NEED_SG_DMA_LENGTH
Stephen Rothwell4febd952013-03-07 15:48:16 +110019 select VIRT_TO_BUS
Thomas Gleixnere27ec642011-01-19 20:27:11 +010020 select GENERIC_IRQ_PROBE
Christoph Hellwigeb01d422018-11-15 20:05:32 +010021 select GENERIC_PCI_IOMAP if PCI
Thomas Gleixnere27ec642011-01-19 20:27:11 +010022 select AUTO_IRQ_AFFINITY if SMP
Thomas Gleixnera6e120e2011-03-25 22:20:51 +010023 select GENERIC_IRQ_SHOW
Will Deaconc1d7e012012-07-30 14:42:46 -070024 select ARCH_WANT_IPC_PARSE_VERSION
Huang Yingdf013ff2011-07-13 13:14:22 +080025 select ARCH_HAVE_NMI_SAFE_CMPXCHG
蔡正龙a9302e82013-12-20 10:04:10 +080026 select AUDIT_ARCH
Richard Hendersona1659d62013-07-14 10:57:34 -070027 select GENERIC_CLOCKEVENTS
Michael Cree6fd16ce2018-02-26 22:02:12 +130028 select GENERIC_CPU_VULNERABILITIES
Thomas Gleixner2ec94152012-04-20 13:05:55 +000029 select GENERIC_SMP_IDLE_THREAD
Michael Creef2db6332012-08-19 14:40:58 +120030 select GENERIC_STRNCPY_FROM_USER
31 select GENERIC_STRNLEN_USER
AKASHI Takahiro7a017722014-02-25 18:16:24 +090032 select HAVE_ARCH_AUDITSYSCALL
David Howells786d35d2012-09-28 14:31:03 +093033 select HAVE_MOD_ARCH_SPECIFIC
34 select MODULES_USE_ELF_RELA
Al Viroeaca6ea2012-11-25 23:12:10 -050035 select ODD_RT_SIGACTION
Al Viro302627e2012-12-25 16:30:23 -050036 select OLD_SIGSUSPEND
Zhaoxiu Zengfff7fb02016-05-20 17:03:57 -070037 select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
Linus Torvalds1da177e2005-04-16 15:20:36 -070038 help
39 The Alpha is a 64-bit general-purpose processor designed and
40 marketed by the Digital Equipment Corporation of blessed memory,
41 now Hewlett-Packard. The Alpha Linux project has a home page at
42 <http://www.alphalinux.org/>.
43
44config 64BIT
45 def_bool y
46
47config MMU
48 bool
49 default y
50
Linus Torvalds1da177e2005-04-16 15:20:36 -070051config RWSEM_GENERIC_SPINLOCK
52 bool
53
54config RWSEM_XCHGADD_ALGORITHM
55 bool
56 default y
57
David Howellsf0d1b0b2006-12-08 02:37:49 -080058config ARCH_HAS_ILOG2_U32
59 bool
60 default n
61
62config ARCH_HAS_ILOG2_U64
63 bool
64 default n
65
Linus Torvalds1da177e2005-04-16 15:20:36 -070066config GENERIC_CALIBRATE_DELAY
67 bool
68 default y
69
Christoph Lameter5ac6da62007-02-10 01:43:14 -080070config ZONE_DMA
71 bool
72 default y
73
Linus Torvalds1da177e2005-04-16 15:20:36 -070074config GENERIC_ISA_DMA
75 bool
76 default y
77
Kirill A. Shutemovf5d45472015-04-14 15:45:36 -070078config PGTABLE_LEVELS
79 int
80 default 3
81
蔡正龙a9302e82013-12-20 10:04:10 +080082config AUDIT_ARCH
83 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -070084
85menu "System setup"
86
87choice
88 prompt "Alpha system type"
89 default ALPHA_GENERIC
90 ---help---
91 This is the system type of your hardware. A "generic" kernel will
92 run on any supported Alpha system. However, if you configure a
93 kernel for your specific system, it will be faster and smaller.
94
95 To find out what type of Alpha system you have, you may want to
96 check out the Linux/Alpha FAQ, accessible on the WWW from
97 <http://www.alphalinux.org/>. In summary:
98
Jay Estabrookd7083172007-06-01 00:47:05 -070099 Alcor/Alpha-XLT AS 600, AS 500, XL-300, XL-366
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100 Alpha-XL XL-233, XL-266
101 AlphaBook1 Alpha laptop
102 Avanti AS 200, AS 205, AS 250, AS 255, AS 300, AS 400
103 Cabriolet AlphaPC64, AlphaPCI64
Jay Estabrookd7083172007-06-01 00:47:05 -0700104 DP264 DP264 / DS20 / ES40 / DS10 / DS10L
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 EB164 EB164 21164 evaluation board
106 EB64+ EB64+ 21064 evaluation board
107 EB66 EB66 21066 evaluation board
108 EB66+ EB66+ 21066 evaluation board
Jay Estabrookd7083172007-06-01 00:47:05 -0700109 Jensen DECpc 150, DEC 2000 models 300, 500
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110 LX164 AlphaPC164-LX
111 Lynx AS 2100A
Jay Estabrookd7083172007-06-01 00:47:05 -0700112 Miata Personal Workstation 433/500/600 a/au
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 Marvel AlphaServer ES47 / ES80 / GS1280
114 Mikasa AS 1000
115 Noname AXPpci33, UDB (Multia)
116 Noritake AS 1000A, AS 600A, AS 800
117 PC164 AlphaPC164
118 Rawhide AS 1200, AS 4000, AS 4100
119 Ruffian RPX164-2, AlphaPC164-UX, AlphaPC164-BX
120 SX164 AlphaPC164-SX
121 Sable AS 2000, AS 2100
Jay Estabrookd7083172007-06-01 00:47:05 -0700122 Shark DS 20L
123 Takara Takara (OEM)
124 Titan AlphaServer ES45 / DS25 / DS15
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125 Wildfire AlphaServer GS 40/80/160/320
126
127 If you don't know what to do, choose "generic".
128
129config ALPHA_GENERIC
130 bool "Generic"
Joe Millenbach4f73bc42013-01-17 22:44:22 -0800131 depends on TTY
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100132 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700133 help
134 A generic kernel will run on all supported Alpha hardware.
135
136config ALPHA_ALCOR
137 bool "Alcor/Alpha-XLT"
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100138 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139 help
140 For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data
141 slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O
142 Address, CIA) - a 383 pin plastic PGA). It provides a DRAM
143 controller (256-bit memory bus) and a PCI interface. It also does
144 all the work required to support an external Bcache and to maintain
145 memory coherence when a PCI device DMAs into (or out of) memory.
146
147config ALPHA_XL
148 bool "Alpha-XL"
149 help
150 XL-233 and XL-266-based Alpha systems.
151
152config ALPHA_BOOK1
153 bool "AlphaBook1"
154 help
155 Dec AlphaBook1/Burns Alpha-based laptops.
156
157config ALPHA_AVANTI_CH
158 bool "Avanti"
159
160config ALPHA_CABRIOLET
161 bool "Cabriolet"
162 help
163 Cabriolet AlphaPC64, AlphaPCI64 systems. Derived from EB64+ but now
164 baby-AT with Flash boot ROM, no on-board SCSI or Ethernet. 3 ISA
165 slots, 4 PCI slots (one pair are on a shared slot), uses plug-in
166 Bcache SIMMs. Requires power supply with 3.3V output.
167
168config ALPHA_DP264
169 bool "DP264"
170 help
171 Various 21264 systems with the tsunami core logic chipset.
172 API Networks: 264DP, UP2000(+), CS20;
173 Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40.
174
175config ALPHA_EB164
176 bool "EB164"
177 help
178 EB164 21164 evaluation board from DEC. Uses 21164 and ALCOR. Has
179 ISA and PCI expansion (3 ISA slots, 2 64-bit PCI slots (one is
180 shared with an ISA slot) and 2 32-bit PCI slots. Uses plus-in
181 Bcache SIMMs. I/O sub-system provides SuperI/O (2S, 1P, FD), KBD,
182 MOUSE (PS2 style), RTC/NVRAM. Boot ROM is Flash. PC-AT-sized
183 motherboard. Requires power supply with 3.3V output.
184
185config ALPHA_EB64P_CH
186 bool "EB64+"
187
188config ALPHA_EB66
189 bool "EB66"
190 help
191 A Digital DS group board. Uses 21066 or 21066A. I/O sub-system is
192 identical to EB64+. Baby PC-AT size. Runs from standard PC power
193 supply. The EB66 schematic was published as a marketing poster
194 advertising the 21066 as "the first microprocessor in the world with
195 embedded PCI".
196
197config ALPHA_EB66P
198 bool "EB66+"
199 help
200 Later variant of the EB66 board.
201
202config ALPHA_EIGER
203 bool "Eiger"
204 help
205 Apparently an obscure OEM single-board computer based on the
206 Typhoon/Tsunami chipset family. Information on it is scanty.
207
208config ALPHA_JENSEN
209 bool "Jensen"
Christoph Hellwig1883c9f2017-12-22 10:42:06 +0100210 depends on BROKEN
Christoph Hellwig6db61542018-05-09 16:04:51 +0200211 select DMA_DIRECT_OPS
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100212 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213 help
214 DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
215 of the first-generation Alpha systems. A number of these systems
216 seem to be available on the second- hand market. The Jensen is a
217 floor-standing tower system which originally used a 150MHz 21064 It
218 used programmable logic to interface a 486 EISA I/O bridge to the
219 CPU.
220
221config ALPHA_LX164
222 bool "LX164"
223 help
224 A technical overview of this board is available at
225 <http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html>.
226
227config ALPHA_LYNX
228 bool "Lynx"
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100229 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230 help
231 AlphaServer 2100A-based systems.
232
233config ALPHA_MARVEL
234 bool "Marvel"
235 help
236 AlphaServer ES47 / ES80 / GS1280 based on EV7.
237
238config ALPHA_MIATA
239 bool "Miata"
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100240 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700241 help
242 The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a,
Adrian Bunkffc32d62008-10-15 22:01:19 -0700243 or 600au).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244
245config ALPHA_MIKASA
246 bool "Mikasa"
247 help
248 AlphaServer 1000-based Alpha systems.
249
250config ALPHA_NAUTILUS
251 bool "Nautilus"
252 help
253 Alpha systems based on the AMD 751 & ALI 1543C chipsets.
254
255config ALPHA_NONAME_CH
256 bool "Noname"
257
258config ALPHA_NORITAKE
259 bool "Noritake"
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100260 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700261 help
262 AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based
263 systems.
264
265config ALPHA_PC164
266 bool "PC164"
267
268config ALPHA_P2K
269 bool "Platform2000"
270
271config ALPHA_RAWHIDE
272 bool "Rawhide"
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100273 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274 help
275 AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines.
276 See HOWTO at
277 <http://www.alphalinux.org/docs/rawhide/4100_install.shtml>.
278
279config ALPHA_RUFFIAN
280 bool "Ruffian"
281 help
282 Samsung APC164UX. There is a page on known problems and workarounds
283 at <http://www.alphalinux.org/faq/FAQ-11.html>.
284
285config ALPHA_RX164
286 bool "RX164"
287
288config ALPHA_SX164
289 bool "SX164"
290
291config ALPHA_SABLE
292 bool "Sable"
Christoph Hellwig6630a8e2018-11-15 20:05:37 +0100293 select HAVE_EISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700294 help
295 Digital AlphaServer 2000 and 2100-based systems.
296
297config ALPHA_SHARK
298 bool "Shark"
299
300config ALPHA_TAKARA
301 bool "Takara"
302 help
303 Alpha 11164-based OEM single-board computer.
304
305config ALPHA_TITAN
306 bool "Titan"
307 help
308 AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset.
309
310config ALPHA_WILDFIRE
311 bool "Wildfire"
312 help
313 AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
314
315endchoice
316
317# clear all implied options (don't want default values for those):
318# Most of these machines have ISA slots; not exactly sure which don't,
319# and this doesn't activate hordes of code, so do it always.
320config ISA
321 bool
322 default y
323 help
324 Find out whether you have ISA slots on your motherboard. ISA is the
325 name of a bus system, i.e. the way the CPU talks to the other stuff
326 inside your box. Other bus systems are PCI, EISA, MicroChannel
327 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
328 newer boards don't support it. If you have ISA, say Y, otherwise N.
329
Al Viro5cae8412005-05-04 05:39:22 +0100330config ISA_DMA_API
331 bool
332 default y
333
Linus Torvalds1da177e2005-04-16 15:20:36 -0700334config ALPHA_NONAME
335 bool
336 depends on ALPHA_BOOK1 || ALPHA_NONAME_CH
337 default y
338 help
339 The AXPpci33 (aka NoName), is based on the EB66 (includes the Multia
340 UDB). This design was produced by Digital's Technical OEM (TOEM)
341 group. It uses the 21066 processor running at 166MHz or 233MHz. It
342 is a baby-AT size, and runs from a standard PC power supply. It has
343 5 ISA slots and 3 PCI slots (one pair are a shared slot). There are
344 2 versions, with either PS/2 or large DIN connectors for the
345 keyboard.
346
347config ALPHA_EV4
348 bool
349 depends on ALPHA_JENSEN || (ALPHA_SABLE && !ALPHA_GAMMA) || ALPHA_LYNX || ALPHA_NORITAKE && !ALPHA_PRIMO || ALPHA_MIKASA && !ALPHA_PRIMO || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL || ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
350 default y if !ALPHA_LYNX
351
352config ALPHA_LCA
353 bool
354 depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
355 default y
356
357config ALPHA_APECS
358 bool
359 depends on !ALPHA_PRIMO && (ALPHA_NORITAKE || ALPHA_MIKASA) || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL
360 default y
361
362config ALPHA_EB64P
363 bool
364 depends on ALPHA_CABRIOLET || ALPHA_EB64P_CH
365 default y
366 help
367 Uses 21064 or 21064A and APECs. Has ISA and PCI expansion (3 ISA,
368 2 PCI, one pair are on a shared slot). Supports 36-bit DRAM SIMs.
369 ISA bus generated by Intel SaturnI/O PCI-ISA bridge. On-board SCSI
370 (NCR 810 on PCI) Ethernet (Digital 21040), KBD, MOUSE (PS2 style),
371 SuperI/O (2S, 1P, FD), RTC/NVRAM. Boot ROM is EPROM. PC-AT size.
372 Runs from standard PC power supply.
373
374config ALPHA_EV5
375 bool "EV5 CPU(s) (model 5/xxx)?" if ALPHA_LYNX
376 default y if ALPHA_RX164 || ALPHA_RAWHIDE || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_SABLE && ALPHA_GAMMA || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR
377
378config ALPHA_EV4
379 bool
380 default y if ALPHA_LYNX && !ALPHA_EV5
381
382config ALPHA_CIA
383 bool
384 depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR
385 default y
386
387config ALPHA_EV56
388 bool "EV56 CPU (speed >= 366MHz)?" if ALPHA_ALCOR
389 default y if ALPHA_RX164 || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_PC164 || ALPHA_TAKARA
390
391config ALPHA_EV56
392 prompt "EV56 CPU (speed >= 333MHz)?"
Fernando J. Pereda060ec3d2006-09-25 23:32:37 -0700393 depends on ALPHA_NORITAKE || ALPHA_PRIMO
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394
395config ALPHA_EV56
396 prompt "EV56 CPU (speed >= 400MHz)?"
397 depends on ALPHA_RAWHIDE
398
399config ALPHA_PRIMO
400 bool "EV5 CPU daughtercard (model 5/xxx)?"
401 depends on ALPHA_NORITAKE || ALPHA_MIKASA
402 help
403 Say Y if you have an AS 1000 5/xxx or an AS 1000A 5/xxx.
404
405config ALPHA_GAMMA
406 bool "EV5 CPU(s) (model 5/xxx)?"
407 depends on ALPHA_SABLE
408 help
409 Say Y if you have an AS 2000 5/xxx or an AS 2100 5/xxx.
410
411config ALPHA_GAMMA
412 bool
413 depends on ALPHA_LYNX
414 default y
415
416config ALPHA_T2
417 bool
418 depends on ALPHA_SABLE || ALPHA_LYNX
419 default y
420
421config ALPHA_PYXIS
422 bool
423 depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
424 default y
425
426config ALPHA_EV6
427 bool
428 depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL
429 default y
430
431config ALPHA_TSUNAMI
432 bool
433 depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
434 default y
435
436config ALPHA_EV67
437 bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER
438 default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
439 help
440 Is this a machine based on the EV67 core? If in doubt, select N here
441 and the machine will be treated as an EV6.
442
Linus Torvalds1da177e2005-04-16 15:20:36 -0700443config ALPHA_MCPCIA
444 bool
445 depends on ALPHA_RAWHIDE
446 default y
447
448config ALPHA_POLARIS
449 bool
450 depends on ALPHA_RX164
451 default y
452
453config ALPHA_IRONGATE
454 bool
455 depends on ALPHA_NAUTILUS
456 default y
457
Akinobu Mitaf7c29672006-03-26 01:39:18 -0800458config GENERIC_HWEIGHT
459 bool
Randy Dunlap5e625b02006-06-12 15:13:40 -0700460 default y if !ALPHA_EV67
Akinobu Mitaf7c29672006-03-26 01:39:18 -0800461
Linus Torvalds1da177e2005-04-16 15:20:36 -0700462config ALPHA_AVANTI
463 bool
464 depends on ALPHA_XL || ALPHA_AVANTI_CH
465 default y
466 help
467 Avanti AS 200, AS 205, AS 250, AS 255, AS 300, and AS 400-based
468 Alphas. Info at
469 <http://www.unix-ag.org/Linux-Alpha/Architectures/Avanti.html>.
470
471config ALPHA_BROKEN_IRQ_MASK
472 bool
473 depends on ALPHA_GENERIC || ALPHA_PC164
474 default y
475
Jay Estabrook025a2212007-06-01 00:47:03 -0700476config VGA_HOSE
477 bool
Matt Turnerdd7f1fe2012-05-01 21:28:59 -0400478 depends on VGA_CONSOLE && (ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL || ALPHA_TSUNAMI)
Jay Estabrook025a2212007-06-01 00:47:03 -0700479 default y
480 help
481 Support VGA on an arbitrary hose; needed for several platforms
482 which always have multiple hoses, and whose consoles support it.
483
484
Richard Henderson994dcf72011-04-28 07:29:27 -0700485config ALPHA_QEMU
486 bool "Run under QEMU emulation"
487 depends on !ALPHA_GENERIC
488 ---help---
489 Assume the presence of special features supported by QEMU PALcode
490 that reduce the overhead of system emulation.
491
492 Generic kernels will auto-detect QEMU. But when building a
493 system-specific kernel, the assumption is that we want to
Masanari Iida83fc61a2017-09-26 12:47:59 +0900494 eliminate as many runtime tests as possible.
Richard Henderson994dcf72011-04-28 07:29:27 -0700495
496 If unsure, say N.
497
498
Linus Torvalds1da177e2005-04-16 15:20:36 -0700499config ALPHA_SRM
500 bool "Use SRM as bootloader" if ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS || ALPHA_NONAME
Joe Millenbach4f73bc42013-01-17 22:44:22 -0800501 depends on TTY
Linus Torvalds1da177e2005-04-16 15:20:36 -0700502 default y if ALPHA_JENSEN || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_DP264 || ALPHA_RAWHIDE || ALPHA_EIGER || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
503 ---help---
504 There are two different types of booting firmware on Alphas: SRM,
505 which is command line driven, and ARC, which uses menus and arrow
506 keys. Details about the Linux/Alpha booting process are contained in
507 the Linux/Alpha FAQ, accessible on the WWW from
508 <http://www.alphalinux.org/>.
509
510 The usual way to load Linux on an Alpha machine is to use MILO
511 (a bootloader that lets you pass command line parameters to the
512 kernel just like lilo does for the x86 architecture) which can be
513 loaded either from ARC or can be installed directly as a permanent
514 firmware replacement from floppy (which requires changing a certain
515 jumper on the motherboard). If you want to do either of these, say N
516 here. If MILO doesn't work on your system (true for Jensen
517 motherboards), you can bypass it altogether and boot Linux directly
518 from an SRM console; say Y here in order to do that. Note that you
519 won't be able to boot from an IDE disk using SRM.
520
521 If unsure, say N.
522
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +0100523config ARCH_MAY_HAVE_PC_FDC
524 def_bool y
525
Linus Torvalds1da177e2005-04-16 15:20:36 -0700526config SMP
527 bool "Symmetric multi-processing support"
528 depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL
529 ---help---
530 This enables support for systems with more than one CPU. If you have
Robert Graffham4a474152014-01-23 15:55:29 -0800531 a system with only one CPU, say N. If you have a system with more
532 than one CPU, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700533
Robert Graffham4a474152014-01-23 15:55:29 -0800534 If you say N here, the kernel will run on uni- and multiprocessor
Linus Torvalds1da177e2005-04-16 15:20:36 -0700535 machines, but will use only one CPU of a multiprocessor machine. If
536 you say Y here, the kernel will run on many, but not all,
Robert Graffham4a474152014-01-23 15:55:29 -0800537 uniprocessor machines. On a uniprocessor machine, the kernel
Linus Torvalds1da177e2005-04-16 15:20:36 -0700538 will run faster if you say N here.
539
Adrian Bunk03502fa2008-02-03 15:50:21 +0200540 See also the SMP-HOWTO available at
541 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542
543 If you don't know what to do here, say N.
544
Linus Torvalds1da177e2005-04-16 15:20:36 -0700545config NR_CPUS
Jay Estabrookd7083172007-06-01 00:47:05 -0700546 int "Maximum number of CPUs (2-32)"
547 range 2 32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700548 depends on SMP
Jay Estabrookd7083172007-06-01 00:47:05 -0700549 default "32" if ALPHA_GENERIC || ALPHA_MARVEL
550 default "4" if !ALPHA_GENERIC && !ALPHA_MARVEL
551 help
552 MARVEL support can handle a maximum of 32 CPUs, all the others
553 with working support have a maximum of 4 CPUs.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700554
Dave Hansen3f22ab22005-06-23 00:07:43 -0700555config ARCH_DISCONTIGMEM_ENABLE
Kees Cook88d11bb2012-10-02 11:16:25 -0700556 bool "Discontiguous Memory Support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700557 help
Matt LaPlantefc31e832006-10-03 22:23:47 +0200558 Say Y to support efficient handling of discontiguous physical memory,
Linus Torvalds1da177e2005-04-16 15:20:36 -0700559 for architectures which are either NUMA (Non-Uniform Memory Access)
560 or have huge holes in the physical address space for other reasons.
Mike Rapoportad56b732018-03-21 21:22:47 +0200561 See <file:Documentation/vm/numa.rst> for more.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700562
Linus Torvalds1da177e2005-04-16 15:20:36 -0700563config NUMA
564 bool "NUMA Support (EXPERIMENTAL)"
Al Viro6df7c992005-08-23 22:44:50 +0100565 depends on DISCONTIGMEM && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700566 help
567 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
568 Access). This option is for configuring high-end multiprocessor
569 server machines. If in doubt, say N.
570
Richard Henderson7f3bbb82013-07-12 09:36:21 -0700571config ALPHA_WTINT
572 bool "Use WTINT" if ALPHA_SRM || ALPHA_GENERIC
573 default y if ALPHA_QEMU
574 default n if ALPHA_EV5 || ALPHA_EV56 || (ALPHA_EV4 && !ALPHA_LCA)
575 default n if !ALPHA_SRM && !ALPHA_GENERIC
576 default y if SMP
577 ---help---
578 The Wait for Interrupt (WTINT) PALcall attempts to place the CPU
579 to sleep until the next interrupt. This may reduce the power
580 consumed, and the heat produced by the computer. However, it has
581 the side effect of making the cycle counter unreliable as a timing
582 device across the sleep.
583
584 For emulation under QEMU, definitely say Y here, as we have other
585 mechanisms for measuring time than the cycle counter.
586
587 For EV4 (but not LCA), EV5 and EV56 systems, or for systems running
588 MILO, sleep mode is not supported so you might as well say N here.
589
590 For SMP systems we cannot use the cycle counter for timing anyway,
591 so you might as well say Y here.
592
593 If unsure, say N.
594
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700595config NODES_SHIFT
596 int
597 default "7"
598 depends on NEED_MULTIPLE_NODES
599
Linus Torvalds1da177e2005-04-16 15:20:36 -0700600# LARGE_VMALLOC is racy, if you *really* need it then fix it first
601config ALPHA_LARGE_VMALLOC
602 bool
603 ---help---
604 Process creation and other aspects of virtual memory management can
605 be streamlined if we restrict the kernel to one PGD for all vmalloc
606 allocations. This equates to about 8GB.
607
608 Under normal circumstances, this is so far and above what is needed
609 as to be laughable. However, there are certain applications (such
610 as benchmark-grade in-kernel web serving) that can make use of as
611 much vmalloc space as is available.
612
613 Say N unless you know you need gobs and gobs of vmalloc space.
614
615config VERBOSE_MCHECK
616 bool "Verbose Machine Checks"
617
618config VERBOSE_MCHECK_ON
619 int "Verbose Printing Mode (0=off, 1=on, 2=all)"
620 depends on VERBOSE_MCHECK
621 default 1
622 ---help---
623 This option allows the default printing mode to be set, and then
624 possibly overridden by a boot command argument.
625
626 For example, if one wanted the option of printing verbose
627 machine checks, but wanted the default to be as if verbose
628 machine check printing was turned off, then one would choose
629 the printing mode to be 0. Then, upon reboot, one could add
630 the boot command line "verbose_mcheck=1" to get the normal
631 verbose machine check printing, or "verbose_mcheck=2" to get
632 the maximum information available.
633
634 Take the default (1) unless you want more control or more info.
635
Richard Hendersonfddd87d2013-07-12 16:15:56 -0700636choice
637 prompt "Timer interrupt frequency (HZ)?"
638 default HZ_128 if ALPHA_QEMU
639 default HZ_1200 if ALPHA_RAWHIDE
640 default HZ_1024
641 ---help---
642 The frequency at which timer interrupts occur. A high frequency
643 minimizes latency, whereas a low frequency minimizes overhead of
644 process accounting. The later effect is especially significant
645 when being run under QEMU.
646
647 Note that some Alpha hardware cannot change the interrupt frequency
648 of the timer. If unsure, say 1024 (or 1200 for Rawhide).
649
650 config HZ_32
651 bool "32 Hz"
652 config HZ_64
653 bool "64 Hz"
654 config HZ_128
655 bool "128 Hz"
656 config HZ_256
657 bool "256 Hz"
658 config HZ_1024
659 bool "1024 Hz"
660 config HZ_1200
661 bool "1200 Hz"
662endchoice
663
H. Peter Anvinbdc80782008-02-08 04:21:26 -0800664config HZ
Richard Hendersonfddd87d2013-07-12 16:15:56 -0700665 int
666 default 32 if HZ_32
667 default 64 if HZ_64
668 default 128 if HZ_128
669 default 256 if HZ_256
670 default 1200 if HZ_1200
H. Peter Anvinbdc80782008-02-08 04:21:26 -0800671 default 1024
672
Linus Torvalds1da177e2005-04-16 15:20:36 -0700673config SRM_ENV
674 tristate "SRM environment through procfs"
675 depends on PROC_FS
676 ---help---
677 If you enable this option, a subdirectory inside /proc called
678 /proc/srm_environment will give you access to the all important
679 SRM environment variables (those which have a name) and also
680 to all others (by their internal number).
681
682 SRM is something like a BIOS for Alpha machines. There are some
683 other such BIOSes, like AlphaBIOS, which this driver cannot
684 support (hey, that's not SRM!).
685
686 Despite the fact that this driver doesn't work on all Alphas (but
687 only on those which have SRM as their firmware), it's save to
688 build it even if your particular machine doesn't know about SRM
689 (or if you intend to compile a generic kernel). It will simply
690 not create those subdirectory in /proc (and give you some warning,
691 of course).
692
693 This driver is also available as a module and will be called
694 srm_env then.
695
Linus Torvalds1da177e2005-04-16 15:20:36 -0700696endmenu
697
Jay Estabrook025a2212007-06-01 00:47:03 -0700698# DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig
699# but we also need it if VGA_HOSE is set
700config DUMMY_CONSOLE
701 bool
702 depends on VGA_HOSE
703 default y