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