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