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