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