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