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