OSDN Git Service

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