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