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