[BNX2]: Fix 2nd port's MAC address.
[deliverable/linux.git] / arch / powerpc / Kconfig
CommitLineData
14cf11af
PM
1# For a description of the syntax of this configuration file,
2# see Documentation/kbuild/kconfig-language.txt.
3#
4
5mainmenu "Linux/PowerPC Kernel Configuration"
6
7config PPC64
8 bool "64-bit kernel"
9 default n
10 help
11 This option selects whether a 32-bit or a 64-bit kernel
12 will be built.
13
14config PPC32
15 bool
16 default y if !PPC64
17
18config 64BIT
19 bool
20 default y if PPC64
21
22config PPC_MERGE
23 def_bool y
24
25config MMU
26 bool
27 default y
28
14cf11af
PM
29config GENERIC_HARDIRQS
30 bool
31 default y
32
0d7012a9
IM
33config IRQ_PER_CPU
34 bool
35 default y
36
14cf11af
PM
37config RWSEM_GENERIC_SPINLOCK
38 bool
39
40config RWSEM_XCHGADD_ALGORITHM
41 bool
42 default y
43
f0d1b0b3
DH
44config ARCH_HAS_ILOG2_U32
45 bool
ef55d53c 46 default y
f0d1b0b3
DH
47
48config ARCH_HAS_ILOG2_U64
49 bool
ef55d53c 50 default y if 64BIT
f0d1b0b3 51
e779b2f9
AM
52config GENERIC_HWEIGHT
53 bool
54 default y
55
14cf11af
PM
56config GENERIC_CALIBRATE_DELAY
57 bool
58 default y
59
0a9cb46a
JM
60config GENERIC_FIND_NEXT_BIT
61 bool
62 default y
63
14cf11af
PM
64config PPC
65 bool
66 default y
67
68config EARLY_PRINTK
69 bool
51d3082f 70 default y
14cf11af
PM
71
72config COMPAT
73 bool
74 default y if PPC64
75
76config SYSVIPC_COMPAT
77 bool
78 depends on COMPAT && SYSVIPC
79 default y
80
81# All PPC32s use generic nvram driver through ppc_md
82config GENERIC_NVRAM
83 bool
84 default y if PPC32
85
86config SCHED_NO_NO_OMIT_FRAME_POINTER
87 bool
88 default y
89
90config ARCH_MAY_HAVE_PC_FDC
91 bool
92 default y
93
08264cbc
KG
94config PPC_OF
95 def_bool y
96
97config PPC_UDBG_16550
98 bool
99 default n
100
08264cbc
KG
101config GENERIC_TBSYNC
102 bool
103 default y if PPC32 && SMP
104 default n
105
e65e1fc2
AV
106config AUDIT_ARCH
107 bool
108 default y
109
73c9ceab
JF
110config GENERIC_BUG
111 bool
112 default y
113 depends on BUG
114
f4fc4a5b
KG
115config DEFAULT_UIMAGE
116 bool
117 help
118 Used to allow a board to specify it wants a uImage built by default
119 default n
120
14cf11af
PM
121menu "Processor support"
122choice
123 prompt "Processor Type"
124 depends on PPC32
125 default 6xx
126
08264cbc 127config CLASSIC32
650f3289 128 bool "52xx/6xx/7xx/74xx"
14cf11af 129 select PPC_FPU
08264cbc 130 select 6xx
14cf11af
PM
131 help
132 There are four families of PowerPC chips supported. The more common
133 types (601, 603, 604, 740, 750, 7400), the Motorola embedded
134 versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
135 embedded versions (403 and 405) and the high end 64 bit Power
136 processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
650f3289
GL
137
138 This option is the catch-all for 6xx types, including some of the
139 embedded versions. Unless there is see an option for the specific
140 chip family you are using, you want this option.
141
142 You do not want this if you are building a kernel for a 64 bit
143 IBM RS/6000 or an Apple G5, choose 6xx.
144
145 If unsure, select this option
14cf11af 146
14cf11af
PM
147 Note that the kernel runs in 32-bit mode even on 64-bit chips.
148
14cf11af
PM
149config PPC_82xx
150 bool "Freescale 82xx"
08264cbc
KG
151 select 6xx
152 select PPC_FPU
14cf11af
PM
153
154config PPC_83xx
155 bool "Freescale 83xx"
08264cbc
KG
156 select 6xx
157 select FSL_SOC
158 select 83xx
159 select PPC_FPU
14cf11af 160
63dafe57
BB
161config PPC_85xx
162 bool "Freescale 85xx"
163 select E500
164 select FSL_SOC
165 select 85xx
166
c9b484b5
JL
167config PPC_86xx
168 bool "Freescale 86xx"
169 select 6xx
170 select FSL_SOC
171 select PPC_FPU
172 select ALTIVEC
173 help
174 The Freescale E600 SoCs have 74xx cores.
175
14cf11af
PM
176config 40x
177 bool "AMCC 40x"
4c75a6f4 178 select PPC_DCR_NATIVE
14cf11af
PM
179
180config 44x
181 bool "AMCC 44x"
4c75a6f4 182 select PPC_DCR_NATIVE
14cf11af 183
14cf11af
PM
184config 8xx
185 bool "Freescale 8xx"
186
187config E200
188 bool "Freescale e200"
189
14cf11af
PM
190endchoice
191
192config POWER4_ONLY
193 bool "Optimize for POWER4"
187a0067 194 depends on PPC64
14cf11af
PM
195 default n
196 ---help---
197 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
198 The resulting binary will not work on POWER3 or RS64 processors
199 when compiled with binutils 2.15 or later.
200
201config POWER3
202 bool
187a0067 203 depends on PPC64
14cf11af
PM
204 default y if !POWER4_ONLY
205
206config POWER4
187a0067 207 depends on PPC64
14cf11af
PM
208 def_bool y
209
08264cbc
KG
210config 6xx
211 bool
212
213# this is temp to handle compat with arch=ppc
214config 83xx
215 bool
216
63dafe57
BB
217# this is temp to handle compat with arch=ppc
218config 85xx
219 bool
220
221config E500
222 bool
223
14cf11af 224config PPC_FPU
187a0067
PM
225 bool
226 default y if PPC64
14cf11af 227
4c75a6f4
BH
228config PPC_DCR_NATIVE
229 bool
230 default n
231
232config PPC_DCR_MMIO
233 bool
234 default n
235
236config PPC_DCR
237 bool
238 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
239 default y
240
4c9d2800
BH
241config PPC_OF_PLATFORM_PCI
242 bool
243 depends on PPC64 # not supported on 32 bits yet
244 default n
245
14cf11af
PM
246config BOOKE
247 bool
248 depends on E200 || E500
249 default y
250
251config FSL_BOOKE
252 bool
253 depends on E200 || E500
254 default y
255
256config PTE_64BIT
257 bool
258 depends on 44x || E500
259 default y if 44x
260 default y if E500 && PHYS_64BIT
261
262config PHYS_64BIT
263 bool 'Large physical address support' if E500
264 depends on 44x || E500
3d1ea8e8 265 select RESOURCES_64BIT
14cf11af
PM
266 default y if 44x
267 ---help---
268 This option enables kernel support for larger than 32-bit physical
269 addresses. This features is not be available on all e500 cores.
270
271 If in doubt, say N here.
272
273config ALTIVEC
274 bool "AltiVec Support"
08264cbc 275 depends on CLASSIC32 || POWER4
14cf11af
PM
276 ---help---
277 This option enables kernel support for the Altivec extensions to the
278 PowerPC processor. The kernel currently supports saving and restoring
279 altivec registers, and turning on the 'altivec enable' bit so user
280 processes can execute altivec instructions.
281
282 This option is only usefully if you have a processor that supports
283 altivec (G4, otherwise known as 74xx series), but does not have
284 any affect on a non-altivec cpu (it does, however add code to the
285 kernel).
286
287 If in doubt, say Y here.
288
289config SPE
290 bool "SPE Support"
291 depends on E200 || E500
63dafe57 292 default y
14cf11af
PM
293 ---help---
294 This option enables kernel support for the Signal Processing
295 Extensions (SPE) to the PowerPC processor. The kernel currently
296 supports saving and restoring SPE registers, and turning on the
297 'spe enable' bit so user processes can execute SPE instructions.
298
299 This option is only useful if you have a processor that supports
300 SPE (e500, otherwise known as 85xx series), but does not have any
301 effect on a non-spe cpu (it does, however add code to the kernel).
302
303 If in doubt, say Y here.
304
305config PPC_STD_MMU
306 bool
307 depends on 6xx || POWER3 || POWER4 || PPC64
308 default y
309
310config PPC_STD_MMU_32
311 def_bool y
312 depends on PPC_STD_MMU && PPC32
313
c6622f63
PM
314config VIRT_CPU_ACCOUNTING
315 bool "Deterministic task and CPU time accounting"
316 depends on PPC64
317 default y
318 help
319 Select this option to enable more accurate task and CPU time
320 accounting. This is done by reading a CPU counter on each
321 kernel entry and exit and on transitions within the kernel
322 between system, softirq and hardirq state, so there is a
323 small performance impact. This also enables accounting of
324 stolen time on logically-partitioned systems running on
325 IBM POWER5-based machines.
326
327 If in doubt, say Y here.
328
14cf11af
PM
329config SMP
330 depends on PPC_STD_MMU
331 bool "Symmetric multi-processing support"
332 ---help---
333 This enables support for systems with more than one CPU. If you have
334 a system with only one CPU, say N. If you have a system with more
335 than one CPU, say Y. Note that the kernel does not currently
336 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
337 since they have inadequate hardware support for multiprocessor
338 operation.
339
340 If you say N here, the kernel will run on single and multiprocessor
341 machines, but will use only one CPU of a multiprocessor machine. If
342 you say Y here, the kernel will run on single-processor machines.
343 On a single-processor machine, the kernel will run faster if you say
344 N here.
345
346 If you don't know what to do here, say N.
347
348config NR_CPUS
e8a167ac 349 int "Maximum number of CPUs (2-128)"
14cf11af
PM
350 range 2 128
351 depends on SMP
352 default "32" if PPC64
353 default "4"
354
355config NOT_COHERENT_CACHE
356 bool
357 depends on 4xx || 8xx || E200
358 default y
359endmenu
360
361source "init/Kconfig"
362
363menu "Platform support"
08264cbc 364 depends on PPC64 || CLASSIC32
14cf11af
PM
365
366choice
367 prompt "Machine type"
368 default PPC_MULTIPLATFORM
369
370config PPC_MULTIPLATFORM
371 bool "Generic desktop/server/laptop"
372 help
373 Select this option if configuring for an IBM pSeries or
374 RS/6000 machine, an Apple machine, or a PReP, CHRP,
375 Maple or Cell-based machine.
376
14cf11af
PM
377config EMBEDDED6xx
378 bool "Embedded 6xx/7xx/7xxx-based board"
c5d56332 379 depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
14cf11af
PM
380
381config APUS
382 bool "Amiga-APUS"
383 depends on PPC32 && BROKEN
384 help
385 Select APUS if configuring for a PowerUP Amiga.
386 More information is available at:
387 <http://linux-apus.sourceforge.net/>.
388endchoice
389
98658538
LY
390config QUICC_ENGINE
391 bool
392 depends on PPC_MPC836x || PPC_MPC832x
393 default y
394 help
395 The QUICC Engine (QE) is a new generation of communications
396 coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
397 Selecting this option means that you wish to build a kernel
398 for a machine with a QE coprocessor.
399
14cf11af
PM
400config PPC_PSERIES
401 depends on PPC_MULTIPLATFORM && PPC64
4a3ecc62 402 bool "IBM pSeries & new (POWER5-based) iSeries"
7233593b 403 select MPIC
f9bd170a 404 select PPC_I8259
033ef338
PM
405 select PPC_RTAS
406 select RTAS_ERROR_LOGGING
13b8a272 407 select PPC_UDBG_16550
e22ba7e3 408 select PPC_NATIVE
14cf11af
PM
409 default y
410
a542dbd3
SR
411config PPC_ISERIES
412 bool "IBM Legacy iSeries"
413 depends on PPC_MULTIPLATFORM && PPC64
4cb3cee0 414 select PPC_INDIRECT_IO
a542dbd3 415
14cf11af 416config PPC_CHRP
4a3ecc62 417 bool "Common Hardware Reference Platform (CHRP) based machines"
14cf11af 418 depends on PPC_MULTIPLATFORM && PPC32
7233593b 419 select MPIC
f9bd170a 420 select PPC_I8259
25635c71 421 select PPC_INDIRECT_PCI
033ef338 422 select PPC_RTAS
830825d6 423 select PPC_MPC106
13b8a272 424 select PPC_UDBG_16550
e22ba7e3 425 select PPC_NATIVE
14cf11af
PM
426 default y
427
d4150248
GL
428config PPC_MPC52xx
429 bool
430 default n
431
c37858d3
ND
432config PPC_EFIKA
433 bool "bPlan Efika 5k2. MPC5200B based computer"
434 depends on PPC_MULTIPLATFORM && PPC32
435 select PPC_RTAS
436 select RTAS_PROC
437 select PPC_MPC52xx
e22ba7e3 438 select PPC_NATIVE
7232846b 439 default n
c37858d3 440
6b642531
GL
441config PPC_LITE5200
442 bool "Freescale Lite5200 Eval Board"
443 depends on PPC_MULTIPLATFORM && PPC32
444 select PPC_MPC52xx
445 default n
446
14cf11af 447config PPC_PMAC
4a3ecc62 448 bool "Apple PowerMac based machines"
14cf11af 449 depends on PPC_MULTIPLATFORM
7233593b 450 select MPIC
25635c71 451 select PPC_INDIRECT_PCI if PPC32
b6a4ce52 452 select PPC_MPC106 if PPC32
e22ba7e3 453 select PPC_NATIVE
14cf11af
PM
454 default y
455
456config PPC_PMAC64
457 bool
458 depends on PPC_PMAC && POWER4
7233593b 459 select MPIC
35499c01 460 select U3_DART
1beb6a7d 461 select MPIC_BROKEN_U3
8ad200d7 462 select GENERIC_TBSYNC
f39224a8 463 select PPC_970_NAP
14cf11af
PM
464 default y
465
466config PPC_PREP
4a3ecc62 467 bool "PowerPC Reference Platform (PReP) based machines"
5be396b0 468 depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
7233593b 469 select MPIC
f9bd170a 470 select PPC_I8259
25635c71 471 select PPC_INDIRECT_PCI
13b8a272 472 select PPC_UDBG_16550
e22ba7e3 473 select PPC_NATIVE
7232846b 474 default n
14cf11af
PM
475
476config PPC_MAPLE
477 depends on PPC_MULTIPLATFORM && PPC64
4a3ecc62 478 bool "Maple 970FX Evaluation Board"
7233593b 479 select MPIC
14cf11af
PM
480 select U3_DART
481 select MPIC_BROKEN_U3
8ad200d7 482 select GENERIC_TBSYNC
13b8a272 483 select PPC_UDBG_16550
f39224a8 484 select PPC_970_NAP
e22ba7e3 485 select PPC_NATIVE
9d9d868e 486 select PPC_RTAS
14cf11af
PM
487 default n
488 help
489 This option enables support for the Maple 970FX Evaluation Board.
3cb2fccc 490 For more information, refer to <http://www.970eval.com>
14cf11af 491
1e76875e
OJ
492config PPC_PASEMI
493 depends on PPC_MULTIPLATFORM && PPC64
494 bool "PA Semi SoC-based platforms"
495 default n
496 select MPIC
497 select PPC_UDBG_16550
498 select GENERIC_TBSYNC
e22ba7e3 499 select PPC_NATIVE
1e76875e
OJ
500 help
501 This option enables support for PA Semi's PWRficient line
502 of SoC processors, including PA6T-1682M
503
f3f66f59 504config PPC_CELL
c01ea72a
GL
505 bool
506 default n
507
508config PPC_CELL_NATIVE
509 bool
510 select PPC_CELL
4c75a6f4 511 select PPC_DCR_MMIO
4c9d2800 512 select PPC_OF_PLATFORM_PCI
014da7ff 513 select PPC_INDIRECT_IO
e22ba7e3 514 select PPC_NATIVE
21fb5a1d 515 select MPIC
c01ea72a
GL
516 default n
517
518config PPC_IBM_CELL_BLADE
f127a2b5 519 bool "IBM Cell Blade"
14cf11af 520 depends on PPC_MULTIPLATFORM && PPC64
c01ea72a 521 select PPC_CELL_NATIVE
033ef338 522 select PPC_RTAS
edf03c1e 523 select MMIO_NVRAM
13b8a272 524 select PPC_UDBG_16550
94b60ec1 525 select UDBG_RTAS_CONSOLE
14cf11af 526
f58a9d17
GL
527config PPC_PS3
528 bool "Sony PS3"
529 depends on PPC_MULTIPLATFORM && PPC64
530 select PPC_CELL
531 help
532 This option enables support for the Sony PS3 game console
533 and other platforms using the PS3 hypervisor.
534
e22ba7e3
AB
535config PPC_NATIVE
536 bool
537 depends on PPC_MULTIPLATFORM
538 help
539 Support for running natively on the hardware, i.e. without
540 a hypervisor. This option is not user-selectable but should
541 be selected by all platforms that need it.
542
543config UDBG_RTAS_CONSOLE
544 bool "RTAS based debug console"
545 depends on PPC_RTAS
546 default n
547
14cf11af
PM
548config XICS
549 depends on PPC_PSERIES
550 bool
551 default y
552
553config U3_DART
554 bool
555 depends on PPC_MULTIPLATFORM && PPC64
556 default n
557
033ef338
PM
558config PPC_RTAS
559 bool
560 default n
561
562config RTAS_ERROR_LOGGING
563 bool
564 depends on PPC_RTAS
565 default n
566
f4fcbbe9
PM
567config RTAS_PROC
568 bool "Proc interface to RTAS"
e9add2ee 569 depends on PPC_RTAS
f4fcbbe9
PM
570 default y
571
572config RTAS_FLASH
573 tristate "Firmware flash interface"
574 depends on PPC64 && RTAS_PROC
e9add2ee 575
edf03c1e
AB
576config MMIO_NVRAM
577 bool
578 default n
579
14cf11af
PM
580config MPIC_BROKEN_U3
581 bool
582 depends on PPC_MAPLE
583 default y
584
14cf11af
PM
585config IBMVIO
586 depends on PPC_PSERIES || PPC_ISERIES
587 bool
588 default y
589
d7a30103
HS
590config IBMEBUS
591 depends on PPC_PSERIES
592 bool "Support for GX bus based adapters"
d7a30103
HS
593 help
594 Bus device driver for GX bus based adapters.
595
830825d6
PM
596config PPC_MPC106
597 bool
598 default n
599
f39224a8
PM
600config PPC_970_NAP
601 bool
602 default n
603
4cb3cee0
BH
604config PPC_INDIRECT_IO
605 bool
606 select GENERIC_IOMAP
607 default n
608
609config GENERIC_IOMAP
610 bool
611 default n
612
14cf11af
PM
613source "drivers/cpufreq/Kconfig"
614
615config CPU_FREQ_PMAC
616 bool "Support for Apple PowerBooks"
617 depends on CPU_FREQ && ADB_PMU && PPC32
618 select CPU_FREQ_TABLE
619 help
620 This adds support for frequency switching on Apple PowerBooks,
621 this currently includes some models of iBook & Titanium
622 PowerBook.
623
4350147a
BH
624config CPU_FREQ_PMAC64
625 bool "Support for some Apple G5s"
7ed14c21 626 depends on CPU_FREQ && PPC64
4350147a
BH
627 select CPU_FREQ_TABLE
628 help
629 This adds support for frequency switching on Apple iMac G5,
630 and some of the more recent desktop G5 machines as well.
631
14cf11af
PM
632config PPC601_SYNC_FIX
633 bool "Workarounds for PPC601 bugs"
634 depends on 6xx && (PPC_PREP || PPC_PMAC)
635 help
636 Some versions of the PPC601 (the first PowerPC chip) have bugs which
637 mean that extra synchronization instructions are required near
638 certain instructions, typically those that make major changes to the
639 CPU state. These extra instructions reduce performance slightly.
640 If you say N here, these extra instructions will not be included,
641 resulting in a kernel which will run faster but may not run at all
642 on some systems with the PPC601 chip.
643
644 If in doubt, say Y here.
645
646config TAU
9b781727 647 bool "On-chip CPU temperature sensor support"
14cf11af
PM
648 depends on 6xx
649 help
650 G3 and G4 processors have an on-chip temperature sensor called the
651 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
652 temperature within 2-4 degrees Celsius. This option shows the current
653 on-die temperature in /proc/cpuinfo if the cpu supports it.
654
655 Unfortunately, on some chip revisions, this sensor is very inaccurate
9b781727 656 and in many cases, does not work at all, so don't assume the cpu
14cf11af
PM
657 temp is actually what /proc/cpuinfo says it is.
658
659config TAU_INT
660 bool "Interrupt driven TAU driver (DANGEROUS)"
661 depends on TAU
662 ---help---
663 The TAU supports an interrupt driven mode which causes an interrupt
664 whenever the temperature goes out of range. This is the fastest way
665 to get notified the temp has exceeded a range. With this option off,
666 a timer is used to re-check the temperature periodically.
667
668 However, on some cpus it appears that the TAU interrupt hardware
669 is buggy and can cause a situation which would lead unexplained hard
670 lockups.
671
672 Unless you are extending the TAU driver, or enjoy kernel/hardware
673 debugging, leave this option off.
674
675config TAU_AVERAGE
676 bool "Average high and low temp"
677 depends on TAU
678 ---help---
679 The TAU hardware can compare the temperature to an upper and lower
680 bound. The default behavior is to show both the upper and lower
681 bound in /proc/cpuinfo. If the range is large, the temperature is
682 either changing a lot, or the TAU hardware is broken (likely on some
683 G4's). If the range is small (around 4 degrees), the temperature is
684 relatively stable. If you say Y here, a single temperature value,
685 halfway between the upper and lower bounds, will be reported in
686 /proc/cpuinfo.
687
688 If in doubt, say N here.
c2201536 689
14cf11af
PM
690endmenu
691
692source arch/powerpc/platforms/embedded6xx/Kconfig
693source arch/powerpc/platforms/4xx/Kconfig
ed943c1f 694source arch/powerpc/platforms/82xx/Kconfig
08264cbc 695source arch/powerpc/platforms/83xx/Kconfig
14cf11af 696source arch/powerpc/platforms/85xx/Kconfig
c9b484b5 697source arch/powerpc/platforms/86xx/Kconfig
14cf11af 698source arch/powerpc/platforms/8xx/Kconfig
67207b96 699source arch/powerpc/platforms/cell/Kconfig
f58a9d17 700source arch/powerpc/platforms/ps3/Kconfig
14cf11af
PM
701
702menu "Kernel options"
703
704config HIGHMEM
705 bool "High memory support"
706 depends on PPC32
707
708source kernel/Kconfig.hz
709source kernel/Kconfig.preempt
710source "fs/Kconfig.binfmt"
711
712# We optimistically allocate largepages from the VM, so make the limit
713# large enough (16MB). This badly named config option is actually
714# max order + 1
715config FORCE_MAX_ZONEORDER
716 int
717 depends on PPC64
02864867 718 default "9" if PPC_64K_PAGES
14cf11af
PM
719 default "13"
720
721config MATH_EMULATION
722 bool "Math emulation"
aa42c69c 723 depends on 4xx || 8xx || E200 || PPC_83xx || E500
14cf11af
PM
724 ---help---
725 Some PowerPC chips designed for embedded applications do not have
726 a floating-point unit and therefore do not implement the
727 floating-point instructions in the PowerPC instruction set. If you
728 say Y here, the kernel will include code to emulate a floating-point
729 unit, which will allow programs that use floating-point
730 instructions to run.
731
732config IOMMU_VMERGE
733 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
734 depends on EXPERIMENTAL && PPC64
735 default n
736 help
737 Cause IO segments sent to a device for DMA to be merged virtually
738 by the IOMMU when they happen to have been allocated contiguously.
739 This doesn't add pressure to the IOMMU allocator. However, some
740 drivers don't support getting large merged segments coming back
741 from *_map_sg(). Say Y if you know the drivers you are using are
742 properly handling this case.
743
744config HOTPLUG_CPU
745 bool "Support for enabling/disabling CPUs"
746 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
747 ---help---
748 Say Y here to be able to disable and re-enable individual
749 CPUs at runtime on SMP machines.
750
751 Say N if you are unsure.
752
cc57637b
YG
753config ARCH_ENABLE_MEMORY_HOTPLUG
754 def_bool y
755
14cf11af
PM
756config KEXEC
757 bool "kexec system call (EXPERIMENTAL)"
758 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
759 help
760 kexec is a system call that implements the ability to shutdown your
761 current kernel, and to start another kernel. It is like a reboot
1f1332f7 762 but it is independent of the system firmware. And like a reboot
14cf11af
PM
763 you can start any kernel with it, not just Linux.
764
1f1332f7 765 The name comes from the similarity to the exec system call.
14cf11af
PM
766
767 It is an ongoing process to be certain the hardware in a machine
768 is properly shutdown, so do not be surprised if this code does not
769 initially work for you. It may help to enable device hotplugging
770 support. As of this writing the exact hardware interface is
771 strongly in flux, so no good recommendation can be made.
772
e8625d46 773config CRASH_DUMP
cd9c99d7 774 bool "Build a kdump crash kernel (EXPERIMENTAL)"
e8625d46
HM
775 depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL
776 help
777 Build a kernel suitable for use as a kdump capture kernel.
778 The kernel will be linked at a different address than normal, and
779 so can only be used for Kdump.
780
781 Don't change this unless you know what you are doing.
782
14cf11af
PM
783config EMBEDDEDBOOT
784 bool
785 depends on 8xx || 8260
786 default y
787
788config PC_KEYBOARD
789 bool "PC PS/2 style Keyboard"
790 depends on 4xx || CPM2
791
792config PPCBUG_NVRAM
793 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
794 default y if PPC_PREP
795
796config IRQ_ALL_CPUS
797 bool "Distribute interrupts on all CPUs by default"
798 depends on SMP && !MV64360
799 help
800 This option gives the kernel permission to distribute IRQs across
801 multiple CPUs. Saying N here will route all IRQs to the first
802 CPU. Generally saying Y is safe, although some problems have been
803 reported with SMP Power Macintoshes with this option enabled.
804
805source "arch/powerpc/platforms/pseries/Kconfig"
806
ffa27b6b
AW
807config NUMA
808 bool "NUMA support"
809 depends on PPC64
810 default y if SMP && PPC_PSERIES
811
c80d79d7
YG
812config NODES_SHIFT
813 int
814 default "4"
815 depends on NEED_MULTIPLE_NODES
816
14cf11af
PM
817config ARCH_SELECT_MEMORY_MODEL
818 def_bool y
819 depends on PPC64
820
821config ARCH_FLATMEM_ENABLE
9100b205
AW
822 def_bool y
823 depends on (PPC64 && !NUMA) || PPC32
14cf11af 824
45fb6cea 825config ARCH_SPARSEMEM_ENABLE
14cf11af 826 def_bool y
9100b205 827 depends on PPC64
14cf11af 828
45fb6cea 829config ARCH_SPARSEMEM_DEFAULT
14cf11af 830 def_bool y
36b600f2 831 depends on (SMP && PPC_PSERIES) || PPC_CELL
14cf11af 832
c67c3cb4 833config ARCH_POPULATES_NODE_MAP
14cf11af 834 def_bool y
c67c3cb4
MG
835
836source "mm/Kconfig"
14cf11af 837
7e9191da
MK
838config ARCH_MEMORY_PROBE
839 def_bool y
840 depends on MEMORY_HOTPLUG
841
75167957
AW
842# Some NUMA nodes have memory ranges that span
843# other nodes. Even though a pfn is valid and
844# between a node's start and end pfns, it may not
845# reside on that node. See memmap_init_zone()
846# for details.
847config NODES_SPAN_OTHER_NODES
848 def_bool y
849 depends on NEED_MULTIPLE_NODES
850
3c726f8d
BH
851config PPC_64K_PAGES
852 bool "64k page size"
863c84b9 853 depends on PPC64
3c726f8d
BH
854 help
855 This option changes the kernel logical page size to 64k. On machines
856 without processor support for 64k pages, the kernel will simulate
857 them by loading each individual 4k page on demand transparently,
858 while on hardware with such support, it will be used to map
859 normal application pages.
860
14cf11af
PM
861config SCHED_SMT
862 bool "SMT (Hyperthreading) scheduler support"
863 depends on PPC64 && SMP
14cf11af
PM
864 help
865 SMT scheduler support improves the CPU scheduler's decision making
866 when dealing with POWER5 cpus at a cost of slightly increased
867 overhead in some places. If unsure say N here.
868
869config PROC_DEVICETREE
5f296755
PM
870 bool "Support for device tree in /proc"
871 depends on PROC_FS
14cf11af
PM
872 help
873 This option adds a device-tree directory under /proc which contains
874 an image of the device tree that the kernel copies from Open
5f296755 875 Firmware or other boot firmware. If unsure, say Y here.
14cf11af
PM
876
877source "arch/powerpc/platforms/prep/Kconfig"
878
879config CMDLINE_BOOL
880 bool "Default bootloader kernel arguments"
14cf11af
PM
881
882config CMDLINE
883 string "Initial kernel command string"
884 depends on CMDLINE_BOOL
885 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
886 help
887 On some platforms, there is currently no way for the boot loader to
888 pass arguments to the kernel. For these platforms, you can supply
889 some command-line options at build time by entering them here. In
890 most cases you will need to specify the root device here.
891
892if !44x || BROKEN
893source kernel/power/Kconfig
894endif
895
896config SECCOMP
897 bool "Enable seccomp to safely compute untrusted bytecode"
898 depends on PROC_FS
899 default y
900 help
901 This kernel feature is useful for number crunching applications
902 that may need to compute untrusted bytecode during their
903 execution. By using pipes or other transports made available to
904 the process as file descriptors supporting the read/write
905 syscalls, it's possible to isolate those applications in
906 their own address space using seccomp. Once seccomp is
907 enabled via /proc/<pid>/seccomp, it cannot be disabled
908 and the task is only allowed to execute a few safe syscalls
909 defined by each seccomp mode.
910
911 If unsure, say Y. Only embedded should say N here.
912
913endmenu
914
915config ISA_DMA_API
916 bool
917 default y
918
919menu "Bus options"
920
921config ISA
922 bool "Support for ISA-bus hardware"
923 depends on PPC_PREP || PPC_CHRP
f9bd170a 924 select PPC_I8259
14cf11af
PM
925 help
926 Find out whether you have ISA slots on your motherboard. ISA is the
927 name of a bus system, i.e. the way the CPU talks to the other stuff
928 inside your box. If you have an Apple machine, say N here; if you
929 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
930 you have an embedded board, consult your board documentation.
931
932config GENERIC_ISA_DMA
933 bool
934 depends on PPC64 || POWER4 || 6xx && !CPM2
935 default y
936
7233593b
ZR
937config MPIC
938 bool
939 default n
940
941config MPIC_WEIRD
942 bool
943 default n
944
f9bd170a
PM
945config PPC_I8259
946 bool
f9bd170a
PM
947 default n
948
25635c71
PM
949config PPC_INDIRECT_PCI
950 bool
951 depends on PCI
63dafe57 952 default y if 40x || 44x
25635c71
PM
953 default n
954
14cf11af
PM
955config EISA
956 bool
957
958config SBUS
959 bool
960
08264cbc
KG
961config FSL_SOC
962 bool
963
14cf11af
PM
964# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
965config MCA
966 bool
967
968config PCI
53158620 969 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
f58a9d17 970 || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 || PPC_PS3
53158620
JL
971 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
972 && !PPC_85xx && !PPC_86xx
14cf11af
PM
973 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
974 default PCI_QSPAN if !4xx && !CPM2 && 8xx
975 help
976 Find out whether your system includes a PCI bus. PCI is the name of
977 a bus system, i.e. the way the CPU talks to the other stuff inside
978 your box. If you say Y here, the kernel will include drivers and
979 infrastructure code to support PCI bus devices.
980
981config PCI_DOMAINS
982 bool
983 default PCI
984
14cf11af
PM
985config PCI_QSPAN
986 bool "QSpan PCI"
987 depends on !4xx && !CPM2 && 8xx
f9bd170a 988 select PPC_I8259
14cf11af
PM
989 help
990 Say Y here if you have a system based on a Motorola 8xx-series
991 embedded processor with a QSPAN PCI interface, otherwise say N.
992
993config PCI_8260
994 bool
995 depends on PCI && 8260
25635c71 996 select PPC_INDIRECT_PCI
14cf11af
PM
997 default y
998
999config 8260_PCI9
4a3ecc62 1000 bool "Enable workaround for MPC826x erratum PCI 9"
14cf11af
PM
1001 depends on PCI_8260 && !ADS8272
1002 default y
1003
1004choice
4a3ecc62 1005 prompt "IDMA channel for PCI 9 workaround"
14cf11af
PM
1006 depends on 8260_PCI9
1007
1008config 8260_PCI9_IDMA1
1009 bool "IDMA1"
1010
1011config 8260_PCI9_IDMA2
1012 bool "IDMA2"
1013
1014config 8260_PCI9_IDMA3
1015 bool "IDMA3"
1016
1017config 8260_PCI9_IDMA4
1018 bool "IDMA4"
1019
1020endchoice
1021
bb53bb3d
JM
1022source "drivers/pci/pcie/Kconfig"
1023
14cf11af
PM
1024source "drivers/pci/Kconfig"
1025
1026source "drivers/pcmcia/Kconfig"
1027
1028source "drivers/pci/hotplug/Kconfig"
1029
1030endmenu
1031
1032menu "Advanced setup"
1033 depends on PPC32
1034
1035config ADVANCED_OPTIONS
1036 bool "Prompt for advanced kernel configuration options"
1037 help
1038 This option will enable prompting for a variety of advanced kernel
1039 configuration options. These options can cause the kernel to not
1040 work if they are set incorrectly, but can be used to optimize certain
1041 aspects of kernel memory management.
1042
1043 Unless you know what you are doing, say N here.
1044
1045comment "Default settings for advanced configuration options are used"
1046 depends on !ADVANCED_OPTIONS
1047
1048config HIGHMEM_START_BOOL
1049 bool "Set high memory pool address"
1050 depends on ADVANCED_OPTIONS && HIGHMEM
1051 help
1052 This option allows you to set the base address of the kernel virtual
1053 area used to map high memory pages. This can be useful in
1054 optimizing the layout of kernel virtual memory.
1055
1056 Say N here unless you know what you are doing.
1057
1058config HIGHMEM_START
1059 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1060 default "0xfe000000"
1061
1062config LOWMEM_SIZE_BOOL
1063 bool "Set maximum low memory"
1064 depends on ADVANCED_OPTIONS
1065 help
1066 This option allows you to set the maximum amount of memory which
1067 will be used as "low memory", that is, memory which the kernel can
1068 access directly, without having to set up a kernel virtual mapping.
1069 This can be useful in optimizing the layout of kernel virtual
1070 memory.
1071
1072 Say N here unless you know what you are doing.
1073
1074config LOWMEM_SIZE
1075 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1076 default "0x30000000"
1077
1078config KERNEL_START_BOOL
1079 bool "Set custom kernel base address"
1080 depends on ADVANCED_OPTIONS
1081 help
1082 This option allows you to set the kernel virtual address at which
1083 the kernel will map low memory (the kernel image will be linked at
1084 this address). This can be useful in optimizing the virtual memory
1085 layout of the system.
1086
1087 Say N here unless you know what you are doing.
1088
1089config KERNEL_START
1090 hex "Virtual address of kernel base" if KERNEL_START_BOOL
1091 default "0xc0000000"
1092
1093config TASK_SIZE_BOOL
1094 bool "Set custom user task size"
1095 depends on ADVANCED_OPTIONS
1096 help
1097 This option allows you to set the amount of virtual address space
1098 allocated to user tasks. This can be useful in optimizing the
1099 virtual memory layout of the system.
1100
1101 Say N here unless you know what you are doing.
1102
1103config TASK_SIZE
1104 hex "Size of user task space" if TASK_SIZE_BOOL
1105 default "0x80000000"
1106
1107config CONSISTENT_START_BOOL
1108 bool "Set custom consistent memory pool address"
1109 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1110 help
1111 This option allows you to set the base virtual address
4b3f686d 1112 of the consistent memory pool. This pool of virtual
14cf11af
PM
1113 memory is used to make consistent memory allocations.
1114
1115config CONSISTENT_START
1116 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1117 default "0xff100000" if NOT_COHERENT_CACHE
1118
1119config CONSISTENT_SIZE_BOOL
1120 bool "Set custom consistent memory pool size"
1121 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1122 help
4b3f686d 1123 This option allows you to set the size of the
14cf11af
PM
1124 consistent memory pool. This pool of virtual memory
1125 is used to make consistent memory allocations.
1126
1127config CONSISTENT_SIZE
1128 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1129 default "0x00200000" if NOT_COHERENT_CACHE
1130
1131config BOOT_LOAD_BOOL
1132 bool "Set the boot link/load address"
1133 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1134 help
1135 This option allows you to set the initial load address of the zImage
1136 or zImage.initrd file. This can be useful if you are on a board
1137 which has a small amount of memory.
1138
1139 Say N here unless you know what you are doing.
1140
1141config BOOT_LOAD
1142 hex "Link/load address for booting" if BOOT_LOAD_BOOL
1143 default "0x00400000" if 40x || 8xx || 8260
1144 default "0x01000000" if 44x
1145 default "0x00800000"
1146
1147config PIN_TLB
1148 bool "Pinned Kernel TLBs (860 ONLY)"
1149 depends on ADVANCED_OPTIONS && 8xx
1150endmenu
1151
cabb5587
SR
1152if PPC64
1153config KERNEL_START
1154 hex
eeb2d218 1155 default "0xc000000000000000"
cabb5587
SR
1156endif
1157
14cf11af
PM
1158source "net/Kconfig"
1159
1160source "drivers/Kconfig"
1161
1162source "fs/Kconfig"
1163
1164# XXX source "arch/ppc/8xx_io/Kconfig"
1165
1166# XXX source "arch/ppc/8260_io/Kconfig"
1167
98658538
LY
1168source "arch/powerpc/sysdev/qe_lib/Kconfig"
1169
14cf11af
PM
1170source "arch/powerpc/platforms/iseries/Kconfig"
1171
1172source "lib/Kconfig"
1173
cd6b0762
PP
1174menu "Instrumentation Support"
1175 depends on EXPERIMENTAL
1176
14cf11af
PM
1177source "arch/powerpc/oprofile/Kconfig"
1178
cd6b0762
PP
1179config KPROBES
1180 bool "Kprobes (EXPERIMENTAL)"
3a872d89 1181 depends on PPC64 && KALLSYMS && EXPERIMENTAL && MODULES
cd6b0762
PP
1182 help
1183 Kprobes allows you to trap at almost any kernel address and
1184 execute a callback function. register_kprobe() establishes
1185 a probepoint and specifies the callback. Kprobes is useful
1186 for kernel debugging, non-intrusive instrumentation and testing.
1187 If in doubt, say "N".
1188endmenu
1189
14cf11af
PM
1190source "arch/powerpc/Kconfig.debug"
1191
1192source "security/Kconfig"
1193
1194config KEYS_COMPAT
1195 bool
1196 depends on COMPAT && KEYS
1197 default y
1198
1199source "crypto/Kconfig"
This page took 0.189773 seconds and 5 git commands to generate.