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