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