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