]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/ppc64/Kconfig
[PATCH] ppc64: support 64k pages
[mirror_ubuntu-bionic-kernel.git] / arch / ppc64 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 config 64BIT
7 def_bool y
8
9 config MMU
10 bool
11 default y
12
13 config PPC_STD_MMU
14 def_bool y
15
16 config UID16
17 bool
18
19 config RWSEM_GENERIC_SPINLOCK
20 bool
21
22 config RWSEM_XCHGADD_ALGORITHM
23 bool
24 default y
25
26 config GENERIC_CALIBRATE_DELAY
27 bool
28 default y
29
30 config GENERIC_ISA_DMA
31 bool
32 default y
33
34 config EARLY_PRINTK
35 bool
36 default y
37
38 config COMPAT
39 bool
40 default y
41
42 config SCHED_NO_NO_OMIT_FRAME_POINTER
43 bool
44 default y
45
46 config ARCH_MAY_HAVE_PC_FDC
47 bool
48 default y
49
50 config PPC_STD_MMU
51 bool
52 default y
53
54 # We optimistically allocate largepages from the VM, so make the limit
55 # large enough (16MB). This badly named config option is actually
56 # max order + 1
57 config FORCE_MAX_ZONEORDER
58 int
59 default "13"
60
61 source "init/Kconfig"
62
63 config SYSVIPC_COMPAT
64 bool
65 depends on COMPAT && SYSVIPC
66 default y
67
68 menu "Platform support"
69
70 choice
71 prompt "Platform Type"
72 default PPC_MULTIPLATFORM
73
74 config PPC_ISERIES
75 bool "IBM Legacy iSeries"
76
77 config PPC_MULTIPLATFORM
78 bool "Generic"
79
80 endchoice
81
82 config PPC_PSERIES
83 depends on PPC_MULTIPLATFORM
84 bool " IBM pSeries & new iSeries"
85 default y
86
87 config PPC_BPA
88 bool " Broadband Processor Architecture"
89 depends on PPC_MULTIPLATFORM
90
91 config PPC_PMAC
92 depends on PPC_MULTIPLATFORM
93 bool " Apple G5 based machines"
94 default y
95 select U3_DART
96 select GENERIC_TBSYNC
97
98 config PPC_MAPLE
99 depends on PPC_MULTIPLATFORM
100 bool " Maple 970FX Evaluation Board"
101 select U3_DART
102 select MPIC_BROKEN_U3
103 select GENERIC_TBSYNC
104 default n
105 help
106 This option enables support for the Maple 970FX Evaluation Board.
107 For more informations, refer to <http://www.970eval.com>
108
109 config PPC
110 bool
111 default y
112
113 config PPC64
114 bool
115 default y
116
117 config PPC_OF
118 depends on PPC_MULTIPLATFORM
119 bool
120 default y
121
122 config XICS
123 depends on PPC_PSERIES
124 bool
125 default y
126
127 config MPIC
128 depends on PPC_PSERIES || PPC_PMAC || PPC_MAPLE
129 bool
130 default y
131
132 config PPC_I8259
133 depends on PPC_PSERIES
134 bool
135 default y
136
137 config BPA_IIC
138 depends on PPC_BPA
139 bool
140 default y
141
142 # VMX is pSeries only for now until somebody writes the iSeries
143 # exception vectors for it
144 config ALTIVEC
145 bool "Support for VMX (Altivec) vector unit"
146 depends on PPC_MULTIPLATFORM
147 default y
148
149 config PPC_SPLPAR
150 depends on PPC_PSERIES
151 bool "Support for shared-processor logical partitions"
152 default n
153 help
154 Enabling this option will make the kernel run more efficiently
155 on logically-partitioned pSeries systems which use shared
156 processors, that is, which share physical processors between
157 two or more partitions.
158
159 config KEXEC
160 bool "kexec system call (EXPERIMENTAL)"
161 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
162 help
163 kexec is a system call that implements the ability to shutdown your
164 current kernel, and to start another kernel. It is like a reboot
165 but it is indepedent of the system firmware. And like a reboot
166 you can start any kernel with it, not just Linux.
167
168 The name comes from the similiarity to the exec system call.
169
170 It is an ongoing process to be certain the hardware in a machine
171 is properly shutdown, so do not be surprised if this code does not
172 initially work for you. It may help to enable device hotplugging
173 support. As of this writing the exact hardware interface is
174 strongly in flux, so no good recommendation can be made.
175
176 config IBMVIO
177 depends on PPC_PSERIES || PPC_ISERIES
178 bool
179 default y
180
181 config U3_DART
182 bool
183 depends on PPC_MULTIPLATFORM
184 default n
185
186 config MPIC_BROKEN_U3
187 bool
188 depends on PPC_MAPLE
189 default y
190
191 config GENERIC_TBSYNC
192 def_bool n
193
194 config PPC_PMAC64
195 bool
196 depends on PPC_PMAC
197 default y
198
199 config BOOTX_TEXT
200 bool "Support for early boot text console"
201 depends PPC_OF
202 help
203 Say Y here to see progress messages from the boot firmware in text
204 mode. Requires an Open Firmware compatible video card.
205
206 config POWER4
207 def_bool y
208
209 config PPC_FPU
210 def_bool y
211
212 config POWER4_ONLY
213 bool "Optimize for POWER4"
214 default n
215 ---help---
216 Cause the compiler to optimize for POWER4 processors. The resulting
217 binary will not work on POWER3 or RS64 processors when compiled with
218 binutils 2.15 or later.
219
220 config IOMMU_VMERGE
221 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
222 depends on EXPERIMENTAL
223 default n
224 help
225 Cause IO segments sent to a device for DMA to be merged virtually
226 by the IOMMU when they happen to have been allocated contiguously.
227 This doesn't add pressure to the IOMMU allocator. However, some
228 drivers don't support getting large merged segments coming back
229 from *_map_sg(). Say Y if you know the drivers you are using are
230 properly handling this case.
231
232 config SMP
233 bool "Symmetric multi-processing support"
234 ---help---
235 This enables support for systems with more than one CPU. If you have
236 a system with only one CPU, say N. If you have a system with more
237 than one CPU, say Y.
238
239 If you say N here, the kernel will run on single and multiprocessor
240 machines, but will use only one CPU of a multiprocessor machine. If
241 you say Y here, the kernel will run on single-processor machines.
242 On a single-processor machine, the kernel will run faster if you say
243 N here.
244
245 If you don't know what to do here, say Y.
246
247 config NR_CPUS
248 int "Maximum number of CPUs (2-128)"
249 range 2 128
250 depends on SMP
251 default "32"
252
253 config HMT
254 bool "Hardware multithreading"
255 depends on SMP && PPC_PSERIES && BROKEN
256 help
257 This option enables hardware multithreading on RS64 cpus.
258 pSeries systems p620 and p660 have such a cpu type.
259
260 config NUMA
261 bool "NUMA support"
262 default y if SMP && PPC_PSERIES
263
264 config ARCH_SELECT_MEMORY_MODEL
265 def_bool y
266
267 config ARCH_FLATMEM_ENABLE
268 def_bool y
269 depends on !NUMA
270
271 config ARCH_DISCONTIGMEM_ENABLE
272 def_bool y
273 depends on SMP && PPC_PSERIES
274
275 config ARCH_DISCONTIGMEM_DEFAULT
276 def_bool y
277 depends on ARCH_DISCONTIGMEM_ENABLE
278
279 config ARCH_SPARSEMEM_ENABLE
280 def_bool y
281 depends on ARCH_DISCONTIGMEM_ENABLE
282
283 source "mm/Kconfig"
284
285 config HAVE_ARCH_EARLY_PFN_TO_NID
286 def_bool y
287 depends on NEED_MULTIPLE_NODES
288
289 # Some NUMA nodes have memory ranges that span
290 # other nodes. Even though a pfn is valid and
291 # between a node's start and end pfns, it may not
292 # reside on that node.
293 #
294 # This is a relatively temporary hack that should
295 # be able to go away when sparsemem is fully in
296 # place
297 config NODES_SPAN_OTHER_NODES
298 def_bool y
299 depends on NEED_MULTIPLE_NODES
300
301 config PPC_64K_PAGES
302 bool "64k page size"
303 help
304 This option changes the kernel logical page size to 64k. On machines
305 without processor support for 64k pages, the kernel will simulate
306 them by loading each individual 4k page on demand transparently,
307 while on hardware with such support, it will be used to map
308 normal application pages.
309
310 config SCHED_SMT
311 bool "SMT (Hyperthreading) scheduler support"
312 depends on SMP
313 default off
314 help
315 SMT scheduler support improves the CPU scheduler's decision making
316 when dealing with POWER5 cpus at a cost of slightly increased
317 overhead in some places. If unsure say N here.
318
319 source "kernel/Kconfig.preempt"
320 source kernel/Kconfig.hz
321
322 config EEH
323 bool "PCI Extended Error Handling (EEH)" if EMBEDDED
324 depends on PPC_PSERIES
325 default y if !EMBEDDED
326
327 #
328 # Use the generic interrupt handling code in kernel/irq/:
329 #
330 config GENERIC_HARDIRQS
331 bool
332 default y
333
334 config PPC_RTAS
335 bool
336 depends on PPC_PSERIES || PPC_BPA
337 default y
338
339 config RTAS_ERROR_LOGGING
340 bool
341 depends on PPC_RTAS
342 default y
343
344 config RTAS_PROC
345 bool "Proc interface to RTAS"
346 depends on PPC_RTAS
347 default y
348
349 config RTAS_FLASH
350 tristate "Firmware flash interface"
351 depends on RTAS_PROC
352
353 config SCANLOG
354 tristate "Scanlog dump interface"
355 depends on RTAS_PROC && PPC_PSERIES
356
357 config LPARCFG
358 tristate "LPAR Configuration Data"
359 depends on PPC_PSERIES || PPC_ISERIES
360 help
361 Provide system capacity information via human readable
362 <key word>=<value> pairs through a /proc/ppc64/lparcfg interface.
363
364 config SECCOMP
365 bool "Enable seccomp to safely compute untrusted bytecode"
366 depends on PROC_FS
367 default y
368 help
369 This kernel feature is useful for number crunching applications
370 that may need to compute untrusted bytecode during their
371 execution. By using pipes or other transports made available to
372 the process as file descriptors supporting the read/write
373 syscalls, it's possible to isolate those applications in
374 their own address space using seccomp. Once seccomp is
375 enabled via /proc/<pid>/seccomp, it cannot be disabled
376 and the task is only allowed to execute a few safe syscalls
377 defined by each seccomp mode.
378
379 If unsure, say Y. Only embedded should say N here.
380
381 source "fs/Kconfig.binfmt"
382
383 config HOTPLUG_CPU
384 bool "Support for hot-pluggable CPUs"
385 depends on SMP && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
386 select HOTPLUG
387 ---help---
388 Say Y here to be able to turn CPUs off and on.
389
390 Say N if you are unsure.
391
392 config PROC_DEVICETREE
393 bool "Support for Open Firmware device tree in /proc"
394 help
395 This option adds a device-tree directory under /proc which contains
396 an image of the device tree that the kernel copies from Open
397 Firmware. If unsure, say Y here.
398
399 config CMDLINE_BOOL
400 bool "Default bootloader kernel arguments"
401 depends on !PPC_ISERIES
402
403 config CMDLINE
404 string "Initial kernel command string"
405 depends on CMDLINE_BOOL
406 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
407 help
408 On some platforms, there is currently no way for the boot loader to
409 pass arguments to the kernel. For these platforms, you can supply
410 some command-line options at build time by entering them here. In
411 most cases you will need to specify the root device here.
412
413 endmenu
414
415 config ISA_DMA_API
416 bool
417 default y
418
419 menu "Bus Options"
420
421 config ISA
422 bool
423 help
424 Find out whether you have ISA slots on your motherboard. ISA is the
425 name of a bus system, i.e. the way the CPU talks to the other stuff
426 inside your box. If you have an Apple machine, say N here; if you
427 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
428 you have an embedded board, consult your board documentation.
429
430 config SBUS
431 bool
432
433 config MCA
434 bool
435
436 config EISA
437 bool
438
439 config PCI
440 bool "support for PCI devices" if (EMBEDDED && PPC_ISERIES)
441 default y
442 help
443 Find out whether your system includes a PCI bus. PCI is the name of
444 a bus system, i.e. the way the CPU talks to the other stuff inside
445 your box. If you say Y here, the kernel will include drivers and
446 infrastructure code to support PCI bus devices.
447
448 config PCI_DOMAINS
449 bool
450 default PCI
451
452 source "drivers/pci/Kconfig"
453
454 source "drivers/pcmcia/Kconfig"
455
456 source "drivers/pci/hotplug/Kconfig"
457
458 endmenu
459
460 source "net/Kconfig"
461
462 source "drivers/Kconfig"
463
464 source "fs/Kconfig"
465
466 menu "iSeries device drivers"
467 depends on PPC_ISERIES
468
469 config VIOCONS
470 tristate "iSeries Virtual Console Support"
471
472 config VIODASD
473 tristate "iSeries Virtual I/O disk support"
474 help
475 If you are running on an iSeries system and you want to use
476 virtual disks created and managed by OS/400, say Y.
477
478 config VIOCD
479 tristate "iSeries Virtual I/O CD support"
480 help
481 If you are running Linux on an IBM iSeries system and you want to
482 read a CD drive owned by OS/400, say Y here.
483
484 config VIOTAPE
485 tristate "iSeries Virtual Tape Support"
486 help
487 If you are running Linux on an iSeries system and you want Linux
488 to read and/or write a tape drive owned by OS/400, say Y here.
489
490 endmenu
491
492 config VIOPATH
493 bool
494 depends on VIOCONS || VIODASD || VIOCD || VIOTAPE || VETH
495 default y
496
497 source "arch/powerpc/oprofile/Kconfig"
498
499 source "arch/ppc64/Kconfig.debug"
500
501 source "security/Kconfig"
502
503 config KEYS_COMPAT
504 bool
505 depends on COMPAT && KEYS
506 default y
507
508 source "crypto/Kconfig"
509
510 source "lib/Kconfig"