blob: d6abe495c6b083a228a6507ac03505c5f0f2a122 [file] [log] [blame]
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001# 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
Paul Mackerras14cf11a2005-09-26 16:04:21 +100029config GENERIC_HARDIRQS
30 bool
31 default y
32
Ingo Molnar0d7012a2006-06-29 02:24:43 -070033config IRQ_PER_CPU
34 bool
35 default y
36
Paul Mackerras14cf11a2005-09-26 16:04:21 +100037config RWSEM_GENERIC_SPINLOCK
38 bool
39
40config RWSEM_XCHGADD_ALGORITHM
41 bool
42 default y
43
David Howellsf0d1b0b2006-12-08 02:37:49 -080044config ARCH_HAS_ILOG2_U32
45 bool
David Howellsef55d532006-12-08 02:37:53 -080046 default y
David Howellsf0d1b0b2006-12-08 02:37:49 -080047
48config ARCH_HAS_ILOG2_U64
49 bool
David Howellsef55d532006-12-08 02:37:53 -080050 default y if 64BIT
David Howellsf0d1b0b2006-12-08 02:37:49 -080051
Akinobu Mitae779b2f2006-03-26 01:39:33 -080052config GENERIC_HWEIGHT
53 bool
54 default y
55
Paul Mackerras14cf11a2005-09-26 16:04:21 +100056config GENERIC_CALIBRATE_DELAY
57 bool
58 default y
59
Jon Mason0a9cb462006-05-19 15:35:32 -050060config GENERIC_FIND_NEXT_BIT
61 bool
62 default y
63
Paul Mackerras14cf11a2005-09-26 16:04:21 +100064config PPC
65 bool
66 default y
67
68config EARLY_PRINTK
69 bool
Benjamin Herrenschmidt51d30822005-11-23 17:57:25 +110070 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +100071
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
Kumar Gala08264cb2006-01-10 21:43:56 -060094config PPC_OF
95 def_bool y
96
97config PPC_UDBG_16550
98 bool
99 default n
100
Kumar Gala08264cb2006-01-10 21:43:56 -0600101config GENERIC_TBSYNC
102 bool
103 default y if PPC32 && SMP
104 default n
105
Al Viroe65e1fc2006-09-12 03:04:40 -0400106config AUDIT_ARCH
107 bool
108 default y
109
Jeremy Fitzhardinge73c9cea2006-12-08 03:30:41 -0800110config GENERIC_BUG
111 bool
112 default y
113 depends on BUG
114
Kumar Galaf4fc4a52006-01-16 10:53:22 -0600115config 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
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000121menu "Processor support"
122choice
123 prompt "Processor Type"
124 depends on PPC32
125 default 6xx
126
Kumar Gala08264cb2006-01-10 21:43:56 -0600127config CLASSIC32
Grant Likely650f3282006-12-04 17:29:13 -0700128 bool "52xx/6xx/7xx/74xx"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000129 select PPC_FPU
Kumar Gala08264cb2006-01-10 21:43:56 -0600130 select 6xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000131 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).
Grant Likely650f3282006-12-04 17:29:13 -0700137
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.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000141
Grant Likely650f3282006-12-04 17:29:13 -0700142 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
146
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000147 Note that the kernel runs in 32-bit mode even on 64-bit chips.
148
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000149config PPC_82xx
150 bool "Freescale 82xx"
Kumar Gala08264cb2006-01-10 21:43:56 -0600151 select 6xx
152 select PPC_FPU
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000153
154config PPC_83xx
155 bool "Freescale 83xx"
Kumar Gala08264cb2006-01-10 21:43:56 -0600156 select 6xx
157 select FSL_SOC
158 select 83xx
159 select PPC_FPU
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000160
Becky Bruce63dafe52006-01-14 16:57:39 -0600161config PPC_85xx
162 bool "Freescale 85xx"
163 select E500
164 select FSL_SOC
165 select 85xx
166
Jon Loeligerc9b484b2006-06-17 17:52:35 -0500167config 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
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000176config 40x
177 bool "AMCC 40x"
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100178 select PPC_DCR_NATIVE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000179
180config 44x
181 bool "AMCC 44x"
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100182 select PPC_DCR_NATIVE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000183
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000184config 8xx
185 bool "Freescale 8xx"
186
187config E200
188 bool "Freescale e200"
189
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000190endchoice
191
192config POWER4_ONLY
193 bool "Optimize for POWER4"
Paul Mackerras187a0062005-10-06 12:49:05 +1000194 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000195 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
Paul Mackerras187a0062005-10-06 12:49:05 +1000203 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000204 default y if !POWER4_ONLY
205
206config POWER4
Paul Mackerras187a0062005-10-06 12:49:05 +1000207 depends on PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000208 def_bool y
209
Kumar Gala08264cb2006-01-10 21:43:56 -0600210config 6xx
211 bool
212
213# this is temp to handle compat with arch=ppc
214config 83xx
215 bool
216
Becky Bruce63dafe52006-01-14 16:57:39 -0600217# this is temp to handle compat with arch=ppc
218config 85xx
219 bool
220
221config E500
222 bool
223
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000224config PPC_FPU
Paul Mackerras187a0062005-10-06 12:49:05 +1000225 bool
226 default y if PPC64
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000227
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100228config 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
Benjamin Herrenschmidt4c9d2802006-11-11 17:25:08 +1100241config PPC_OF_PLATFORM_PCI
242 bool
243 depends on PPC64 # not supported on 32 bits yet
244 default n
245
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000246config 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
Benjamin Herrenschmidt3d1ea8e2006-11-11 17:25:19 +1100265 select RESOURCES_64BIT
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000266 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"
Kumar Gala08264cb2006-01-10 21:43:56 -0600275 depends on CLASSIC32 || POWER4
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000276 ---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
Becky Bruce63dafe52006-01-14 16:57:39 -0600292 default y
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000293 ---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
Paul Mackerrasc6622f62006-02-24 10:06:59 +1100314config 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
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000329config 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
Olaf Heringe8a167a2005-12-01 21:10:10 +0100349 int "Maximum number of CPUs (2-128)"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000350 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"
Kumar Gala08264cb2006-01-10 21:43:56 -0600364 depends on PPC64 || CLASSIC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000365
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
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000377config EMBEDDED6xx
378 bool "Embedded 6xx/7xx/7xxx-based board"
Zang Roy-r61911c5d56332006-06-13 15:07:15 +0800379 depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000380
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
Li Yang98658532006-10-03 23:10:46 -0500390config 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
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000400config PPC_PSERIES
401 depends on PPC_MULTIPLATFORM && PPC64
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700402 bool "IBM pSeries & new (POWER5-based) iSeries"
Zang Roy-r6191172335932006-08-25 14:16:30 +1000403 select MPIC
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000404 select PPC_I8259
Paul Mackerras033ef332005-10-26 17:05:24 +1000405 select PPC_RTAS
406 select RTAS_ERROR_LOGGING
Paul Mackerras13b8a272006-01-10 16:19:05 +1100407 select PPC_UDBG_16550
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100408 select PPC_NATIVE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000409 default y
410
Stephen Rothwella542dbd2006-09-25 13:49:58 +1000411config PPC_ISERIES
412 bool "IBM Legacy iSeries"
413 depends on PPC_MULTIPLATFORM && PPC64
Benjamin Herrenschmidt4cb3cee2006-11-11 17:25:10 +1100414 select PPC_INDIRECT_IO
Stephen Rothwella542dbd2006-09-25 13:49:58 +1000415
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000416config PPC_CHRP
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700417 bool "Common Hardware Reference Platform (CHRP) based machines"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000418 depends on PPC_MULTIPLATFORM && PPC32
Zang Roy-r6191172335932006-08-25 14:16:30 +1000419 select MPIC
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000420 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000421 select PPC_INDIRECT_PCI
Paul Mackerras033ef332005-10-26 17:05:24 +1000422 select PPC_RTAS
Paul Mackerras830825d2005-10-26 17:16:38 +1000423 select PPC_MPC106
Paul Mackerras13b8a272006-01-10 16:19:05 +1100424 select PPC_UDBG_16550
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100425 select PPC_NATIVE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000426 default y
427
Grant Likelyd4150242006-11-27 14:16:24 -0700428config PPC_MPC52xx
429 bool
430 default n
431
Nicolas DETc37858d2006-11-05 12:57:16 +0100432config 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
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100438 select PPC_NATIVE
Olaf Hering72328462007-01-03 18:33:56 +0100439 default n
Nicolas DETc37858d2006-11-05 12:57:16 +0100440
Grant Likely6b642532006-11-27 14:16:28 -0700441config PPC_LITE5200
442 bool "Freescale Lite5200 Eval Board"
443 depends on PPC_MULTIPLATFORM && PPC32
444 select PPC_MPC52xx
445 default n
446
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000447config PPC_PMAC
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700448 bool "Apple PowerMac based machines"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000449 depends on PPC_MULTIPLATFORM
Zang Roy-r6191172335932006-08-25 14:16:30 +1000450 select MPIC
Paul Mackerras25635c72005-10-26 16:36:55 +1000451 select PPC_INDIRECT_PCI if PPC32
Paul Mackerrasb6a4ce52005-10-26 22:54:17 +1000452 select PPC_MPC106 if PPC32
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100453 select PPC_NATIVE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000454 default y
455
456config PPC_PMAC64
457 bool
458 depends on PPC_PMAC && POWER4
Zang Roy-r6191172335932006-08-25 14:16:30 +1000459 select MPIC
Paul Mackerras35499c02005-10-22 16:02:39 +1000460 select U3_DART
Benjamin Herrenschmidt1beb6a72005-12-14 13:10:10 +1100461 select MPIC_BROKEN_U3
Paul Mackerras8ad200d2005-11-04 13:28:58 +1100462 select GENERIC_TBSYNC
Paul Mackerrasf39224a2006-04-18 21:49:11 +1000463 select PPC_970_NAP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000464 default y
465
466config PPC_PREP
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700467 bool "PowerPC Reference Platform (PReP) based machines"
Paul Mackerras5be396b2005-11-14 17:31:55 +1100468 depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
Zang Roy-r6191172335932006-08-25 14:16:30 +1000469 select MPIC
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000470 select PPC_I8259
Paul Mackerras25635c72005-10-26 16:36:55 +1000471 select PPC_INDIRECT_PCI
Paul Mackerras13b8a272006-01-10 16:19:05 +1100472 select PPC_UDBG_16550
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100473 select PPC_NATIVE
Olaf Hering72328462007-01-03 18:33:56 +0100474 default n
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000475
476config PPC_MAPLE
477 depends on PPC_MULTIPLATFORM && PPC64
Andrew Morton4a3ecc62006-06-01 20:36:04 -0700478 bool "Maple 970FX Evaluation Board"
Zang Roy-r6191172335932006-08-25 14:16:30 +1000479 select MPIC
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000480 select U3_DART
481 select MPIC_BROKEN_U3
Paul Mackerras8ad200d2005-11-04 13:28:58 +1100482 select GENERIC_TBSYNC
Paul Mackerras13b8a272006-01-10 16:19:05 +1100483 select PPC_UDBG_16550
Paul Mackerrasf39224a2006-04-18 21:49:11 +1000484 select PPC_970_NAP
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100485 select PPC_NATIVE
Nathan Lynch9d9d8682006-12-06 18:50:44 -0600486 select PPC_RTAS
David Woodhouse8cdf92a2007-01-01 19:31:15 +0000487 select ATA_NONSTANDARD if ATA
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000488 default n
489 help
490 This option enables support for the Maple 970FX Evaluation Board.
Matt LaPlante3cb2fcc2006-11-30 05:22:59 +0100491 For more information, refer to <http://www.970eval.com>
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000492
Olof Johansson1e768752006-09-06 14:42:08 -0500493config PPC_PASEMI
494 depends on PPC_MULTIPLATFORM && PPC64
495 bool "PA Semi SoC-based platforms"
496 default n
497 select MPIC
498 select PPC_UDBG_16550
499 select GENERIC_TBSYNC
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100500 select PPC_NATIVE
Olof Johansson1e768752006-09-06 14:42:08 -0500501 help
502 This option enables support for PA Semi's PWRficient line
503 of SoC processors, including PA6T-1682M
504
Arnd Bergmannf3f66f52005-10-31 20:08:37 -0500505config PPC_CELL
Geoff Levandc01ea722006-06-19 20:33:28 +0200506 bool
507 default n
508
509config PPC_CELL_NATIVE
510 bool
511 select PPC_CELL
Benjamin Herrenschmidt4c75a6f2006-11-11 17:24:53 +1100512 select PPC_DCR_MMIO
Benjamin Herrenschmidt4c9d2802006-11-11 17:25:08 +1100513 select PPC_OF_PLATFORM_PCI
Benjamin Herrenschmidt014da7f2006-11-11 17:25:12 +1100514 select PPC_INDIRECT_IO
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100515 select PPC_NATIVE
Benjamin Herrenschmidt21fb5a12006-11-11 17:24:58 +1100516 select MPIC
Geoff Levandc01ea722006-06-19 20:33:28 +0200517 default n
518
519config PPC_IBM_CELL_BLADE
Andrew Mortonf127a2b2006-06-25 01:49:07 -0700520 bool "IBM Cell Blade"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000521 depends on PPC_MULTIPLATFORM && PPC64
Geoff Levandc01ea722006-06-19 20:33:28 +0200522 select PPC_CELL_NATIVE
Paul Mackerras033ef332005-10-26 17:05:24 +1000523 select PPC_RTAS
Arnd Bergmannedf03c12005-10-31 20:08:40 -0500524 select MMIO_NVRAM
Paul Mackerras13b8a272006-01-10 16:19:05 +1100525 select PPC_UDBG_16550
Michael Ellerman94b60ec2006-06-23 18:20:22 +1000526 select UDBG_RTAS_CONSOLE
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000527
Geoff Levandf58a9d12006-11-23 00:46:51 +0100528config PPC_PS3
Geoff Levand05916ee2007-01-25 18:07:14 -0800529 bool "Sony PS3 (incomplete)"
Geoff Levandf58a9d12006-11-23 00:46:51 +0100530 depends on PPC_MULTIPLATFORM && PPC64
531 select PPC_CELL
532 help
533 This option enables support for the Sony PS3 game console
534 and other platforms using the PS3 hypervisor.
Geoff Levand05916ee2007-01-25 18:07:14 -0800535 Support for this platform is not yet complete, so
536 enabling this will not result in a bootable kernel on a
537 PS3 system.
Geoff Levandf58a9d12006-11-23 00:46:51 +0100538
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100539config PPC_NATIVE
540 bool
541 depends on PPC_MULTIPLATFORM
542 help
543 Support for running natively on the hardware, i.e. without
544 a hypervisor. This option is not user-selectable but should
545 be selected by all platforms that need it.
546
547config UDBG_RTAS_CONSOLE
548 bool "RTAS based debug console"
549 depends on PPC_RTAS
550 default n
551
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000552config XICS
553 depends on PPC_PSERIES
554 bool
555 default y
556
557config U3_DART
558 bool
559 depends on PPC_MULTIPLATFORM && PPC64
560 default n
561
Paul Mackerras033ef332005-10-26 17:05:24 +1000562config PPC_RTAS
563 bool
564 default n
565
566config RTAS_ERROR_LOGGING
567 bool
568 depends on PPC_RTAS
569 default n
570
Paul Mackerrasf4fcbbe2005-11-03 14:41:19 +1100571config RTAS_PROC
572 bool "Proc interface to RTAS"
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500573 depends on PPC_RTAS
Paul Mackerrasf4fcbbe2005-11-03 14:41:19 +1100574 default y
575
576config RTAS_FLASH
577 tristate "Firmware flash interface"
578 depends on PPC64 && RTAS_PROC
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500579
Arnd Bergmannedf03c12005-10-31 20:08:40 -0500580config MMIO_NVRAM
581 bool
582 default n
583
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000584config MPIC_BROKEN_U3
585 bool
586 depends on PPC_MAPLE
587 default y
588
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000589config IBMVIO
590 depends on PPC_PSERIES || PPC_ISERIES
591 bool
592 default y
593
Heiko J Schickd7a30102005-11-16 08:56:43 +0100594config IBMEBUS
595 depends on PPC_PSERIES
596 bool "Support for GX bus based adapters"
Heiko J Schickd7a30102005-11-16 08:56:43 +0100597 help
598 Bus device driver for GX bus based adapters.
599
Paul Mackerras830825d2005-10-26 17:16:38 +1000600config PPC_MPC106
601 bool
602 default n
603
Paul Mackerrasf39224a2006-04-18 21:49:11 +1000604config PPC_970_NAP
605 bool
606 default n
607
Benjamin Herrenschmidt4cb3cee2006-11-11 17:25:10 +1100608config PPC_INDIRECT_IO
609 bool
610 select GENERIC_IOMAP
611 default n
612
613config GENERIC_IOMAP
614 bool
615 default n
616
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000617source "drivers/cpufreq/Kconfig"
618
619config CPU_FREQ_PMAC
620 bool "Support for Apple PowerBooks"
621 depends on CPU_FREQ && ADB_PMU && PPC32
622 select CPU_FREQ_TABLE
623 help
624 This adds support for frequency switching on Apple PowerBooks,
625 this currently includes some models of iBook & Titanium
626 PowerBook.
627
Benjamin Herrenschmidt43501472005-11-07 14:27:33 +1100628config CPU_FREQ_PMAC64
629 bool "Support for some Apple G5s"
Benjamin Herrenschmidt7ed14c22006-07-06 15:09:19 +1000630 depends on CPU_FREQ && PPC64
Benjamin Herrenschmidt43501472005-11-07 14:27:33 +1100631 select CPU_FREQ_TABLE
632 help
633 This adds support for frequency switching on Apple iMac G5,
634 and some of the more recent desktop G5 machines as well.
635
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000636config PPC601_SYNC_FIX
637 bool "Workarounds for PPC601 bugs"
638 depends on 6xx && (PPC_PREP || PPC_PMAC)
639 help
640 Some versions of the PPC601 (the first PowerPC chip) have bugs which
641 mean that extra synchronization instructions are required near
642 certain instructions, typically those that make major changes to the
643 CPU state. These extra instructions reduce performance slightly.
644 If you say N here, these extra instructions will not be included,
645 resulting in a kernel which will run faster but may not run at all
646 on some systems with the PPC601 chip.
647
648 If in doubt, say Y here.
649
650config TAU
Paul Mackerras9b781722006-03-27 19:15:26 +1100651 bool "On-chip CPU temperature sensor support"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000652 depends on 6xx
653 help
654 G3 and G4 processors have an on-chip temperature sensor called the
655 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
656 temperature within 2-4 degrees Celsius. This option shows the current
657 on-die temperature in /proc/cpuinfo if the cpu supports it.
658
659 Unfortunately, on some chip revisions, this sensor is very inaccurate
Paul Mackerras9b781722006-03-27 19:15:26 +1100660 and in many cases, does not work at all, so don't assume the cpu
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000661 temp is actually what /proc/cpuinfo says it is.
662
663config TAU_INT
664 bool "Interrupt driven TAU driver (DANGEROUS)"
665 depends on TAU
666 ---help---
667 The TAU supports an interrupt driven mode which causes an interrupt
668 whenever the temperature goes out of range. This is the fastest way
669 to get notified the temp has exceeded a range. With this option off,
670 a timer is used to re-check the temperature periodically.
671
672 However, on some cpus it appears that the TAU interrupt hardware
673 is buggy and can cause a situation which would lead unexplained hard
674 lockups.
675
676 Unless you are extending the TAU driver, or enjoy kernel/hardware
677 debugging, leave this option off.
678
679config TAU_AVERAGE
680 bool "Average high and low temp"
681 depends on TAU
682 ---help---
683 The TAU hardware can compare the temperature to an upper and lower
684 bound. The default behavior is to show both the upper and lower
685 bound in /proc/cpuinfo. If the range is large, the temperature is
686 either changing a lot, or the TAU hardware is broken (likely on some
687 G4's). If the range is small (around 4 degrees), the temperature is
688 relatively stable. If you say Y here, a single temperature value,
689 halfway between the upper and lower bounds, will be reported in
690 /proc/cpuinfo.
691
692 If in doubt, say N here.
Mark A. Greerc2201532006-06-28 14:13:20 -0700693
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000694endmenu
695
696source arch/powerpc/platforms/embedded6xx/Kconfig
697source arch/powerpc/platforms/4xx/Kconfig
Vitaly Borduged943c12006-10-02 22:41:50 +0400698source arch/powerpc/platforms/82xx/Kconfig
Kumar Gala08264cb2006-01-10 21:43:56 -0600699source arch/powerpc/platforms/83xx/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000700source arch/powerpc/platforms/85xx/Kconfig
Jon Loeligerc9b484b2006-06-17 17:52:35 -0500701source arch/powerpc/platforms/86xx/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000702source arch/powerpc/platforms/8xx/Kconfig
Arnd Bergmann67207b92005-11-15 15:53:48 -0500703source arch/powerpc/platforms/cell/Kconfig
Geoff Levandf58a9d12006-11-23 00:46:51 +0100704source arch/powerpc/platforms/ps3/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000705
706menu "Kernel options"
707
708config HIGHMEM
709 bool "High memory support"
710 depends on PPC32
711
712source kernel/Kconfig.hz
713source kernel/Kconfig.preempt
714source "fs/Kconfig.binfmt"
715
716# We optimistically allocate largepages from the VM, so make the limit
717# large enough (16MB). This badly named config option is actually
718# max order + 1
719config FORCE_MAX_ZONEORDER
720 int
721 depends on PPC64
Mike Kravetz02864862005-11-07 13:48:59 -0800722 default "9" if PPC_64K_PAGES
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000723 default "13"
724
725config MATH_EMULATION
726 bool "Math emulation"
Kim Phillipsaa42c692006-12-08 02:43:30 -0600727 depends on 4xx || 8xx || E200 || PPC_83xx || E500
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000728 ---help---
729 Some PowerPC chips designed for embedded applications do not have
730 a floating-point unit and therefore do not implement the
731 floating-point instructions in the PowerPC instruction set. If you
732 say Y here, the kernel will include code to emulate a floating-point
733 unit, which will allow programs that use floating-point
734 instructions to run.
735
736config IOMMU_VMERGE
737 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
738 depends on EXPERIMENTAL && PPC64
739 default n
740 help
741 Cause IO segments sent to a device for DMA to be merged virtually
742 by the IOMMU when they happen to have been allocated contiguously.
743 This doesn't add pressure to the IOMMU allocator. However, some
744 drivers don't support getting large merged segments coming back
745 from *_map_sg(). Say Y if you know the drivers you are using are
746 properly handling this case.
747
748config HOTPLUG_CPU
749 bool "Support for enabling/disabling CPUs"
750 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
751 ---help---
752 Say Y here to be able to disable and re-enable individual
753 CPUs at runtime on SMP machines.
754
755 Say N if you are unsure.
756
Yasunori Gotocc576372006-06-29 02:24:27 -0700757config ARCH_ENABLE_MEMORY_HOTPLUG
758 def_bool y
759
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000760config KEXEC
761 bool "kexec system call (EXPERIMENTAL)"
762 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
763 help
764 kexec is a system call that implements the ability to shutdown your
765 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400766 but it is independent of the system firmware. And like a reboot
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000767 you can start any kernel with it, not just Linux.
768
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400769 The name comes from the similarity to the exec system call.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000770
771 It is an ongoing process to be certain the hardware in a machine
772 is properly shutdown, so do not be surprised if this code does not
773 initially work for you. It may help to enable device hotplugging
774 support. As of this writing the exact hardware interface is
775 strongly in flux, so no good recommendation can be made.
776
Haren Mynenie8625d462006-01-14 13:48:25 -0800777config CRASH_DUMP
Michael Ellermancd9c99d2006-03-10 15:01:08 +1100778 bool "Build a kdump crash kernel (EXPERIMENTAL)"
Haren Mynenie8625d462006-01-14 13:48:25 -0800779 depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL
780 help
781 Build a kernel suitable for use as a kdump capture kernel.
782 The kernel will be linked at a different address than normal, and
783 so can only be used for Kdump.
784
785 Don't change this unless you know what you are doing.
786
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000787config EMBEDDEDBOOT
788 bool
789 depends on 8xx || 8260
790 default y
791
792config PC_KEYBOARD
793 bool "PC PS/2 style Keyboard"
794 depends on 4xx || CPM2
795
796config PPCBUG_NVRAM
797 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
798 default y if PPC_PREP
799
800config IRQ_ALL_CPUS
801 bool "Distribute interrupts on all CPUs by default"
802 depends on SMP && !MV64360
803 help
804 This option gives the kernel permission to distribute IRQs across
805 multiple CPUs. Saying N here will route all IRQs to the first
806 CPU. Generally saying Y is safe, although some problems have been
807 reported with SMP Power Macintoshes with this option enabled.
808
809source "arch/powerpc/platforms/pseries/Kconfig"
810
Andy Whitcroftffa27b62005-10-28 17:46:58 -0700811config NUMA
812 bool "NUMA support"
813 depends on PPC64
814 default y if SMP && PPC_PSERIES
815
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700816config NODES_SHIFT
817 int
818 default "4"
819 depends on NEED_MULTIPLE_NODES
820
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000821config ARCH_SELECT_MEMORY_MODEL
822 def_bool y
823 depends on PPC64
824
825config ARCH_FLATMEM_ENABLE
Andy Whitcroft9100b202005-11-29 19:20:55 +0000826 def_bool y
827 depends on (PPC64 && !NUMA) || PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000828
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000829config ARCH_SPARSEMEM_ENABLE
830 def_bool y
Andy Whitcroft9100b202005-11-29 19:20:55 +0000831 depends on PPC64
Anton Blanchard45fb6ce2005-11-11 14:22:35 +1100832
833config ARCH_SPARSEMEM_DEFAULT
834 def_bool y
Geoff Levand36b600f2006-11-02 21:08:45 -0800835 depends on (SMP && PPC_PSERIES) || PPC_CELL
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000836
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700837config ARCH_POPULATES_NODE_MAP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000838 def_bool y
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700839
840source "mm/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000841
Mike Kravetz7e9191d2005-11-07 09:39:48 -0800842config ARCH_MEMORY_PROBE
843 def_bool y
844 depends on MEMORY_HOTPLUG
845
Andy Whitcroft75167952006-10-21 10:24:14 -0700846# Some NUMA nodes have memory ranges that span
847# other nodes. Even though a pfn is valid and
848# between a node's start and end pfns, it may not
849# reside on that node. See memmap_init_zone()
850# for details.
851config NODES_SPAN_OTHER_NODES
852 def_bool y
853 depends on NEED_MULTIPLE_NODES
854
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100855config PPC_64K_PAGES
856 bool "64k page size"
Benjamin Herrenschmidt863c84b2005-11-07 00:57:58 -0800857 depends on PPC64
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100858 help
859 This option changes the kernel logical page size to 64k. On machines
860 without processor support for 64k pages, the kernel will simulate
861 them by loading each individual 4k page on demand transparently,
862 while on hardware with such support, it will be used to map
863 normal application pages.
864
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000865config SCHED_SMT
866 bool "SMT (Hyperthreading) scheduler support"
867 depends on PPC64 && SMP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000868 help
869 SMT scheduler support improves the CPU scheduler's decision making
870 when dealing with POWER5 cpus at a cost of slightly increased
871 overhead in some places. If unsure say N here.
872
873config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000874 bool "Support for device tree in /proc"
875 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000876 help
877 This option adds a device-tree directory under /proc which contains
878 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000879 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000880
881source "arch/powerpc/platforms/prep/Kconfig"
882
883config CMDLINE_BOOL
884 bool "Default bootloader kernel arguments"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000885
886config CMDLINE
887 string "Initial kernel command string"
888 depends on CMDLINE_BOOL
889 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
890 help
891 On some platforms, there is currently no way for the boot loader to
892 pass arguments to the kernel. For these platforms, you can supply
893 some command-line options at build time by entering them here. In
894 most cases you will need to specify the root device here.
895
896if !44x || BROKEN
897source kernel/power/Kconfig
898endif
899
900config SECCOMP
901 bool "Enable seccomp to safely compute untrusted bytecode"
902 depends on PROC_FS
903 default y
904 help
905 This kernel feature is useful for number crunching applications
906 that may need to compute untrusted bytecode during their
907 execution. By using pipes or other transports made available to
908 the process as file descriptors supporting the read/write
909 syscalls, it's possible to isolate those applications in
910 their own address space using seccomp. Once seccomp is
911 enabled via /proc/<pid>/seccomp, it cannot be disabled
912 and the task is only allowed to execute a few safe syscalls
913 defined by each seccomp mode.
914
915 If unsure, say Y. Only embedded should say N here.
916
917endmenu
918
919config ISA_DMA_API
920 bool
921 default y
922
923menu "Bus options"
924
925config ISA
926 bool "Support for ISA-bus hardware"
927 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000928 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000929 help
930 Find out whether you have ISA slots on your motherboard. ISA is the
931 name of a bus system, i.e. the way the CPU talks to the other stuff
932 inside your box. If you have an Apple machine, say N here; if you
933 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
934 you have an embedded board, consult your board documentation.
935
936config GENERIC_ISA_DMA
937 bool
938 depends on PPC64 || POWER4 || 6xx && !CPM2
939 default y
940
Zang Roy-r6191172335932006-08-25 14:16:30 +1000941config MPIC
942 bool
943 default n
944
945config MPIC_WEIRD
946 bool
947 default n
948
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000949config PPC_I8259
950 bool
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000951 default n
952
Paul Mackerras25635c72005-10-26 16:36:55 +1000953config PPC_INDIRECT_PCI
954 bool
955 depends on PCI
Becky Bruce63dafe52006-01-14 16:57:39 -0600956 default y if 40x || 44x
Paul Mackerras25635c72005-10-26 16:36:55 +1000957 default n
958
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000959config EISA
960 bool
961
962config SBUS
963 bool
964
Kumar Gala08264cb2006-01-10 21:43:56 -0600965config FSL_SOC
966 bool
967
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000968# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
969config MCA
970 bool
971
972config PCI
Jon Loeliger53158622006-08-09 10:37:28 -0500973 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
Geoff Levandf58a9d12006-11-23 00:46:51 +0100974 || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 || PPC_PS3
Jon Loeliger53158622006-08-09 10:37:28 -0500975 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
976 && !PPC_85xx && !PPC_86xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000977 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
978 default PCI_QSPAN if !4xx && !CPM2 && 8xx
979 help
980 Find out whether your system includes a PCI bus. PCI is the name of
981 a bus system, i.e. the way the CPU talks to the other stuff inside
982 your box. If you say Y here, the kernel will include drivers and
983 infrastructure code to support PCI bus devices.
984
985config PCI_DOMAINS
986 bool
987 default PCI
988
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000989config PCI_QSPAN
990 bool "QSpan PCI"
991 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000992 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000993 help
994 Say Y here if you have a system based on a Motorola 8xx-series
995 embedded processor with a QSPAN PCI interface, otherwise say N.
996
997config PCI_8260
998 bool
999 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +10001000 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001001 default y
1002
1003config 8260_PCI9
Andrew Morton4a3ecc62006-06-01 20:36:04 -07001004 bool "Enable workaround for MPC826x erratum PCI 9"
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001005 depends on PCI_8260 && !ADS8272
1006 default y
1007
1008choice
Andrew Morton4a3ecc62006-06-01 20:36:04 -07001009 prompt "IDMA channel for PCI 9 workaround"
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001010 depends on 8260_PCI9
1011
1012config 8260_PCI9_IDMA1
1013 bool "IDMA1"
1014
1015config 8260_PCI9_IDMA2
1016 bool "IDMA2"
1017
1018config 8260_PCI9_IDMA3
1019 bool "IDMA3"
1020
1021config 8260_PCI9_IDMA4
1022 bool "IDMA4"
1023
1024endchoice
1025
Jake Moilanenbb53bb32006-06-07 16:05:46 -05001026source "drivers/pci/pcie/Kconfig"
1027
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001028source "drivers/pci/Kconfig"
1029
1030source "drivers/pcmcia/Kconfig"
1031
1032source "drivers/pci/hotplug/Kconfig"
1033
1034endmenu
1035
1036menu "Advanced setup"
1037 depends on PPC32
1038
1039config ADVANCED_OPTIONS
1040 bool "Prompt for advanced kernel configuration options"
1041 help
1042 This option will enable prompting for a variety of advanced kernel
1043 configuration options. These options can cause the kernel to not
1044 work if they are set incorrectly, but can be used to optimize certain
1045 aspects of kernel memory management.
1046
1047 Unless you know what you are doing, say N here.
1048
1049comment "Default settings for advanced configuration options are used"
1050 depends on !ADVANCED_OPTIONS
1051
1052config HIGHMEM_START_BOOL
1053 bool "Set high memory pool address"
1054 depends on ADVANCED_OPTIONS && HIGHMEM
1055 help
1056 This option allows you to set the base address of the kernel virtual
1057 area used to map high memory pages. This can be useful in
1058 optimizing the layout of kernel virtual memory.
1059
1060 Say N here unless you know what you are doing.
1061
1062config HIGHMEM_START
1063 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1064 default "0xfe000000"
1065
1066config LOWMEM_SIZE_BOOL
1067 bool "Set maximum low memory"
1068 depends on ADVANCED_OPTIONS
1069 help
1070 This option allows you to set the maximum amount of memory which
1071 will be used as "low memory", that is, memory which the kernel can
1072 access directly, without having to set up a kernel virtual mapping.
1073 This can be useful in optimizing the layout of kernel virtual
1074 memory.
1075
1076 Say N here unless you know what you are doing.
1077
1078config LOWMEM_SIZE
1079 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1080 default "0x30000000"
1081
1082config KERNEL_START_BOOL
1083 bool "Set custom kernel base address"
1084 depends on ADVANCED_OPTIONS
1085 help
1086 This option allows you to set the kernel virtual address at which
1087 the kernel will map low memory (the kernel image will be linked at
1088 this address). This can be useful in optimizing the virtual memory
1089 layout of the system.
1090
1091 Say N here unless you know what you are doing.
1092
1093config KERNEL_START
1094 hex "Virtual address of kernel base" if KERNEL_START_BOOL
1095 default "0xc0000000"
1096
1097config TASK_SIZE_BOOL
1098 bool "Set custom user task size"
1099 depends on ADVANCED_OPTIONS
1100 help
1101 This option allows you to set the amount of virtual address space
1102 allocated to user tasks. This can be useful in optimizing the
1103 virtual memory layout of the system.
1104
1105 Say N here unless you know what you are doing.
1106
1107config TASK_SIZE
1108 hex "Size of user task space" if TASK_SIZE_BOOL
1109 default "0x80000000"
1110
1111config CONSISTENT_START_BOOL
1112 bool "Set custom consistent memory pool address"
1113 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1114 help
1115 This option allows you to set the base virtual address
Matt LaPlante4b3f6862006-10-03 22:21:02 +02001116 of the consistent memory pool. This pool of virtual
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001117 memory is used to make consistent memory allocations.
1118
1119config CONSISTENT_START
1120 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1121 default "0xff100000" if NOT_COHERENT_CACHE
1122
1123config CONSISTENT_SIZE_BOOL
1124 bool "Set custom consistent memory pool size"
1125 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1126 help
Matt LaPlante4b3f6862006-10-03 22:21:02 +02001127 This option allows you to set the size of the
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001128 consistent memory pool. This pool of virtual memory
1129 is used to make consistent memory allocations.
1130
1131config CONSISTENT_SIZE
1132 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1133 default "0x00200000" if NOT_COHERENT_CACHE
1134
1135config BOOT_LOAD_BOOL
1136 bool "Set the boot link/load address"
1137 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1138 help
1139 This option allows you to set the initial load address of the zImage
1140 or zImage.initrd file. This can be useful if you are on a board
1141 which has a small amount of memory.
1142
1143 Say N here unless you know what you are doing.
1144
1145config BOOT_LOAD
1146 hex "Link/load address for booting" if BOOT_LOAD_BOOL
1147 default "0x00400000" if 40x || 8xx || 8260
1148 default "0x01000000" if 44x
1149 default "0x00800000"
1150
1151config PIN_TLB
1152 bool "Pinned Kernel TLBs (860 ONLY)"
1153 depends on ADVANCED_OPTIONS && 8xx
1154endmenu
1155
Stephen Rothwellcabb5582005-09-30 16:16:52 +10001156if PPC64
1157config KERNEL_START
1158 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +10001159 default "0xc000000000000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +10001160endif
1161
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001162source "net/Kconfig"
1163
1164source "drivers/Kconfig"
1165
1166source "fs/Kconfig"
1167
1168# XXX source "arch/ppc/8xx_io/Kconfig"
1169
1170# XXX source "arch/ppc/8260_io/Kconfig"
1171
Li Yang98658532006-10-03 23:10:46 -05001172source "arch/powerpc/sysdev/qe_lib/Kconfig"
1173
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001174source "arch/powerpc/platforms/iseries/Kconfig"
1175
1176source "lib/Kconfig"
1177
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001178menu "Instrumentation Support"
1179 depends on EXPERIMENTAL
1180
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001181source "arch/powerpc/oprofile/Kconfig"
1182
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001183config KPROBES
1184 bool "Kprobes (EXPERIMENTAL)"
Ananth N Mavinakayanahalli3a872d82006-10-02 02:17:30 -07001185 depends on PPC64 && KALLSYMS && EXPERIMENTAL && MODULES
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001186 help
1187 Kprobes allows you to trap at almost any kernel address and
1188 execute a callback function. register_kprobe() establishes
1189 a probepoint and specifies the callback. Kprobes is useful
1190 for kernel debugging, non-intrusive instrumentation and testing.
1191 If in doubt, say "N".
1192endmenu
1193
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001194source "arch/powerpc/Kconfig.debug"
1195
1196source "security/Kconfig"
1197
1198config KEYS_COMPAT
1199 bool
1200 depends on COMPAT && KEYS
1201 default y
1202
1203source "crypto/Kconfig"