blob: c393e15400712e418ea5af26d354755b5af5d1f5 [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 Likelyd41502482006-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
Geoff Levandad75a412007-01-15 20:11:47 -0800532 select USB_ARCH_HAS_EHCI
533 select USB_EHCI_BIG_ENDIAN_MMIO
Geoff Levandf58a9d12006-11-23 00:46:51 +0100534 help
535 This option enables support for the Sony PS3 game console
536 and other platforms using the PS3 hypervisor.
Geoff Levand05916ee2007-01-25 18:07:14 -0800537 Support for this platform is not yet complete, so
538 enabling this will not result in a bootable kernel on a
539 PS3 system.
Geoff Levandf58a9d12006-11-23 00:46:51 +0100540
Arnd Bergmanne22ba7e2006-11-27 19:18:57 +0100541config PPC_NATIVE
542 bool
543 depends on PPC_MULTIPLATFORM
544 help
545 Support for running natively on the hardware, i.e. without
546 a hypervisor. This option is not user-selectable but should
547 be selected by all platforms that need it.
548
549config UDBG_RTAS_CONSOLE
550 bool "RTAS based debug console"
551 depends on PPC_RTAS
552 default n
553
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000554config XICS
555 depends on PPC_PSERIES
556 bool
557 default y
558
559config U3_DART
560 bool
561 depends on PPC_MULTIPLATFORM && PPC64
562 default n
563
Paul Mackerras033ef332005-10-26 17:05:24 +1000564config PPC_RTAS
565 bool
566 default n
567
568config RTAS_ERROR_LOGGING
569 bool
570 depends on PPC_RTAS
571 default n
572
Paul Mackerrasf4fcbbe2005-11-03 14:41:19 +1100573config RTAS_PROC
574 bool "Proc interface to RTAS"
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500575 depends on PPC_RTAS
Paul Mackerrasf4fcbbe2005-11-03 14:41:19 +1100576 default y
577
578config RTAS_FLASH
579 tristate "Firmware flash interface"
580 depends on PPC64 && RTAS_PROC
Arnd Bergmanne9add2e2005-10-31 20:08:39 -0500581
Arnd Bergmannedf03c12005-10-31 20:08:40 -0500582config MMIO_NVRAM
583 bool
584 default n
585
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000586config MPIC_BROKEN_U3
587 bool
588 depends on PPC_MAPLE
589 default y
590
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000591config IBMVIO
592 depends on PPC_PSERIES || PPC_ISERIES
593 bool
594 default y
595
Heiko J Schickd7a30102005-11-16 08:56:43 +0100596config IBMEBUS
597 depends on PPC_PSERIES
598 bool "Support for GX bus based adapters"
Heiko J Schickd7a30102005-11-16 08:56:43 +0100599 help
600 Bus device driver for GX bus based adapters.
601
Paul Mackerras830825d2005-10-26 17:16:38 +1000602config PPC_MPC106
603 bool
604 default n
605
Paul Mackerrasf39224a2006-04-18 21:49:11 +1000606config PPC_970_NAP
607 bool
608 default n
609
Benjamin Herrenschmidt4cb3cee2006-11-11 17:25:10 +1100610config PPC_INDIRECT_IO
611 bool
612 select GENERIC_IOMAP
613 default n
614
615config GENERIC_IOMAP
616 bool
617 default n
618
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000619source "drivers/cpufreq/Kconfig"
620
621config CPU_FREQ_PMAC
622 bool "Support for Apple PowerBooks"
623 depends on CPU_FREQ && ADB_PMU && PPC32
624 select CPU_FREQ_TABLE
625 help
626 This adds support for frequency switching on Apple PowerBooks,
627 this currently includes some models of iBook & Titanium
628 PowerBook.
629
Benjamin Herrenschmidt43501472005-11-07 14:27:33 +1100630config CPU_FREQ_PMAC64
631 bool "Support for some Apple G5s"
Benjamin Herrenschmidt7ed14c22006-07-06 15:09:19 +1000632 depends on CPU_FREQ && PPC64
Benjamin Herrenschmidt43501472005-11-07 14:27:33 +1100633 select CPU_FREQ_TABLE
634 help
635 This adds support for frequency switching on Apple iMac G5,
636 and some of the more recent desktop G5 machines as well.
637
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000638config PPC601_SYNC_FIX
639 bool "Workarounds for PPC601 bugs"
640 depends on 6xx && (PPC_PREP || PPC_PMAC)
641 help
642 Some versions of the PPC601 (the first PowerPC chip) have bugs which
643 mean that extra synchronization instructions are required near
644 certain instructions, typically those that make major changes to the
645 CPU state. These extra instructions reduce performance slightly.
646 If you say N here, these extra instructions will not be included,
647 resulting in a kernel which will run faster but may not run at all
648 on some systems with the PPC601 chip.
649
650 If in doubt, say Y here.
651
652config TAU
Paul Mackerras9b781722006-03-27 19:15:26 +1100653 bool "On-chip CPU temperature sensor support"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000654 depends on 6xx
655 help
656 G3 and G4 processors have an on-chip temperature sensor called the
657 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
658 temperature within 2-4 degrees Celsius. This option shows the current
659 on-die temperature in /proc/cpuinfo if the cpu supports it.
660
661 Unfortunately, on some chip revisions, this sensor is very inaccurate
Paul Mackerras9b781722006-03-27 19:15:26 +1100662 and in many cases, does not work at all, so don't assume the cpu
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000663 temp is actually what /proc/cpuinfo says it is.
664
665config TAU_INT
666 bool "Interrupt driven TAU driver (DANGEROUS)"
667 depends on TAU
668 ---help---
669 The TAU supports an interrupt driven mode which causes an interrupt
670 whenever the temperature goes out of range. This is the fastest way
671 to get notified the temp has exceeded a range. With this option off,
672 a timer is used to re-check the temperature periodically.
673
674 However, on some cpus it appears that the TAU interrupt hardware
675 is buggy and can cause a situation which would lead unexplained hard
676 lockups.
677
678 Unless you are extending the TAU driver, or enjoy kernel/hardware
679 debugging, leave this option off.
680
681config TAU_AVERAGE
682 bool "Average high and low temp"
683 depends on TAU
684 ---help---
685 The TAU hardware can compare the temperature to an upper and lower
686 bound. The default behavior is to show both the upper and lower
687 bound in /proc/cpuinfo. If the range is large, the temperature is
688 either changing a lot, or the TAU hardware is broken (likely on some
689 G4's). If the range is small (around 4 degrees), the temperature is
690 relatively stable. If you say Y here, a single temperature value,
691 halfway between the upper and lower bounds, will be reported in
692 /proc/cpuinfo.
693
694 If in doubt, say N here.
Mark A. Greerc2201532006-06-28 14:13:20 -0700695
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000696endmenu
697
698source arch/powerpc/platforms/embedded6xx/Kconfig
699source arch/powerpc/platforms/4xx/Kconfig
Vitaly Borduged943c12006-10-02 22:41:50 +0400700source arch/powerpc/platforms/82xx/Kconfig
Kumar Gala08264cb2006-01-10 21:43:56 -0600701source arch/powerpc/platforms/83xx/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000702source arch/powerpc/platforms/85xx/Kconfig
Jon Loeligerc9b484b2006-06-17 17:52:35 -0500703source arch/powerpc/platforms/86xx/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000704source arch/powerpc/platforms/8xx/Kconfig
Arnd Bergmann67207b92005-11-15 15:53:48 -0500705source arch/powerpc/platforms/cell/Kconfig
Geoff Levandf58a9d12006-11-23 00:46:51 +0100706source arch/powerpc/platforms/ps3/Kconfig
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000707
708menu "Kernel options"
709
710config HIGHMEM
711 bool "High memory support"
712 depends on PPC32
713
714source kernel/Kconfig.hz
715source kernel/Kconfig.preempt
716source "fs/Kconfig.binfmt"
717
718# We optimistically allocate largepages from the VM, so make the limit
719# large enough (16MB). This badly named config option is actually
720# max order + 1
721config FORCE_MAX_ZONEORDER
722 int
723 depends on PPC64
Mike Kravetz02864862005-11-07 13:48:59 -0800724 default "9" if PPC_64K_PAGES
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000725 default "13"
726
727config MATH_EMULATION
728 bool "Math emulation"
Kim Phillipsaa42c692006-12-08 02:43:30 -0600729 depends on 4xx || 8xx || E200 || PPC_83xx || E500
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000730 ---help---
731 Some PowerPC chips designed for embedded applications do not have
732 a floating-point unit and therefore do not implement the
733 floating-point instructions in the PowerPC instruction set. If you
734 say Y here, the kernel will include code to emulate a floating-point
735 unit, which will allow programs that use floating-point
736 instructions to run.
737
738config IOMMU_VMERGE
739 bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
740 depends on EXPERIMENTAL && PPC64
741 default n
742 help
743 Cause IO segments sent to a device for DMA to be merged virtually
744 by the IOMMU when they happen to have been allocated contiguously.
745 This doesn't add pressure to the IOMMU allocator. However, some
746 drivers don't support getting large merged segments coming back
747 from *_map_sg(). Say Y if you know the drivers you are using are
748 properly handling this case.
749
750config HOTPLUG_CPU
751 bool "Support for enabling/disabling CPUs"
752 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
753 ---help---
754 Say Y here to be able to disable and re-enable individual
755 CPUs at runtime on SMP machines.
756
757 Say N if you are unsure.
758
Yasunori Gotocc576372006-06-29 02:24:27 -0700759config ARCH_ENABLE_MEMORY_HOTPLUG
760 def_bool y
761
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000762config KEXEC
763 bool "kexec system call (EXPERIMENTAL)"
764 depends on PPC_MULTIPLATFORM && EXPERIMENTAL
765 help
766 kexec is a system call that implements the ability to shutdown your
767 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400768 but it is independent of the system firmware. And like a reboot
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000769 you can start any kernel with it, not just Linux.
770
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400771 The name comes from the similarity to the exec system call.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000772
773 It is an ongoing process to be certain the hardware in a machine
774 is properly shutdown, so do not be surprised if this code does not
775 initially work for you. It may help to enable device hotplugging
776 support. As of this writing the exact hardware interface is
777 strongly in flux, so no good recommendation can be made.
778
Haren Mynenie8625d462006-01-14 13:48:25 -0800779config CRASH_DUMP
Michael Ellermancd9c99d2006-03-10 15:01:08 +1100780 bool "Build a kdump crash kernel (EXPERIMENTAL)"
Haren Mynenie8625d462006-01-14 13:48:25 -0800781 depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL
782 help
783 Build a kernel suitable for use as a kdump capture kernel.
784 The kernel will be linked at a different address than normal, and
785 so can only be used for Kdump.
786
787 Don't change this unless you know what you are doing.
788
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000789config EMBEDDEDBOOT
790 bool
791 depends on 8xx || 8260
792 default y
793
794config PC_KEYBOARD
795 bool "PC PS/2 style Keyboard"
796 depends on 4xx || CPM2
797
798config PPCBUG_NVRAM
799 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
800 default y if PPC_PREP
801
802config IRQ_ALL_CPUS
803 bool "Distribute interrupts on all CPUs by default"
804 depends on SMP && !MV64360
805 help
806 This option gives the kernel permission to distribute IRQs across
807 multiple CPUs. Saying N here will route all IRQs to the first
808 CPU. Generally saying Y is safe, although some problems have been
809 reported with SMP Power Macintoshes with this option enabled.
810
811source "arch/powerpc/platforms/pseries/Kconfig"
812
Andy Whitcroftffa27b62005-10-28 17:46:58 -0700813config NUMA
814 bool "NUMA support"
815 depends on PPC64
816 default y if SMP && PPC_PSERIES
817
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700818config NODES_SHIFT
819 int
820 default "4"
821 depends on NEED_MULTIPLE_NODES
822
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000823config ARCH_SELECT_MEMORY_MODEL
824 def_bool y
825 depends on PPC64
826
827config ARCH_FLATMEM_ENABLE
Andy Whitcroft9100b202005-11-29 19:20:55 +0000828 def_bool y
829 depends on (PPC64 && !NUMA) || PPC32
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000830
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000831config ARCH_SPARSEMEM_ENABLE
832 def_bool y
Andy Whitcroft9100b202005-11-29 19:20:55 +0000833 depends on PPC64
Anton Blanchard45fb6ce2005-11-11 14:22:35 +1100834
835config ARCH_SPARSEMEM_DEFAULT
836 def_bool y
Geoff Levand36b600f2006-11-02 21:08:45 -0800837 depends on (SMP && PPC_PSERIES) || PPC_CELL
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000838
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700839config ARCH_POPULATES_NODE_MAP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000840 def_bool y
Mel Gormanc67c3cb2006-09-27 01:49:49 -0700841
842source "mm/Kconfig"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000843
Mike Kravetz7e9191d2005-11-07 09:39:48 -0800844config ARCH_MEMORY_PROBE
845 def_bool y
846 depends on MEMORY_HOTPLUG
847
Andy Whitcroft75167952006-10-21 10:24:14 -0700848# Some NUMA nodes have memory ranges that span
849# other nodes. Even though a pfn is valid and
850# between a node's start and end pfns, it may not
851# reside on that node. See memmap_init_zone()
852# for details.
853config NODES_SPAN_OTHER_NODES
854 def_bool y
855 depends on NEED_MULTIPLE_NODES
856
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100857config PPC_64K_PAGES
858 bool "64k page size"
Benjamin Herrenschmidt863c84b2005-11-07 00:57:58 -0800859 depends on PPC64
Benjamin Herrenschmidt3c726f82005-11-07 11:06:55 +1100860 help
861 This option changes the kernel logical page size to 64k. On machines
862 without processor support for 64k pages, the kernel will simulate
863 them by loading each individual 4k page on demand transparently,
864 while on hardware with such support, it will be used to map
865 normal application pages.
866
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000867config SCHED_SMT
868 bool "SMT (Hyperthreading) scheduler support"
869 depends on PPC64 && SMP
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000870 help
871 SMT scheduler support improves the CPU scheduler's decision making
872 when dealing with POWER5 cpus at a cost of slightly increased
873 overhead in some places. If unsure say N here.
874
875config PROC_DEVICETREE
Paul Mackerras5f296752005-10-17 20:14:59 +1000876 bool "Support for device tree in /proc"
877 depends on PROC_FS
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000878 help
879 This option adds a device-tree directory under /proc which contains
880 an image of the device tree that the kernel copies from Open
Paul Mackerras5f296752005-10-17 20:14:59 +1000881 Firmware or other boot firmware. If unsure, say Y here.
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000882
883source "arch/powerpc/platforms/prep/Kconfig"
884
885config CMDLINE_BOOL
886 bool "Default bootloader kernel arguments"
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000887
888config CMDLINE
889 string "Initial kernel command string"
890 depends on CMDLINE_BOOL
891 default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
892 help
893 On some platforms, there is currently no way for the boot loader to
894 pass arguments to the kernel. For these platforms, you can supply
895 some command-line options at build time by entering them here. In
896 most cases you will need to specify the root device here.
897
898if !44x || BROKEN
899source kernel/power/Kconfig
900endif
901
902config SECCOMP
903 bool "Enable seccomp to safely compute untrusted bytecode"
904 depends on PROC_FS
905 default y
906 help
907 This kernel feature is useful for number crunching applications
908 that may need to compute untrusted bytecode during their
909 execution. By using pipes or other transports made available to
910 the process as file descriptors supporting the read/write
911 syscalls, it's possible to isolate those applications in
912 their own address space using seccomp. Once seccomp is
913 enabled via /proc/<pid>/seccomp, it cannot be disabled
914 and the task is only allowed to execute a few safe syscalls
915 defined by each seccomp mode.
916
917 If unsure, say Y. Only embedded should say N here.
918
919endmenu
920
921config ISA_DMA_API
922 bool
923 default y
924
925menu "Bus options"
926
927config ISA
928 bool "Support for ISA-bus hardware"
929 depends on PPC_PREP || PPC_CHRP
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000930 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000931 help
932 Find out whether you have ISA slots on your motherboard. ISA is the
933 name of a bus system, i.e. the way the CPU talks to the other stuff
934 inside your box. If you have an Apple machine, say N here; if you
935 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
936 you have an embedded board, consult your board documentation.
937
938config GENERIC_ISA_DMA
939 bool
940 depends on PPC64 || POWER4 || 6xx && !CPM2
941 default y
942
Zang Roy-r6191172335932006-08-25 14:16:30 +1000943config MPIC
944 bool
945 default n
946
947config MPIC_WEIRD
948 bool
949 default n
950
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000951config PPC_I8259
952 bool
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000953 default n
954
Paul Mackerras25635c72005-10-26 16:36:55 +1000955config PPC_INDIRECT_PCI
956 bool
957 depends on PCI
Becky Bruce63dafe52006-01-14 16:57:39 -0600958 default y if 40x || 44x
Paul Mackerras25635c72005-10-26 16:36:55 +1000959 default n
960
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000961config EISA
962 bool
963
964config SBUS
965 bool
966
Kumar Gala08264cb2006-01-10 21:43:56 -0600967config FSL_SOC
968 bool
969
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000970# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
971config MCA
972 bool
973
974config PCI
Jon Loeliger53158622006-08-09 10:37:28 -0500975 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
Geoff Levandf58a9d12006-11-23 00:46:51 +0100976 || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 || PPC_PS3
Jon Loeliger53158622006-08-09 10:37:28 -0500977 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
978 && !PPC_85xx && !PPC_86xx
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000979 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
980 default PCI_QSPAN if !4xx && !CPM2 && 8xx
981 help
982 Find out whether your system includes a PCI bus. PCI is the name of
983 a bus system, i.e. the way the CPU talks to the other stuff inside
984 your box. If you say Y here, the kernel will include drivers and
985 infrastructure code to support PCI bus devices.
986
987config PCI_DOMAINS
988 bool
989 default PCI
990
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000991config PCI_QSPAN
992 bool "QSpan PCI"
993 depends on !4xx && !CPM2 && 8xx
Paul Mackerrasf9bd1702005-10-26 16:47:42 +1000994 select PPC_I8259
Paul Mackerras14cf11a2005-09-26 16:04:21 +1000995 help
996 Say Y here if you have a system based on a Motorola 8xx-series
997 embedded processor with a QSPAN PCI interface, otherwise say N.
998
999config PCI_8260
1000 bool
1001 depends on PCI && 8260
Paul Mackerras25635c72005-10-26 16:36:55 +10001002 select PPC_INDIRECT_PCI
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001003 default y
1004
1005config 8260_PCI9
Andrew Morton4a3ecc62006-06-01 20:36:04 -07001006 bool "Enable workaround for MPC826x erratum PCI 9"
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001007 depends on PCI_8260 && !ADS8272
1008 default y
1009
1010choice
Andrew Morton4a3ecc62006-06-01 20:36:04 -07001011 prompt "IDMA channel for PCI 9 workaround"
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001012 depends on 8260_PCI9
1013
1014config 8260_PCI9_IDMA1
1015 bool "IDMA1"
1016
1017config 8260_PCI9_IDMA2
1018 bool "IDMA2"
1019
1020config 8260_PCI9_IDMA3
1021 bool "IDMA3"
1022
1023config 8260_PCI9_IDMA4
1024 bool "IDMA4"
1025
1026endchoice
1027
Jake Moilanenbb53bb32006-06-07 16:05:46 -05001028source "drivers/pci/pcie/Kconfig"
1029
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001030source "drivers/pci/Kconfig"
1031
1032source "drivers/pcmcia/Kconfig"
1033
1034source "drivers/pci/hotplug/Kconfig"
1035
1036endmenu
1037
1038menu "Advanced setup"
1039 depends on PPC32
1040
1041config ADVANCED_OPTIONS
1042 bool "Prompt for advanced kernel configuration options"
1043 help
1044 This option will enable prompting for a variety of advanced kernel
1045 configuration options. These options can cause the kernel to not
1046 work if they are set incorrectly, but can be used to optimize certain
1047 aspects of kernel memory management.
1048
1049 Unless you know what you are doing, say N here.
1050
1051comment "Default settings for advanced configuration options are used"
1052 depends on !ADVANCED_OPTIONS
1053
1054config HIGHMEM_START_BOOL
1055 bool "Set high memory pool address"
1056 depends on ADVANCED_OPTIONS && HIGHMEM
1057 help
1058 This option allows you to set the base address of the kernel virtual
1059 area used to map high memory pages. This can be useful in
1060 optimizing the layout of kernel virtual memory.
1061
1062 Say N here unless you know what you are doing.
1063
1064config HIGHMEM_START
1065 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1066 default "0xfe000000"
1067
1068config LOWMEM_SIZE_BOOL
1069 bool "Set maximum low memory"
1070 depends on ADVANCED_OPTIONS
1071 help
1072 This option allows you to set the maximum amount of memory which
1073 will be used as "low memory", that is, memory which the kernel can
1074 access directly, without having to set up a kernel virtual mapping.
1075 This can be useful in optimizing the layout of kernel virtual
1076 memory.
1077
1078 Say N here unless you know what you are doing.
1079
1080config LOWMEM_SIZE
1081 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1082 default "0x30000000"
1083
1084config KERNEL_START_BOOL
1085 bool "Set custom kernel base address"
1086 depends on ADVANCED_OPTIONS
1087 help
1088 This option allows you to set the kernel virtual address at which
1089 the kernel will map low memory (the kernel image will be linked at
1090 this address). This can be useful in optimizing the virtual memory
1091 layout of the system.
1092
1093 Say N here unless you know what you are doing.
1094
1095config KERNEL_START
1096 hex "Virtual address of kernel base" if KERNEL_START_BOOL
1097 default "0xc0000000"
1098
1099config TASK_SIZE_BOOL
1100 bool "Set custom user task size"
1101 depends on ADVANCED_OPTIONS
1102 help
1103 This option allows you to set the amount of virtual address space
1104 allocated to user tasks. This can be useful in optimizing the
1105 virtual memory layout of the system.
1106
1107 Say N here unless you know what you are doing.
1108
1109config TASK_SIZE
1110 hex "Size of user task space" if TASK_SIZE_BOOL
1111 default "0x80000000"
1112
1113config CONSISTENT_START_BOOL
1114 bool "Set custom consistent memory pool address"
1115 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1116 help
1117 This option allows you to set the base virtual address
Matt LaPlante4b3f6862006-10-03 22:21:02 +02001118 of the consistent memory pool. This pool of virtual
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001119 memory is used to make consistent memory allocations.
1120
1121config CONSISTENT_START
1122 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1123 default "0xff100000" if NOT_COHERENT_CACHE
1124
1125config CONSISTENT_SIZE_BOOL
1126 bool "Set custom consistent memory pool size"
1127 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1128 help
Matt LaPlante4b3f6862006-10-03 22:21:02 +02001129 This option allows you to set the size of the
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001130 consistent memory pool. This pool of virtual memory
1131 is used to make consistent memory allocations.
1132
1133config CONSISTENT_SIZE
1134 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1135 default "0x00200000" if NOT_COHERENT_CACHE
1136
1137config BOOT_LOAD_BOOL
1138 bool "Set the boot link/load address"
1139 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1140 help
1141 This option allows you to set the initial load address of the zImage
1142 or zImage.initrd file. This can be useful if you are on a board
1143 which has a small amount of memory.
1144
1145 Say N here unless you know what you are doing.
1146
1147config BOOT_LOAD
1148 hex "Link/load address for booting" if BOOT_LOAD_BOOL
1149 default "0x00400000" if 40x || 8xx || 8260
1150 default "0x01000000" if 44x
1151 default "0x00800000"
1152
1153config PIN_TLB
1154 bool "Pinned Kernel TLBs (860 ONLY)"
1155 depends on ADVANCED_OPTIONS && 8xx
1156endmenu
1157
Stephen Rothwellcabb5582005-09-30 16:16:52 +10001158if PPC64
1159config KERNEL_START
1160 hex
Stephen Rothwelleeb2d212005-09-30 17:24:15 +10001161 default "0xc000000000000000"
Stephen Rothwellcabb5582005-09-30 16:16:52 +10001162endif
1163
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001164source "net/Kconfig"
1165
1166source "drivers/Kconfig"
1167
1168source "fs/Kconfig"
1169
1170# XXX source "arch/ppc/8xx_io/Kconfig"
1171
1172# XXX source "arch/ppc/8260_io/Kconfig"
1173
Li Yang98658532006-10-03 23:10:46 -05001174source "arch/powerpc/sysdev/qe_lib/Kconfig"
1175
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001176source "arch/powerpc/platforms/iseries/Kconfig"
1177
1178source "lib/Kconfig"
1179
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001180menu "Instrumentation Support"
1181 depends on EXPERIMENTAL
1182
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001183source "arch/powerpc/oprofile/Kconfig"
1184
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001185config KPROBES
1186 bool "Kprobes (EXPERIMENTAL)"
Ananth N Mavinakayanahalli3a872d82006-10-02 02:17:30 -07001187 depends on PPC64 && KALLSYMS && EXPERIMENTAL && MODULES
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001188 help
1189 Kprobes allows you to trap at almost any kernel address and
1190 execute a callback function. register_kprobe() establishes
1191 a probepoint and specifies the callback. Kprobes is useful
1192 for kernel debugging, non-intrusive instrumentation and testing.
1193 If in doubt, say "N".
1194endmenu
1195
Paul Mackerras14cf11a2005-09-26 16:04:21 +10001196source "arch/powerpc/Kconfig.debug"
1197
1198source "security/Kconfig"
1199
1200config KEYS_COMPAT
1201 bool
1202 depends on COMPAT && KEYS
1203 default y
1204
1205source "crypto/Kconfig"