Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1da177e4 LT |
2 | config 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 |
99 | config CPU_BIG_ENDIAN |
100 | def_bool y | |
101 | ||
1da177e4 LT |
102 | config MMU |
103 | def_bool y | |
104 | ||
105 | config STACK_GROWSUP | |
106 | def_bool y | |
107 | ||
95c354fe NP |
108 | config GENERIC_LOCKBREAK |
109 | bool | |
110 | default y | |
09613e83 | 111 | depends on SMP && PREEMPTION |
95c354fe | 112 | |
f0d1b0b3 DH |
113 | config ARCH_HAS_ILOG2_U32 |
114 | bool | |
115 | default n | |
116 | ||
117 | config ARCH_HAS_ILOG2_U64 | |
118 | bool | |
119 | default n | |
120 | ||
6891f8a1 | 121 | config GENERIC_BUG |
43266838 | 122 | def_bool y |
6891f8a1 | 123 | depends on BUG |
43266838 HD |
124 | select GENERIC_BUG_RELATIVE_POINTERS if 64BIT |
125 | ||
126 | config GENERIC_BUG_RELATIVE_POINTERS | |
127 | bool | |
6891f8a1 | 128 | |
59e18a2e AM |
129 | config GENERIC_HWEIGHT |
130 | bool | |
131 | default y | |
132 | ||
1da177e4 LT |
133 | config GENERIC_CALIBRATE_DELAY |
134 | bool | |
135 | default y | |
136 | ||
06027bdd IM |
137 | config TIME_LOW_RES |
138 | bool | |
139 | depends on SMP | |
140 | default y | |
141 | ||
3033cd43 HD |
142 | config ARCH_MMAP_RND_BITS_MIN |
143 | default 18 if 64BIT | |
144 | default 8 | |
145 | ||
146 | config ARCH_MMAP_RND_COMPAT_BITS_MIN | |
147 | default 8 | |
148 | ||
149 | config ARCH_MMAP_RND_BITS_MAX | |
5f74f820 HD |
150 | default 18 if 64BIT |
151 | default 13 | |
3033cd43 HD |
152 | |
153 | config ARCH_MMAP_RND_COMPAT_BITS_MAX | |
5f74f820 | 154 | default 13 |
3033cd43 | 155 | |
1da177e4 LT |
156 | # unless you want to implement ACPI on PA-RISC ... ;-) |
157 | config PM | |
158 | bool | |
159 | ||
548f1176 HD |
160 | config STACKTRACE_SUPPORT |
161 | def_bool y | |
162 | ||
adf8e96a HD |
163 | config LOCKDEP_SUPPORT |
164 | bool | |
165 | default y | |
166 | ||
5cae841b AV |
167 | config ISA_DMA_API |
168 | bool | |
5cae841b | 169 | |
a08b6b79 Z |
170 | config ARCH_MAY_HAVE_PC_FDC |
171 | bool | |
8b631342 | 172 | depends on BROKEN |
a08b6b79 Z |
173 | default y |
174 | ||
f24ffde4 KS |
175 | config PGTABLE_LEVELS |
176 | int | |
177 | default 3 if 64BIT && PARISC_PAGE_SIZE_4KB | |
178 | default 2 | |
179 | ||
1da177e4 LT |
180 | menu "Processor type and features" |
181 | ||
182 | choice | |
183 | prompt "Processor type" | |
3dcfb729 | 184 | default PA7000 if "$(ARCH)" = "parisc" |
1da177e4 LT |
185 | |
186 | config 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 | ||
197 | config 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 | ||
204 | config 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 | ||
211 | config 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 | ||
218 | config PA8X00 | |
219 | bool "PA8000 and up" | |
220 | help | |
221 | Select this option for PCX-U to PCX-W2 processors. | |
222 | ||
223 | endchoice | |
224 | ||
225 | # Define implied options from the CPU selection here | |
226 | ||
227 | config PA20 | |
228 | def_bool y | |
229 | depends on PA8X00 | |
230 | ||
231 | config 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 | |
237 | config PREFETCH | |
238 | def_bool y | |
32104b29 | 239 | depends on PA8X00 || PA7200 |
1da177e4 | 240 | |
778e45d7 HD |
241 | config PARISC_HUGE_KERNEL |
242 | def_bool y if !MODULES || UBSAN || FTRACE || COMPILE_TEST | |
243 | ||
ec758f98 | 244 | config 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 | 261 | config 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 |
275 | choice |
276 | prompt "Kernel page size" | |
1c5f873d | 277 | default PARISC_PAGE_SIZE_4KB |
2fd83038 HD |
278 | |
279 | config 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 | ||
295 | config 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 | |
300 | config 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 | |
305 | endchoice | |
306 | ||
1da177e4 LT |
307 | config 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 |
323 | config 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 |
331 | config 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 | |
339 | config HOTPLUG_CPU | |
340 | bool | |
341 | default y if SMP | |
1da177e4 | 342 | |
a2ba82cd KM |
343 | config ARCH_SELECT_MEMORY_MODEL |
344 | def_bool y | |
345 | depends on 64BIT | |
346 | ||
dbdf0760 | 347 | config ARCH_SPARSEMEM_ENABLE |
a2ba82cd KM |
348 | def_bool y |
349 | depends on 64BIT | |
350 | ||
351 | config ARCH_FLATMEM_ENABLE | |
352 | def_bool y | |
353 | ||
dbdf0760 | 354 | config ARCH_SPARSEMEM_DEFAULT |
a2ba82cd | 355 | def_bool y |
dbdf0760 | 356 | depends on ARCH_SPARSEMEM_ENABLE |
c80d79d7 | 357 | |
8b631342 | 358 | source "kernel/Kconfig.hz" |
3f22ab27 | 359 | |
1da177e4 LT |
360 | config COMPAT |
361 | def_bool y | |
362 | depends on 64BIT | |
363 | ||
527973c8 HD |
364 | config AUDIT_ARCH |
365 | def_bool y | |
366 | ||
1da177e4 LT |
367 | config 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 | |
374 | endmenu | |
375 | ||
b9bf5cb1 ED |
376 | config ARCH_SUPPORTS_KEXEC |
377 | def_bool y | |
378 | ||
379 | config ARCH_SUPPORTS_KEXEC_FILE | |
380 | def_bool y | |
381 | ||
382 | config ARCH_SELECTS_KEXEC_FILE | |
383 | def_bool y | |
384 | depends on KEXEC_FILE | |
385 | select KEXEC_ELF | |
386 | ||
1da177e4 | 387 | source "drivers/parisc/Kconfig" |