Merge tag 'sched_ext-for-6.12-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / arch / parisc / Kconfig
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
1da177e4
LT
2config PARISC
3 def_bool y
12700c17 4 select ALTERNATE_USER_ADDRESS_SPACE
942fa985 5 select ARCH_32BIT_OFF_T if !64BIT
4a24fb2f 6 select ARCH_MIGHT_HAVE_PC_PARPORT
366dd4ea
HD
7 select HAVE_FUNCTION_TRACER
8 select HAVE_FUNCTION_GRAPH_TRACER
fc79168a 9 select HAVE_SYSCALL_TRACEPOINTS
4530c49e 10 select ARCH_WANT_FRAME_POINTERS
8690bbcf 11 select ARCH_HAS_CPU_CACHE_ALIASING
2c8ed1b9 12 select ARCH_HAS_DMA_ALLOC if PA11
de6c85bf 13 select ARCH_HAS_DMA_OPS
18d98a79 14 select ARCH_HAS_ELF_RANDOMIZE
ad21fc4f 15 select ARCH_HAS_STRICT_KERNEL_RWX
0a1355db 16 select ARCH_HAS_STRICT_MODULE_RWX
918327e9 17 select ARCH_HAS_UBSAN
df24e178 18 select ARCH_HAS_PTE_SPECIAL
7c703e54 19 select ARCH_NO_SG_CHAIN
403f17a3 20 select ARCH_SPLIT_ARG64 if !64BIT
855f9a8e 21 select ARCH_SUPPORTS_HUGETLBFS if PA20
54ac8fcb 22 select ARCH_SUPPORTS_MEMORY_FAILURE
aeb1e833 23 select ARCH_STACKWALK
7ae04ba3 24 select ARCH_HAS_CACHE_LINE_SIZE
2b41be48 25 select ARCH_HAS_DEBUG_VM_PGTABLE
aeb1e833 26 select HAVE_RELIABLE_STACKTRACE
9eb16864 27 select RTC_CLASS
3afe6d04 28 select RTC_DRV_GENERIC
98a79d6a 29 select INIT_ALL_POSSIBLE
f67d3c83 30 select BUG
01fef826 31 select HAVE_KERNEL_UNCOMPRESSED
eb01d42a 32 select HAVE_PCI
cdd6c482 33 select HAVE_PERF_EVENTS
b6adc16e
HD
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
64daa443 40 select GENERIC_ATOMIC64 if !64BIT
72e73af1 41 select GENERIC_IRQ_PROBE
629a8581 42 select GENERIC_PCI_IOMAP
426b313f 43 select GENERIC_IOREMAP
df013ffb 44 select ARCH_HAVE_NMI_SAFE_CMPXCHG
9a134723 45 select GENERIC_SMP_IDLE_THREAD
62773112 46 select GENERIC_ARCH_TOPOLOGY if SMP
1955c4f8 47 select GENERIC_CPU_DEVICES if !SMP
61c43943 48 select GENERIC_LIB_DEVMEM_IS_ALLOWED
bf14e3b9 49 select SYSCTL_ARCH_UNALIGN_ALLOW
cbade823 50 select SYSCTL_ARCH_UNALIGN_NO_WARN
fef47e2a 51 select SYSCTL_EXCEPTION_TRACE
786d35d4
DH
52 select HAVE_MOD_ARCH_SPECIFIC
53 select MODULES_USE_ELF_RELA
415bfae9 54 select CLONE_BACKWARDS
4f73bc4d 55 select TTY # Needed for pdc_cons.c
fcbfe812 56 select HAS_IOPORT if PCI || EISA
d1a1dc0b 57 select HAVE_DEBUG_STACKOVERFLOW
3033cd43
HD
58 select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
59 select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
60 select HAVE_ARCH_MMAP_RND_BITS
7a017721 61 select HAVE_ARCH_AUDITSYSCALL
773e1c5f 62 select HAVE_ARCH_HASH
62217beb
HD
63 select HAVE_ARCH_JUMP_LABEL
64 select HAVE_ARCH_JUMP_LABEL_RELATIVE
ec5c1150 65 select HAVE_ARCH_KFENCE
910cd32e 66 select HAVE_ARCH_SECCOMP_FILTER
64e2a42b 67 select HAVE_ARCH_TRACEHOOK
4800a621
HD
68 select HAVE_EBPF_JIT
69 select ARCH_WANT_DEFAULT_BPF_JIT
75ebedf1 70 select HAVE_REGS_AND_STACK_ACCESS_API
51e0efe1 71 select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU
43b1f6ab 72 select GENERIC_SCHED_CLOCK
88b3aac6 73 select GENERIC_IRQ_MIGRATION if SMP
43b1f6ab 74 select HAVE_UNSTABLE_SCHED_CLOCK if SMP
b5ff52be 75 select GENERIC_CLOCKEVENTS
fff7fb0b 76 select CPU_NO_EFFICIENT_FFS
2214c0e7 77 select THREAD_INFO_IN_TASK
f616ab59 78 select NEED_DMA_MAP_STATE
86596f0a 79 select NEED_SG_DMA_LENGTH
eacbfce1 80 select HAVE_ARCH_KGDB
8858ac8e 81 select HAVE_KPROBES
e0b59b7b 82 select HAVE_KRETPROBES
6ca63662
SS
83 select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1)
84 select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
3d1dc719 85 select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if DYNAMIC_FTRACE
52a22e6c
SS
86 select HAVE_KPROBES_ON_FTRACE
87 select HAVE_DYNAMIC_FTRACE_WITH_REGS
cd1a41ce 88 select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
4aae683f 89 select TRACE_IRQFLAGS_SUPPORT
a257cacc 90 select HAVE_FUNCTION_DESCRIPTORS if 64BIT
4c29ab84 91 select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
72e73af1 92
1da177e4
LT
93 help
94 The PA-RISC microprocessor is designed by Hewlett-Packard and used
95 in many of their workstations & servers (HP9000 700 and 800 series,
96 and later HP3000 series). The PA-RISC Linux project home page is
24289f56 97 at <https://parisc.wiki.kernel.org>.
1da177e4 98
74ad3d28
BM
99config CPU_BIG_ENDIAN
100 def_bool y
101
1da177e4
LT
102config MMU
103 def_bool y
104
105config STACK_GROWSUP
106 def_bool y
107
95c354fe
NP
108config GENERIC_LOCKBREAK
109 bool
110 default y
09613e83 111 depends on SMP && PREEMPTION
95c354fe 112
f0d1b0b3
DH
113config ARCH_HAS_ILOG2_U32
114 bool
115 default n
116
117config ARCH_HAS_ILOG2_U64
118 bool
119 default n
120
6891f8a1 121config GENERIC_BUG
43266838 122 def_bool y
6891f8a1 123 depends on BUG
43266838
HD
124 select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
125
126config GENERIC_BUG_RELATIVE_POINTERS
127 bool
6891f8a1 128
59e18a2e
AM
129config GENERIC_HWEIGHT
130 bool
131 default y
132
1da177e4
LT
133config GENERIC_CALIBRATE_DELAY
134 bool
135 default y
136
06027bdd
IM
137config TIME_LOW_RES
138 bool
139 depends on SMP
140 default y
141
3033cd43
HD
142config ARCH_MMAP_RND_BITS_MIN
143 default 18 if 64BIT
144 default 8
145
146config ARCH_MMAP_RND_COMPAT_BITS_MIN
147 default 8
148
149config ARCH_MMAP_RND_BITS_MAX
5f74f820
HD
150 default 18 if 64BIT
151 default 13
3033cd43
HD
152
153config ARCH_MMAP_RND_COMPAT_BITS_MAX
5f74f820 154 default 13
3033cd43 155
1da177e4
LT
156# unless you want to implement ACPI on PA-RISC ... ;-)
157config PM
158 bool
159
548f1176
HD
160config STACKTRACE_SUPPORT
161 def_bool y
162
adf8e96a
HD
163config LOCKDEP_SUPPORT
164 bool
165 default y
166
5cae841b
AV
167config ISA_DMA_API
168 bool
5cae841b 169
a08b6b79
Z
170config ARCH_MAY_HAVE_PC_FDC
171 bool
8b631342 172 depends on BROKEN
a08b6b79
Z
173 default y
174
f24ffde4
KS
175config PGTABLE_LEVELS
176 int
177 default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
178 default 2
179
1da177e4
LT
180menu "Processor type and features"
181
182choice
183 prompt "Processor type"
3dcfb729 184 default PA7000 if "$(ARCH)" = "parisc"
1da177e4
LT
185
186config PA7000
3dcfb729 187 bool "PA7000/PA7100" if "$(ARCH)" = "parisc"
a7f7f624 188 help
1da177e4
LT
189 This is the processor type of your CPU. This information is
190 used for optimizing purposes. In order to compile a kernel
191 that can run on all 32-bit PA CPUs (albeit not optimally fast),
192 you can specify "PA7000" here.
193
194 Specifying "PA8000" here will allow you to select a 64-bit kernel
195 which is required on some machines.
196
197config PA7100LC
3dcfb729 198 bool "PA7100LC" if "$(ARCH)" = "parisc"
1da177e4
LT
199 help
200 Select this option for the PCX-L processor, as used in the
201 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748,
202 D200, D210, D300, D310 and E-class
203
204config PA7200
3dcfb729 205 bool "PA7200" if "$(ARCH)" = "parisc"
1da177e4
LT
206 help
207 Select this option for the PCX-T' processor, as used in the
208 C100, C110, J100, J110, J210XC, D250, D260, D350, D360,
209 K100, K200, K210, K220, K400, K410 and K420
210
211config PA7300LC
3dcfb729 212 bool "PA7300LC" if "$(ARCH)" = "parisc"
1da177e4
LT
213 help
214 Select this option for the PCX-L2 processor, as used in the
215 744, A180, B132L, B160L, B180L, C132L, C160L, C180L,
216 D220, D230, D320 and D330.
217
218config PA8X00
219 bool "PA8000 and up"
220 help
221 Select this option for PCX-U to PCX-W2 processors.
222
223endchoice
224
225# Define implied options from the CPU selection here
226
227config PA20
228 def_bool y
229 depends on PA8X00
230
231config PA11
232 def_bool y
233 depends on PA7000 || PA7100LC || PA7200 || PA7300LC
c1f59375
CH
234 select ARCH_HAS_SYNC_DMA_FOR_CPU
235 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
1da177e4
LT
236
237config PREFETCH
238 def_bool y
32104b29 239 depends on PA8X00 || PA7200
1da177e4 240
778e45d7
HD
241config PARISC_HUGE_KERNEL
242 def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST
243
ec758f98 244config MLONGCALLS
778e45d7 245 bool "Enable the -mlong-calls compiler option for big kernels" if !PARISC_HUGE_KERNEL
ec758f98 246 depends on PA8X00
cd14b018 247 default PARISC_HUGE_KERNEL
ec758f98
HD
248 help
249 If you configure the kernel to include many drivers built-in instead
250 as modules, the kernel executable may become too big, so that the
251 linker will not be able to resolve some long branches and fails to link
252 your vmlinux kernel. In that case enabling this option will help you
253 to overcome this limit by using the -mlong-calls compiler option.
254
255 Usually you want to say N here, unless you e.g. want to build
256 a kernel which includes all necessary drivers built-in and which can
257 be used for TFTP booting without the need to have an initrd ramdisk.
258
259 Enabling this option will probably slow down your kernel.
260
1da177e4 261config 64BIT
805ce861 262 bool "64-bit kernel" if "$(ARCH)" = "parisc"
1da177e4 263 depends on PA8X00
cd14b018 264 default "$(ARCH)" = "parisc64"
805ce861
HD
265 help
266 Enable this if you want to support 64bit kernel on PA-RISC platform.
267
268 At the moment, only people willing to use more than 2GB of RAM,
269 or having a 64bit-only capable PA-RISC machine should say Y here.
270
271 Since there is no 64bit userland on PA-RISC, there is no point to
272 enable this option otherwise. The 64bit kernel is significantly bigger
273 and slower than the 32bit one.
1da177e4 274
2fd83038
HD
275choice
276 prompt "Kernel page size"
1c5f873d 277 default PARISC_PAGE_SIZE_4KB
2fd83038
HD
278
279config PARISC_PAGE_SIZE_4KB
280 bool "4KB"
d3e5bab9 281 select HAVE_PAGE_SIZE_4KB
2fd83038
HD
282 help
283 This lets you select the page size of the kernel. For best
284 performance, a page size of 16KB is recommended. For best
285 compatibility with 32bit applications, a page size of 4KB should be
286 selected (the vast majority of 32bit binaries work perfectly fine
287 with a larger page size).
288
289 4KB For best 32bit compatibility
290 16KB For best performance
291 64KB For best performance, might give more overhead.
292
293 If you don't know what to do, choose 4KB.
294
295config PARISC_PAGE_SIZE_16KB
daef22cf 296 bool "16KB"
d3e5bab9 297 select HAVE_PAGE_SIZE_16KB
ec5c1150 298 depends on PA8X00 && BROKEN && !KFENCE
2fd83038
HD
299
300config PARISC_PAGE_SIZE_64KB
daef22cf 301 bool "64KB"
d3e5bab9 302 select HAVE_PAGE_SIZE_64KB
ec5c1150 303 depends on PA8X00 && BROKEN && !KFENCE
2fd83038
HD
304
305endchoice
306
1da177e4
LT
307config SMP
308 bool "Symmetric multi-processing support"
a7f7f624 309 help
1da177e4 310 This enables support for systems with more than one CPU. If you have
4a474157
RG
311 a system with only one CPU, say N. If you have a system with more
312 than one CPU, say Y.
1da177e4 313
4a474157 314 If you say N here, the kernel will run on uni- and multiprocessor
2a3f53d5
HD
315 machines, but will use only one CPU of a multiprocessor machine.
316 On a uniprocessor machine, the kernel will run faster if you say N.
1da177e4 317
4f4cfa6c 318 See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
693a0654 319 available at <https://www.tldp.org/docs.html#howto>.
1da177e4
LT
320
321 If you don't know what to do here, say N.
200c8804 322
bf7b4c1b
HD
323config SCHED_MC
324 bool "Multi-core scheduler support"
62773112 325 depends on GENERIC_ARCH_TOPOLOGY && PA8X00
bf7b4c1b
HD
326 help
327 Multi-core scheduler support improves the CPU scheduler's decision
328 making when dealing with multi-core CPU chips at a cost of slightly
329 increased overhead in some places. If unsure say N here.
330
200c8804
HD
331config IRQSTACKS
332 bool "Use separate kernel stacks when processing interrupts"
416821d3 333 default y
200c8804
HD
334 help
335 If you say Y here the kernel will use separate kernel stacks
336 for handling hard and soft interrupts. This can help avoid
337 overflowing the process kernel stacks.
1da177e4
LT
338
339config HOTPLUG_CPU
340 bool
341 default y if SMP
1da177e4 342
a2ba82cd
KM
343config ARCH_SELECT_MEMORY_MODEL
344 def_bool y
345 depends on 64BIT
346
dbdf0760 347config ARCH_SPARSEMEM_ENABLE
a2ba82cd
KM
348 def_bool y
349 depends on 64BIT
350
351config ARCH_FLATMEM_ENABLE
352 def_bool y
353
dbdf0760 354config ARCH_SPARSEMEM_DEFAULT
a2ba82cd 355 def_bool y
dbdf0760 356 depends on ARCH_SPARSEMEM_ENABLE
c80d79d7 357
8b631342 358source "kernel/Kconfig.hz"
3f22ab27 359
1da177e4
LT
360config COMPAT
361 def_bool y
362 depends on 64BIT
363
527973c8
HD
364config AUDIT_ARCH
365 def_bool y
366
1da177e4
LT
367config NR_CPUS
368 int "Maximum number of CPUs (2-32)"
369 range 2 32
370 depends on SMP
c9cc4542 371 default "8" if 64BIT
68d247ad 372 default "16"
1da177e4
LT
373
374endmenu
375
b9bf5cb1
ED
376config ARCH_SUPPORTS_KEXEC
377 def_bool y
378
379config ARCH_SUPPORTS_KEXEC_FILE
380 def_bool y
381
382config ARCH_SELECTS_KEXEC_FILE
383 def_bool y
384 depends on KEXEC_FILE
385 select KEXEC_ELF
386
1da177e4 387source "drivers/parisc/Kconfig"