Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1da177e4 LT |
2 | config PARISC |
3 | def_bool y | |
942fa985 | 4 | select ARCH_32BIT_OFF_T if !64BIT |
4a24fb2f | 5 | select ARCH_MIGHT_HAVE_PC_PARPORT |
ec7748b5 | 6 | select HAVE_IDE |
42d4b839 | 7 | select HAVE_OPROFILE |
366dd4ea HD |
8 | select HAVE_FUNCTION_TRACER |
9 | select HAVE_FUNCTION_GRAPH_TRACER | |
fc79168a | 10 | select HAVE_SYSCALL_TRACEPOINTS |
4530c49e | 11 | select ARCH_WANT_FRAME_POINTERS |
18d98a79 | 12 | select ARCH_HAS_ELF_RANDOMIZE |
ad21fc4f | 13 | select ARCH_HAS_STRICT_KERNEL_RWX |
e35a2ce6 | 14 | select ARCH_HAS_UBSAN_SANITIZE_ALL |
7c703e54 | 15 | select ARCH_NO_SG_CHAIN |
54ac8fcb | 16 | select ARCH_SUPPORTS_MEMORY_FAILURE |
9eb16864 | 17 | select RTC_CLASS |
3afe6d04 | 18 | select RTC_DRV_GENERIC |
98a79d6a | 19 | select INIT_ALL_POSSIBLE |
f67d3c83 | 20 | select BUG |
0de79858 | 21 | select BUILDTIME_EXTABLE_SORT |
eb01d42a | 22 | select HAVE_PCI |
cdd6c482 | 23 | select HAVE_PERF_EVENTS |
b6adc16e HD |
24 | select HAVE_KERNEL_BZIP2 |
25 | select HAVE_KERNEL_GZIP | |
26 | select HAVE_KERNEL_LZ4 | |
27 | select HAVE_KERNEL_LZMA | |
28 | select HAVE_KERNEL_LZO | |
29 | select HAVE_KERNEL_XZ | |
64daa443 | 30 | select GENERIC_ATOMIC64 if !64BIT |
72e73af1 | 31 | select GENERIC_IRQ_PROBE |
629a8581 | 32 | select GENERIC_PCI_IOMAP |
df013ffb | 33 | select ARCH_HAVE_NMI_SAFE_CMPXCHG |
9a134723 | 34 | select GENERIC_SMP_IDLE_THREAD |
bf7b4c1b | 35 | select GENERIC_CPU_DEVICES |
b1195c0e | 36 | select GENERIC_STRNCPY_FROM_USER |
bf14e3b9 | 37 | select SYSCTL_ARCH_UNALIGN_ALLOW |
fef47e2a | 38 | select SYSCTL_EXCEPTION_TRACE |
786d35d4 | 39 | select HAVE_MOD_ARCH_SPECIFIC |
4febd95a | 40 | select VIRT_TO_BUS |
786d35d4 | 41 | select MODULES_USE_ELF_RELA |
415bfae9 | 42 | select CLONE_BACKWARDS |
4f73bc4d | 43 | select TTY # Needed for pdc_cons.c |
d1a1dc0b | 44 | select HAVE_DEBUG_STACKOVERFLOW |
7a017721 | 45 | select HAVE_ARCH_AUDITSYSCALL |
773e1c5f | 46 | select HAVE_ARCH_HASH |
62217beb HD |
47 | select HAVE_ARCH_JUMP_LABEL |
48 | select HAVE_ARCH_JUMP_LABEL_RELATIVE | |
910cd32e | 49 | select HAVE_ARCH_SECCOMP_FILTER |
64e2a42b | 50 | select HAVE_ARCH_TRACEHOOK |
75ebedf1 | 51 | select HAVE_REGS_AND_STACK_ACCESS_API |
43b1f6ab HD |
52 | select GENERIC_SCHED_CLOCK |
53 | select HAVE_UNSTABLE_SCHED_CLOCK if SMP | |
54 | select GENERIC_CLOCKEVENTS | |
79387179 | 55 | select ARCH_NO_COHERENT_DMA_MMAP |
fff7fb0b | 56 | select CPU_NO_EFFICIENT_FFS |
f616ab59 | 57 | select NEED_DMA_MAP_STATE |
86596f0a | 58 | select NEED_SG_DMA_LENGTH |
eacbfce1 | 59 | select HAVE_ARCH_KGDB |
8858ac8e | 60 | select HAVE_KPROBES |
e0b59b7b | 61 | select HAVE_KRETPROBES |
6ca63662 SS |
62 | select HAVE_DYNAMIC_FTRACE if $(cc-option,-fpatchable-function-entry=1,1) |
63 | select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE | |
72e73af1 | 64 | |
1da177e4 LT |
65 | help |
66 | The PA-RISC microprocessor is designed by Hewlett-Packard and used | |
67 | in many of their workstations & servers (HP9000 700 and 800 series, | |
68 | and later HP3000 series). The PA-RISC Linux project home page is | |
69 | at <http://www.parisc-linux.org/>. | |
70 | ||
74ad3d28 BM |
71 | config CPU_BIG_ENDIAN |
72 | def_bool y | |
73 | ||
1da177e4 LT |
74 | config MMU |
75 | def_bool y | |
76 | ||
77 | config STACK_GROWSUP | |
78 | def_bool y | |
79 | ||
95c354fe NP |
80 | config GENERIC_LOCKBREAK |
81 | bool | |
82 | default y | |
83 | depends on SMP && PREEMPT | |
84 | ||
f0d1b0b3 DH |
85 | config ARCH_HAS_ILOG2_U32 |
86 | bool | |
87 | default n | |
88 | ||
89 | config ARCH_HAS_ILOG2_U64 | |
90 | bool | |
91 | default n | |
92 | ||
6891f8a1 HD |
93 | config GENERIC_BUG |
94 | bool | |
95 | default y | |
96 | depends on BUG | |
97 | ||
59e18a2e AM |
98 | config GENERIC_HWEIGHT |
99 | bool | |
100 | default y | |
101 | ||
1da177e4 LT |
102 | config GENERIC_CALIBRATE_DELAY |
103 | bool | |
104 | default y | |
105 | ||
06027bdd IM |
106 | config TIME_LOW_RES |
107 | bool | |
108 | depends on SMP | |
109 | default y | |
110 | ||
1da177e4 LT |
111 | # unless you want to implement ACPI on PA-RISC ... ;-) |
112 | config PM | |
113 | bool | |
114 | ||
548f1176 HD |
115 | config STACKTRACE_SUPPORT |
116 | def_bool y | |
117 | ||
5cae841b AV |
118 | config ISA_DMA_API |
119 | bool | |
5cae841b | 120 | |
a08b6b79 Z |
121 | config ARCH_MAY_HAVE_PC_FDC |
122 | bool | |
8b631342 | 123 | depends on BROKEN |
a08b6b79 Z |
124 | default y |
125 | ||
f24ffde4 KS |
126 | config PGTABLE_LEVELS |
127 | int | |
128 | default 3 if 64BIT && PARISC_PAGE_SIZE_4KB | |
129 | default 2 | |
130 | ||
736d2169 HD |
131 | config SYS_SUPPORTS_HUGETLBFS |
132 | def_bool y if PA20 | |
133 | ||
1da177e4 LT |
134 | |
135 | menu "Processor type and features" | |
136 | ||
137 | choice | |
138 | prompt "Processor type" | |
139 | default PA7000 | |
140 | ||
141 | config PA7000 | |
142 | bool "PA7000/PA7100" | |
143 | ---help--- | |
144 | This is the processor type of your CPU. This information is | |
145 | used for optimizing purposes. In order to compile a kernel | |
146 | that can run on all 32-bit PA CPUs (albeit not optimally fast), | |
147 | you can specify "PA7000" here. | |
148 | ||
149 | Specifying "PA8000" here will allow you to select a 64-bit kernel | |
150 | which is required on some machines. | |
151 | ||
152 | config PA7100LC | |
153 | bool "PA7100LC" | |
154 | help | |
155 | Select this option for the PCX-L processor, as used in the | |
156 | 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, | |
157 | D200, D210, D300, D310 and E-class | |
158 | ||
159 | config PA7200 | |
160 | bool "PA7200" | |
161 | help | |
162 | Select this option for the PCX-T' processor, as used in the | |
163 | C100, C110, J100, J110, J210XC, D250, D260, D350, D360, | |
164 | K100, K200, K210, K220, K400, K410 and K420 | |
165 | ||
166 | config PA7300LC | |
167 | bool "PA7300LC" | |
168 | help | |
169 | Select this option for the PCX-L2 processor, as used in the | |
170 | 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, | |
171 | D220, D230, D320 and D330. | |
172 | ||
173 | config PA8X00 | |
174 | bool "PA8000 and up" | |
175 | help | |
176 | Select this option for PCX-U to PCX-W2 processors. | |
177 | ||
178 | endchoice | |
179 | ||
180 | # Define implied options from the CPU selection here | |
181 | ||
182 | config PA20 | |
183 | def_bool y | |
184 | depends on PA8X00 | |
185 | ||
186 | config PA11 | |
187 | def_bool y | |
188 | depends on PA7000 || PA7100LC || PA7200 || PA7300LC | |
c1f59375 CH |
189 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
190 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE | |
c1f59375 | 191 | select DMA_NONCOHERENT_CACHE_SYNC |
1da177e4 LT |
192 | |
193 | config PREFETCH | |
194 | def_bool y | |
32104b29 | 195 | depends on PA8X00 || PA7200 |
1da177e4 | 196 | |
ec758f98 HD |
197 | config MLONGCALLS |
198 | bool "Enable the -mlong-calls compiler option for big kernels" | |
200036a8 HD |
199 | default y if !MODULES || UBSAN || FTRACE |
200 | default n | |
ec758f98 HD |
201 | depends on PA8X00 |
202 | help | |
203 | If you configure the kernel to include many drivers built-in instead | |
204 | as modules, the kernel executable may become too big, so that the | |
205 | linker will not be able to resolve some long branches and fails to link | |
206 | your vmlinux kernel. In that case enabling this option will help you | |
207 | to overcome this limit by using the -mlong-calls compiler option. | |
208 | ||
209 | Usually you want to say N here, unless you e.g. want to build | |
210 | a kernel which includes all necessary drivers built-in and which can | |
211 | be used for TFTP booting without the need to have an initrd ramdisk. | |
212 | ||
213 | Enabling this option will probably slow down your kernel. | |
214 | ||
1da177e4 LT |
215 | config 64BIT |
216 | bool "64-bit kernel" | |
217 | depends on PA8X00 | |
218 | help | |
219 | Enable this if you want to support 64bit kernel on PA-RISC platform. | |
220 | ||
221 | At the moment, only people willing to use more than 2GB of RAM, | |
222 | or having a 64bit-only capable PA-RISC machine should say Y here. | |
223 | ||
224 | Since there is no 64bit userland on PA-RISC, there is no point to | |
225 | enable this option otherwise. The 64bit kernel is significantly bigger | |
226 | and slower than the 32bit one. | |
227 | ||
2fd83038 HD |
228 | choice |
229 | prompt "Kernel page size" | |
1c5f873d | 230 | default PARISC_PAGE_SIZE_4KB |
2fd83038 HD |
231 | |
232 | config PARISC_PAGE_SIZE_4KB | |
233 | bool "4KB" | |
234 | help | |
235 | This lets you select the page size of the kernel. For best | |
236 | performance, a page size of 16KB is recommended. For best | |
237 | compatibility with 32bit applications, a page size of 4KB should be | |
238 | selected (the vast majority of 32bit binaries work perfectly fine | |
239 | with a larger page size). | |
240 | ||
241 | 4KB For best 32bit compatibility | |
242 | 16KB For best performance | |
243 | 64KB For best performance, might give more overhead. | |
244 | ||
245 | If you don't know what to do, choose 4KB. | |
246 | ||
247 | config PARISC_PAGE_SIZE_16KB | |
daef22cf | 248 | bool "16KB" |
1c971f39 | 249 | depends on PA8X00 && BROKEN |
2fd83038 HD |
250 | |
251 | config PARISC_PAGE_SIZE_64KB | |
daef22cf | 252 | bool "64KB" |
1c971f39 | 253 | depends on PA8X00 && BROKEN |
2fd83038 HD |
254 | |
255 | endchoice | |
256 | ||
af21b01d HD |
257 | config PARISC_SELF_EXTRACT |
258 | bool "Build kernel as self-extracting executable" | |
259 | default y | |
260 | help | |
261 | Say Y if you want to build the parisc kernel as a kind of | |
262 | self-extracting executable. | |
263 | ||
264 | If you say N here, the kernel will be compressed with gzip | |
265 | which can be loaded by the palo bootloader directly too. | |
266 | ||
267 | If you don't know what to do here, say Y. | |
268 | ||
1da177e4 LT |
269 | config SMP |
270 | bool "Symmetric multi-processing support" | |
271 | ---help--- | |
272 | This enables support for systems with more than one CPU. If you have | |
4a474157 RG |
273 | a system with only one CPU, say N. If you have a system with more |
274 | than one CPU, say Y. | |
1da177e4 | 275 | |
4a474157 | 276 | If you say N here, the kernel will run on uni- and multiprocessor |
2a3f53d5 HD |
277 | machines, but will use only one CPU of a multiprocessor machine. |
278 | On a uniprocessor machine, the kernel will run faster if you say N. | |
1da177e4 | 279 | |
ecf38679 | 280 | See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO |
03502faa | 281 | available at <http://www.tldp.org/docs.html#howto>. |
1da177e4 LT |
282 | |
283 | If you don't know what to do here, say N. | |
200c8804 | 284 | |
bf7b4c1b HD |
285 | config PARISC_CPU_TOPOLOGY |
286 | bool "Support cpu topology definition" | |
287 | depends on SMP | |
288 | default y | |
289 | help | |
290 | Support PARISC cpu topology definition. | |
291 | ||
292 | config SCHED_MC | |
293 | bool "Multi-core scheduler support" | |
294 | depends on PARISC_CPU_TOPOLOGY && PA8X00 | |
295 | help | |
296 | Multi-core scheduler support improves the CPU scheduler's decision | |
297 | making when dealing with multi-core CPU chips at a cost of slightly | |
298 | increased overhead in some places. If unsure say N here. | |
299 | ||
200c8804 HD |
300 | config IRQSTACKS |
301 | bool "Use separate kernel stacks when processing interrupts" | |
416821d3 | 302 | default y |
200c8804 HD |
303 | help |
304 | If you say Y here the kernel will use separate kernel stacks | |
305 | for handling hard and soft interrupts. This can help avoid | |
306 | overflowing the process kernel stacks. | |
1da177e4 LT |
307 | |
308 | config HOTPLUG_CPU | |
309 | bool | |
310 | default y if SMP | |
1da177e4 | 311 | |
a2ba82cd KM |
312 | config ARCH_SELECT_MEMORY_MODEL |
313 | def_bool y | |
314 | depends on 64BIT | |
315 | ||
dbdf0760 | 316 | config ARCH_SPARSEMEM_ENABLE |
a2ba82cd KM |
317 | def_bool y |
318 | depends on 64BIT | |
319 | ||
320 | config ARCH_FLATMEM_ENABLE | |
321 | def_bool y | |
322 | ||
dbdf0760 | 323 | config ARCH_SPARSEMEM_DEFAULT |
a2ba82cd | 324 | def_bool y |
dbdf0760 | 325 | depends on ARCH_SPARSEMEM_ENABLE |
c80d79d7 | 326 | |
8b631342 | 327 | source "kernel/Kconfig.hz" |
3f22ab27 | 328 | |
1da177e4 LT |
329 | config COMPAT |
330 | def_bool y | |
331 | depends on 64BIT | |
71d577db | 332 | select COMPAT_BINFMT_ELF if BINFMT_ELF |
1da177e4 | 333 | |
bf581e15 HD |
334 | config SYSVIPC_COMPAT |
335 | def_bool y | |
336 | depends on COMPAT && SYSVIPC | |
337 | ||
527973c8 HD |
338 | config AUDIT_ARCH |
339 | def_bool y | |
340 | ||
1da177e4 LT |
341 | config NR_CPUS |
342 | int "Maximum number of CPUs (2-32)" | |
343 | range 2 32 | |
344 | depends on SMP | |
435d34c7 | 345 | default "4" |
1da177e4 LT |
346 | |
347 | endmenu | |
348 | ||
349 | ||
350 | source "drivers/parisc/Kconfig" | |
351 | ||
c90f0694 HD |
352 | config SECCOMP |
353 | def_bool y | |
354 | prompt "Enable seccomp to safely compute untrusted bytecode" | |
355 | ---help--- | |
356 | This kernel feature is useful for number crunching applications | |
357 | that may need to compute untrusted bytecode during their | |
358 | execution. By using pipes or other transports made available to | |
359 | the process as file descriptors supporting the read/write | |
360 | syscalls, it's possible to isolate those applications in | |
361 | their own address space using seccomp. Once seccomp is | |
362 | enabled via prctl(PR_SET_SECCOMP), it cannot be disabled | |
363 | and the task is only allowed to execute a few safe syscalls | |
364 | defined by each seccomp mode. | |
365 | ||
366 | If unsure, say Y. Only embedded should say N here. |