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