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