1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
|
# SPDX-License-Identifier: GPL-2.0
config ALPHA
bool
default y
select GENERIC_ENTRY
select HAVE_SYSCALL_TRACEPOINTS
select ARCH_32BIT_USTAT_F_TINODE
select ARCH_HAS_CURRENT_STACK_POINTER
select ARCH_HAS_DEBUG_VM_PGTABLE
select ARCH_HAS_DMA_OPS if PCI
select ARCH_HAS_FAST_MULTIPLIER
select ARCH_HAS_GCOV_PROFILE_ALL
select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
select ARCH_HAS_PTE_SPECIAL
select ARCH_HAS_UBSAN
select ARCH_MIGHT_HAVE_PC_PARPORT
select ARCH_MIGHT_HAVE_PC_SERIO
select ARCH_MODULE_NEEDS_WEAK_PER_CPU if SMP
select ARCH_NO_PREEMPT
select ARCH_NO_SG_CHAIN
select ARCH_SUPPORTS_ATOMIC_RMW
select ARCH_SUPPORTS_HUGETLBFS
select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
select ARCH_SUPPORTS_PAGE_TABLE_CHECK
select ARCH_USE_CMPXCHG_LOCKREF
select ARCH_USE_MEMTEST
select FORCE_PCI
select PCI_DOMAINS if PCI
select PCI_SYSCALL if PCI
select HAVE_ARCH_COMPILER_H
select HAVE_ASM_MODVERSIONS
select HAVE_DEBUG_KMEMLEAK
select HAVE_GUP_FAST
select HAVE_KERNEL_BZIP2
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZ4
select HAVE_KERNEL_LZMA
select HAVE_KERNEL_LZO
select HAVE_KERNEL_XZ
select HAVE_KERNEL_ZSTD
select HAVE_PAGE_SIZE_8KB
select HAVE_PCSPKR_PLATFORM
select HAVE_PERF_EVENTS
select HAVE_PERF_REGS
select HAVE_PERF_USER_STACK_DUMP
select NEED_DMA_MAP_STATE
select NEED_SG_DMA_LENGTH
select GENERIC_IRQ_PROBE
select GENERIC_PCI_IOMAP
select AUTO_IRQ_AFFINITY if SMP
select GENERIC_IRQ_SHOW
select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
select ARCH_WANT_IPC_PARSE_VERSION
select ARCH_WANT_LD_ORPHAN_WARN
select ARCH_HAVE_NMI_SAFE_CMPXCHG
select AUDIT_ARCH
select EDAC_SUPPORT
select GENERIC_CPU_VULNERABILITIES
select GENERIC_SMP_IDLE_THREAD
select HAS_IOPORT
select HAVE_ARCH_AUDITSYSCALL
select HAVE_ARCH_SECCOMP
select HAVE_ARCH_SECCOMP_FILTER
select HAVE_ARCH_THREAD_STRUCT_WHITELIST
select HAVE_ARCH_TRACEHOOK
select HAVE_MOD_ARCH_SPECIFIC
select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select ODD_RT_SIGACTION
select OLD_SIGSUSPEND
select ARCH_STACKWALK
select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
select MMU_GATHER_NO_RANGE
select SPARSE_IRQ
select SPARSEMEM_EXTREME if SPARSEMEM
select SYSCTL_EXCEPTION_TRACE
select ZONE_DMA
select TRACE_IRQFLAGS_SUPPORT
select ARCH_WANT_FRAME_POINTERS
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
now Hewlett-Packard. The Alpha Linux project has a home page at
<http://www.alphalinux.org/>.
config 64BIT
def_bool y
config MMU
bool
default y
config ARCH_HAS_ILOG2_U32
bool
default n
config ARCH_HAS_ILOG2_U64
bool
default n
config GENERIC_CALIBRATE_DELAY
bool
default y
config GENERIC_ISA_DMA
bool
default y
config PGTABLE_LEVELS
int
default 3
config AUDIT_ARCH
bool
config STACKTRACE_SUPPORT
def_bool y
config LOCKDEP_SUPPORT
def_bool y
menu "System setup"
choice
prompt "Alpha system type"
default ALPHA_GENERIC
help
This is the system type of your hardware. A "generic" kernel will
run on any supported Alpha system. However, if you configure a
kernel for your specific system, it will be faster and smaller.
Only EV56 (21164A) and later CPUs are supported.
To find out what type of Alpha system you have, see the system and
motherboard lists at
<https://alphalinux.org/wiki/hardware:systems> and
<https://alphalinux.org/wiki/hardware:motherboards>. In summary:
Alcor/Alpha-XLT AlphaStation 500, Alpha XL 366, 433
DP264 DP264, UP2000(+), DS10, DS10L, DS20, DS20E,
ES40, XP900, XP1000
Eiger Eiger (OEM)
LX164 AlphaPC164-LX
Marvel AlphaServer ES47, ES80, GS1280
Miata Personal Workstation 433/500/600 a/au
Mikasa AlphaServer 1000
Nautilus UP1000, UP1100, UP1500
Noritake AlphaServer 1000A, 800, AlphaStation 600A,
Digital Server 3300
PC164 AlphaPC164
Rawhide AlphaServer 1200, 4000, 4100,
Digital Server 5300, 7300
Ruffian RPX164-2, AlphaPC164-UX, AlphaPC164-BX
RX164 AlphaPC164-RX
SX164 AlphaPC164-SX
Sable AlphaServer 2000, 2100
Shark AlphaServer DS20L, API NetWorks CS20
Takara Takara (OEM)
Titan AlphaServer DS15, DS25, ES45, TS202c
Wildfire AlphaServer GS80, GS160, GS320
If you don't know what to do, choose "generic".
config ALPHA_GENERIC
bool "Generic"
depends on TTY
select HAVE_EISA
help
A generic kernel will run on all supported Alpha hardware.
config ALPHA_ALCOR
bool "Alcor/Alpha-XLT"
select HAVE_EISA
help
For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data
slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O
Address, CIA) - a 383 pin plastic PGA). It provides a DRAM
controller (256-bit memory bus) and a PCI interface. It also does
all the work required to support an external Bcache and to maintain
memory coherence when a PCI device DMAs into (or out of) memory.
It is used by the AlphaStation 500 and the Alpha XL 366 and 433.
See <https://alphalinux.org/wiki/hardware:systems:alcor>.
config ALPHA_DP264
bool "DP264"
help
Various 21264 systems with the tsunami core logic chipset.
API NetWorks: 264DP, UP2000(+);
Compaq: DS10, DS10L, XP900, XP1000, DS20, DS20E, ES40.
See:
<https://alphalinux.org/wiki/hardware:systems:webbrick>
<https://alphalinux.org/wiki/hardware:systems:goldrush>
<https://alphalinux.org/wiki/hardware:systems:clipper>
<https://alphalinux.org/wiki/hardware:systems:monet>
<https://alphalinux.org/wiki/hardware:motherboards:pc264dp>
<https://alphalinux.org/wiki/hardware:motherboards:up2000>
config ALPHA_EIGER
bool "Eiger"
help
Apparently an obscure OEM single-board computer based on the
Typhoon/Tsunami chipset family. Information on it is scanty.
See <https://alphalinux.org/wiki/hardware:motherboards:eiger>.
config ALPHA_LX164
bool "LX164"
help
AlphaPC164-LX, a 21164A-based single-board computer using the
Pyxis chipset.
See <https://alphalinux.org/wiki/hardware:motherboards:pc164lx>.
config ALPHA_MARVEL
bool "Marvel"
help
AlphaServer ES47 / ES80 / GS1280 based on EV7.
See <https://alphalinux.org/wiki/hardware:systems:marvel>.
config ALPHA_MIATA
bool "Miata"
select HAVE_EISA
help
The Digital Personal Workstation (PWS 433a, 433au, 500a, 500au,
600a, or 600au).
See <https://alphalinux.org/wiki/hardware:systems:miata>.
config ALPHA_MIKASA
bool "Mikasa"
help
AlphaServer 1000-based Alpha systems.
See <https://alphalinux.org/wiki/hardware:systems:mikasa>.
config ALPHA_NAUTILUS
bool "Nautilus"
help
UP1000, UP1100 and UP1500 systems based on the AMD 751 or 761
chipset.
See:
<https://alphalinux.org/wiki/hardware:motherboards:up1000>
<https://alphalinux.org/wiki/hardware:motherboards:up1100>
<https://alphalinux.org/wiki/hardware:motherboards:up1500>
config ALPHA_NORITAKE
bool "Noritake"
select HAVE_EISA
help
AlphaServer 1000A, AlphaServer 800, AlphaStation 600A and
Digital Server 3300 systems.
See <https://alphalinux.org/wiki/hardware:systems:noritake>.
config ALPHA_PC164
bool "PC164"
help
AlphaPC164, a 21164A-based single-board computer using the CIA
chipset.
See <https://alphalinux.org/wiki/hardware:motherboards:pc164>.
config ALPHA_RAWHIDE
bool "Rawhide"
select HAVE_EISA
help
AlphaServer 1200, 4000 and 4100 and Digital Server 5300 and 7300
machines.
See <https://alphalinux.org/wiki/hardware:systems:rawhide>.
config ALPHA_RUFFIAN
bool "Ruffian"
help
DeskStation RPX164-2, AlphaPC164-UX and AlphaPC164-BX boards.
They have no SRM console and can only boot Linux through MILO.
See <https://alphalinux.org/wiki/hardware:motherboards:pc164ux>.
config ALPHA_RX164
bool "RX164"
help
AlphaPC164-RX, a 21164PC-based single-board computer using the
Polaris chipset. It has no SRM console and can only boot Linux
through MILO.
See <https://alphalinux.org/wiki/hardware:motherboards:pc164rx>.
config ALPHA_SX164
bool "SX164"
help
AlphaPC164-SX, a 21164PC-based single-board computer using the
Pyxis chipset.
See <https://alphalinux.org/wiki/hardware:motherboards:pc164sx>.
config ALPHA_SABLE
bool "Sable"
select HAVE_EISA
help
Digital AlphaServer 2000 and 2100-based systems.
See <https://alphalinux.org/wiki/hardware:systems:sable>.
config ALPHA_SHARK
bool "Shark"
help
AlphaServer DS20L and API NetWorks CS20 systems based on the
Tsunami chipset.
See <https://alphalinux.org/wiki/hardware:systems:shark>.
config ALPHA_TAKARA
bool "Takara"
help
Alpha 21164-based OEM single-board computer.
See <https://alphalinux.org/wiki/hardware:motherboards:takara>.
config ALPHA_TITAN
bool "Titan"
help
AlphaServer DS15, DS25, ES45 and TS202c based on EV68 and the
Titan chipset.
See <https://alphalinux.org/wiki/hardware:systems:titan>.
config ALPHA_WILDFIRE
bool "Wildfire"
help
AlphaServer GS80, GS160 and GS320 SMP based on the EV67 or EV68
core.
See <https://alphalinux.org/wiki/hardware:systems:wildfire>.
endchoice
# clear all implied options (don't want default values for those):
# Most of these machines have ISA slots; not exactly sure which don't,
# and this doesn't activate hordes of code, so do it always.
config ISA
bool
default y
help
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
inside your box. Other bus systems are PCI, EISA, MicroChannel
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
newer boards don't support it. If you have ISA, say Y, otherwise N.
config ISA_DMA_API
bool
default y
config ALPHA_CIA
bool
depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_NORITAKE || ALPHA_MIKASA || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_ALCOR
default y
config ALPHA_EV56
bool
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
config ALPHA_T2
bool
depends on ALPHA_SABLE
default y
config ALPHA_PYXIS
bool
depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
default y
config ALPHA_EV6
bool
depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL
default y
config ALPHA_TSUNAMI
bool
depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
default y
config ALPHA_EV67
bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER
default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
help
Is this a machine based on the EV67 core? If in doubt, select N here
and the machine will be treated as an EV6.
config ALPHA_MCPCIA
bool
depends on ALPHA_RAWHIDE
default y
config ALPHA_POLARIS
bool
depends on ALPHA_RX164
default y
config ALPHA_IRONGATE
bool
depends on ALPHA_NAUTILUS
default y
config GENERIC_HWEIGHT
bool
default y if !ALPHA_EV67
config ALPHA_BROKEN_IRQ_MASK
bool
depends on ALPHA_GENERIC || ALPHA_PC164
default y
config VGA_HOSE
bool
depends on VGA_CONSOLE && (ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL || ALPHA_TSUNAMI)
default y
help
Support VGA on an arbitrary hose; needed for several platforms
which always have multiple hoses, and whose consoles support it.
config ALPHA_QEMU
bool "Run under QEMU emulation"
depends on !ALPHA_GENERIC
help
Assume the presence of special features supported by QEMU PALcode
that reduce the overhead of system emulation.
Generic kernels will auto-detect QEMU. But when building a
system-specific kernel, the assumption is that we want to
eliminate as many runtime tests as possible.
If unsure, say N.
config ALPHA_SRM
bool "Use SRM as bootloader" if ALPHA_PC164 || ALPHA_TAKARA || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS
depends on TTY
default y if ALPHA_MIKASA || ALPHA_SA
|