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