blob: 729f89163bc32113dba77e309c8ce767ed3d15e8 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001config PARISC
2 def_bool y
3 select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
4 select ARCH_MIGHT_HAVE_PC_PARPORT
5 select HAVE_IDE
6 select HAVE_OPROFILE
7 select HAVE_FUNCTION_TRACER if 64BIT
8 select HAVE_FUNCTION_GRAPH_TRACER if 64BIT
9 select ARCH_WANT_FRAME_POINTERS
10 select RTC_CLASS
11 select RTC_DRV_GENERIC
12 select INIT_ALL_POSSIBLE
13 select BUG
14 select HAVE_PERF_EVENTS
15 select GENERIC_ATOMIC64 if !64BIT
16 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
17 select BROKEN_RODATA
18 select GENERIC_IRQ_PROBE
19 select GENERIC_PCI_IOMAP
20 select ARCH_HAVE_NMI_SAFE_CMPXCHG
21 select GENERIC_SMP_IDLE_THREAD
22 select GENERIC_STRNCPY_FROM_USER
23 select SYSCTL_ARCH_UNALIGN_ALLOW
24 select SYSCTL_EXCEPTION_TRACE
25 select HAVE_MOD_ARCH_SPECIFIC
26 select VIRT_TO_BUS
27 select MODULES_USE_ELF_RELA
28 select CLONE_BACKWARDS
29 select TTY # Needed for pdc_cons.c
30 select HAVE_DEBUG_STACKOVERFLOW
31 select HAVE_ARCH_AUDITSYSCALL
32
33 help
34 The PA-RISC microprocessor is designed by Hewlett-Packard and used
35 in many of their workstations & servers (HP9000 700 and 800 series,
36 and later HP3000 series). The PA-RISC Linux project home page is
37 at <http://www.parisc-linux.org/>.
38
39config MMU
40 def_bool y
41
42config STACK_GROWSUP
43 def_bool y
44
45config GENERIC_LOCKBREAK
46 bool
47 default y
48 depends on SMP && PREEMPT
49
50config RWSEM_GENERIC_SPINLOCK
51 def_bool y
52
53config RWSEM_XCHGADD_ALGORITHM
54 bool
55
56config ARCH_HAS_ILOG2_U32
57 bool
58 default n
59
60config ARCH_HAS_ILOG2_U64
61 bool
62 default n
63
64config GENERIC_BUG
65 bool
66 default y
67 depends on BUG
68
69config GENERIC_HWEIGHT
70 bool
71 default y
72
73config GENERIC_CALIBRATE_DELAY
74 bool
75 default y
76
77config TIME_LOW_RES
78 bool
79 depends on SMP
80 default y
81
82config HAVE_LATENCYTOP_SUPPORT
83 def_bool y
84
85# unless you want to implement ACPI on PA-RISC ... ;-)
86config PM
87 bool
88
89config STACKTRACE_SUPPORT
90 def_bool y
91
92config NEED_DMA_MAP_STATE
93 def_bool y
94
95config NEED_SG_DMA_LENGTH
96 def_bool y
97
98config ISA_DMA_API
99 bool
100
101config ARCH_MAY_HAVE_PC_FDC
102 bool
103 depends on BROKEN
104 default y
105
106config PGTABLE_LEVELS
107 int
108 default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
109 default 2
110
111config SYS_SUPPORTS_HUGETLBFS
112 def_bool y if PA20
113
114source "init/Kconfig"
115
116source "kernel/Kconfig.freezer"
117
118
119menu "Processor type and features"
120
121choice
122 prompt "Processor type"
123 default PA7000
124
125config PA7000
126 bool "PA7000/PA7100"
127 ---help---
128 This is the processor type of your CPU. This information is
129 used for optimizing purposes. In order to compile a kernel
130 that can run on all 32-bit PA CPUs (albeit not optimally fast),
131 you can specify "PA7000" here.
132
133 Specifying "PA8000" here will allow you to select a 64-bit kernel
134 which is required on some machines.
135
136config PA7100LC
137 bool "PA7100LC"
138 help
139 Select this option for the PCX-L processor, as used in the
140 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748,
141 D200, D210, D300, D310 and E-class
142
143config PA7200
144 bool "PA7200"
145 help
146 Select this option for the PCX-T' processor, as used in the
147 C100, C110, J100, J110, J210XC, D250, D260, D350, D360,
148 K100, K200, K210, K220, K400, K410 and K420
149
150config PA7300LC
151 bool "PA7300LC"
152 help
153 Select this option for the PCX-L2 processor, as used in the
154 744, A180, B132L, B160L, B180L, C132L, C160L, C180L,
155 D220, D230, D320 and D330.
156
157config PA8X00
158 bool "PA8000 and up"
159 help
160 Select this option for PCX-U to PCX-W2 processors.
161
162endchoice
163
164# Define implied options from the CPU selection here
165
166config PA20
167 def_bool y
168 depends on PA8X00
169
170config PA11
171 def_bool y
172 depends on PA7000 || PA7100LC || PA7200 || PA7300LC
173
174config PREFETCH
175 def_bool y
176 depends on PA8X00 || PA7200
177
178config MLONGCALLS
179 bool "Enable the -mlong-calls compiler option for big kernels"
180 def_bool y if (!MODULES)
181 depends on PA8X00
182 help
183 If you configure the kernel to include many drivers built-in instead
184 as modules, the kernel executable may become too big, so that the
185 linker will not be able to resolve some long branches and fails to link
186 your vmlinux kernel. In that case enabling this option will help you
187 to overcome this limit by using the -mlong-calls compiler option.
188
189 Usually you want to say N here, unless you e.g. want to build
190 a kernel which includes all necessary drivers built-in and which can
191 be used for TFTP booting without the need to have an initrd ramdisk.
192
193 Enabling this option will probably slow down your kernel.
194
195config 64BIT
196 bool "64-bit kernel"
197 depends on PA8X00
198 help
199 Enable this if you want to support 64bit kernel on PA-RISC platform.
200
201 At the moment, only people willing to use more than 2GB of RAM,
202 or having a 64bit-only capable PA-RISC machine should say Y here.
203
204 Since there is no 64bit userland on PA-RISC, there is no point to
205 enable this option otherwise. The 64bit kernel is significantly bigger
206 and slower than the 32bit one.
207
208choice
209 prompt "Kernel page size"
210 default PARISC_PAGE_SIZE_4KB
211
212config PARISC_PAGE_SIZE_4KB
213 bool "4KB"
214 help
215 This lets you select the page size of the kernel. For best
216 performance, a page size of 16KB is recommended. For best
217 compatibility with 32bit applications, a page size of 4KB should be
218 selected (the vast majority of 32bit binaries work perfectly fine
219 with a larger page size).
220
221 4KB For best 32bit compatibility
222 16KB For best performance
223 64KB For best performance, might give more overhead.
224
225 If you don't know what to do, choose 4KB.
226
227config PARISC_PAGE_SIZE_16KB
228 bool "16KB"
229 depends on PA8X00
230
231config PARISC_PAGE_SIZE_64KB
232 bool "64KB"
233 depends on PA8X00
234
235endchoice
236
237config SMP
238 bool "Symmetric multi-processing support"
239 ---help---
240 This enables support for systems with more than one CPU. If you have
241 a system with only one CPU, say N. If you have a system with more
242 than one CPU, say Y.
243
244 If you say N here, the kernel will run on uni- and multiprocessor
245 machines, but will use only one CPU of a multiprocessor machine. If
246 you say Y here, the kernel will run on many, but not all,
247 uniprocessor machines. On a uniprocessor machine, the kernel
248 will run faster if you say N here.
249
250 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
251 available at <http://www.tldp.org/docs.html#howto>.
252
253 If you don't know what to do here, say N.
254
255config IRQSTACKS
256 bool "Use separate kernel stacks when processing interrupts"
257 default y
258 help
259 If you say Y here the kernel will use separate kernel stacks
260 for handling hard and soft interrupts. This can help avoid
261 overflowing the process kernel stacks.
262
263config HOTPLUG_CPU
264 bool
265 default y if SMP
266
267config ARCH_SELECT_MEMORY_MODEL
268 def_bool y
269 depends on 64BIT
270
271config ARCH_DISCONTIGMEM_ENABLE
272 def_bool y
273 depends on 64BIT
274
275config ARCH_FLATMEM_ENABLE
276 def_bool y
277
278config ARCH_DISCONTIGMEM_DEFAULT
279 def_bool y
280 depends on ARCH_DISCONTIGMEM_ENABLE
281
282config NODES_SHIFT
283 int
284 default "3"
285 depends on NEED_MULTIPLE_NODES
286
287source "kernel/Kconfig.preempt"
288source "kernel/Kconfig.hz"
289source "mm/Kconfig"
290
291config COMPAT
292 def_bool y
293 depends on 64BIT
294
295config SYSVIPC_COMPAT
296 def_bool y
297 depends on COMPAT && SYSVIPC
298
299config AUDIT_ARCH
300 def_bool y
301
302config NR_CPUS
303 int "Maximum number of CPUs (2-32)"
304 range 2 32
305 depends on SMP
306 default "32"
307
308endmenu
309
310
311source "drivers/parisc/Kconfig"
312
313
314menu "Executable file formats"
315
316source "fs/Kconfig.binfmt"
317
318endmenu
319
320source "net/Kconfig"
321
322source "drivers/Kconfig"
323
324source "fs/Kconfig"
325
326source "arch/parisc/Kconfig.debug"
327
328config SECCOMP
329 def_bool y
330 prompt "Enable seccomp to safely compute untrusted bytecode"
331 ---help---
332 This kernel feature is useful for number crunching applications
333 that may need to compute untrusted bytecode during their
334 execution. By using pipes or other transports made available to
335 the process as file descriptors supporting the read/write
336 syscalls, it's possible to isolate those applications in
337 their own address space using seccomp. Once seccomp is
338 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
339 and the task is only allowed to execute a few safe syscalls
340 defined by each seccomp mode.
341
342 If unsure, say Y. Only embedded should say N here.
343
344source "security/Kconfig"
345
346source "crypto/Kconfig"
347
348source "lib/Kconfig"