parisc: Add hardened usercopy feature
[linux-2.6-block.git] / arch / parisc / Kconfig
CommitLineData
1da177e4
LT
1config PARISC
2 def_bool y
4a24fb2f 3 select ARCH_MIGHT_HAVE_PC_PARPORT
ec7748b5 4 select HAVE_IDE
42d4b839 5 select HAVE_OPROFILE
366dd4ea
HD
6 select HAVE_FUNCTION_TRACER
7 select HAVE_FUNCTION_GRAPH_TRACER
fc79168a 8 select HAVE_SYSCALL_TRACEPOINTS
4530c49e 9 select ARCH_WANT_FRAME_POINTERS
9eb16864 10 select RTC_CLASS
3afe6d04 11 select RTC_DRV_GENERIC
98a79d6a 12 select INIT_ALL_POSSIBLE
f67d3c83 13 select BUG
0de79858 14 select BUILDTIME_EXTABLE_SORT
cdd6c482 15 select HAVE_PERF_EVENTS
64daa443 16 select GENERIC_ATOMIC64 if !64BIT
f21dda02 17 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
72e73af1 18 select GENERIC_IRQ_PROBE
629a8581 19 select GENERIC_PCI_IOMAP
df013ffb 20 select ARCH_HAVE_NMI_SAFE_CMPXCHG
9a134723 21 select GENERIC_SMP_IDLE_THREAD
b1195c0e 22 select GENERIC_STRNCPY_FROM_USER
bf14e3b9 23 select SYSCTL_ARCH_UNALIGN_ALLOW
fef47e2a 24 select SYSCTL_EXCEPTION_TRACE
786d35d4 25 select HAVE_MOD_ARCH_SPECIFIC
9e91db6b 26 select HAVE_ARCH_HARDENED_USERCOPY
4febd95a 27 select VIRT_TO_BUS
786d35d4 28 select MODULES_USE_ELF_RELA
415bfae9 29 select CLONE_BACKWARDS
4f73bc4d 30 select TTY # Needed for pdc_cons.c
d1a1dc0b 31 select HAVE_DEBUG_STACKOVERFLOW
7a017721 32 select HAVE_ARCH_AUDITSYSCALL
773e1c5f 33 select HAVE_ARCH_HASH
910cd32e 34 select HAVE_ARCH_SECCOMP_FILTER
64e2a42b 35 select HAVE_ARCH_TRACEHOOK
54b66800 36 select HAVE_UNSTABLE_SCHED_CLOCK if (SMP || !64BIT)
79387179 37 select ARCH_NO_COHERENT_DMA_MMAP
fff7fb0b 38 select CPU_NO_EFFICIENT_FFS
72e73af1 39
1da177e4
LT
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
46config MMU
47 def_bool y
48
49config STACK_GROWSUP
50 def_bool y
51
95c354fe
NP
52config GENERIC_LOCKBREAK
53 bool
54 default y
55 depends on SMP && PREEMPT
56
1da177e4
LT
57config RWSEM_GENERIC_SPINLOCK
58 def_bool y
59
60config RWSEM_XCHGADD_ALGORITHM
61 bool
62
f0d1b0b3
DH
63config ARCH_HAS_ILOG2_U32
64 bool
65 default n
66
67config ARCH_HAS_ILOG2_U64
68 bool
69 default n
70
6891f8a1
HD
71config GENERIC_BUG
72 bool
73 default y
74 depends on BUG
75
59e18a2e
AM
76config GENERIC_HWEIGHT
77 bool
78 default y
79
1da177e4
LT
80config GENERIC_CALIBRATE_DELAY
81 bool
82 default y
83
06027bdd
IM
84config TIME_LOW_RES
85 bool
86 depends on SMP
87 default y
88
1da177e4
LT
89# unless you want to implement ACPI on PA-RISC ... ;-)
90config PM
91 bool
92
548f1176
HD
93config STACKTRACE_SUPPORT
94 def_bool y
95
74a0bd66
FT
96config NEED_DMA_MAP_STATE
97 def_bool y
98
f6ae31c2
FT
99config NEED_SG_DMA_LENGTH
100 def_bool y
101
5cae841b
AV
102config ISA_DMA_API
103 bool
5cae841b 104
a08b6b79
Z
105config ARCH_MAY_HAVE_PC_FDC
106 bool
8b631342 107 depends on BROKEN
a08b6b79
Z
108 default y
109
f24ffde4
KS
110config PGTABLE_LEVELS
111 int
112 default 3 if 64BIT && PARISC_PAGE_SIZE_4KB
113 default 2
114
736d2169
HD
115config SYS_SUPPORTS_HUGETLBFS
116 def_bool y if PA20
117
1da177e4
LT
118source "init/Kconfig"
119
dc52ddc0
MH
120source "kernel/Kconfig.freezer"
121
1da177e4
LT
122
123menu "Processor type and features"
124
125choice
126 prompt "Processor type"
127 default PA7000
128
129config 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
140config 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
147config 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
154config 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
161config PA8X00
162 bool "PA8000 and up"
163 help
164 Select this option for PCX-U to PCX-W2 processors.
165
166endchoice
167
168# Define implied options from the CPU selection here
169
170config PA20
171 def_bool y
172 depends on PA8X00
173
174config PA11
175 def_bool y
176 depends on PA7000 || PA7100LC || PA7200 || PA7300LC
177
178config PREFETCH
179 def_bool y
32104b29 180 depends on PA8X00 || PA7200
1da177e4 181
ec758f98
HD
182config 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
1da177e4
LT
199config 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
2fd83038
HD
212choice
213 prompt "Kernel page size"
1c5f873d 214 default PARISC_PAGE_SIZE_4KB
2fd83038
HD
215
216config 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
231config PARISC_PAGE_SIZE_16KB
daef22cf
KC
232 bool "16KB"
233 depends on PA8X00
2fd83038
HD
234
235config PARISC_PAGE_SIZE_64KB
daef22cf
KC
236 bool "64KB"
237 depends on PA8X00
2fd83038
HD
238
239endchoice
240
1da177e4
LT
241config SMP
242 bool "Symmetric multi-processing support"
243 ---help---
244 This enables support for systems with more than one CPU. If you have
4a474157
RG
245 a system with only one CPU, say N. If you have a system with more
246 than one CPU, say Y.
1da177e4 247
4a474157 248 If you say N here, the kernel will run on uni- and multiprocessor
1da177e4
LT
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,
4a474157 251 uniprocessor machines. On a uniprocessor machine, the kernel
1da177e4
LT
252 will run faster if you say N here.
253
03502faa
AB
254 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
255 available at <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
256
257 If you don't know what to do here, say N.
200c8804
HD
258
259config IRQSTACKS
260 bool "Use separate kernel stacks when processing interrupts"
416821d3 261 default y
200c8804
HD
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.
1da177e4
LT
266
267config HOTPLUG_CPU
268 bool
269 default y if SMP
1da177e4 270
a2ba82cd
KM
271config ARCH_SELECT_MEMORY_MODEL
272 def_bool y
273 depends on 64BIT
274
3f22ab27 275config ARCH_DISCONTIGMEM_ENABLE
a2ba82cd
KM
276 def_bool y
277 depends on 64BIT
278
279config ARCH_FLATMEM_ENABLE
280 def_bool y
281
282config ARCH_DISCONTIGMEM_DEFAULT
283 def_bool y
284 depends on ARCH_DISCONTIGMEM_ENABLE
1da177e4 285
c80d79d7
YG
286config NODES_SHIFT
287 int
288 default "3"
289 depends on NEED_MULTIPLE_NODES
290
50a34dbd 291source "kernel/Kconfig.preempt"
8b631342 292source "kernel/Kconfig.hz"
3f22ab27
DH
293source "mm/Kconfig"
294
1da177e4
LT
295config COMPAT
296 def_bool y
297 depends on 64BIT
298
bf581e15
HD
299config SYSVIPC_COMPAT
300 def_bool y
301 depends on COMPAT && SYSVIPC
302
527973c8
HD
303config AUDIT_ARCH
304 def_bool y
305
1da177e4
LT
306config NR_CPUS
307 int "Maximum number of CPUs (2-32)"
308 range 2 32
309 depends on SMP
310 default "32"
311
312endmenu
313
314
315source "drivers/parisc/Kconfig"
316
317
318menu "Executable file formats"
319
320source "fs/Kconfig.binfmt"
321
322endmenu
323
d5950b43
SR
324source "net/Kconfig"
325
1da177e4
LT
326source "drivers/Kconfig"
327
328source "fs/Kconfig"
329
1da177e4
LT
330source "arch/parisc/Kconfig.debug"
331
c90f0694
HD
332config 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
1da177e4
LT
348source "security/Kconfig"
349
350source "crypto/Kconfig"
351
352source "lib/Kconfig"