patch-2.6.6-vs1.9.0
[linux-2.6.git] / arch / ppc / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
3 #
4
5 mainmenu "Linux/PowerPC Kernel Configuration"
6
7 config MMU
8         bool
9         default y
10
11 config UID16
12         bool
13
14 config RWSEM_GENERIC_SPINLOCK
15         bool
16
17 config RWSEM_XCHGADD_ALGORITHM
18         bool
19         default y
20
21 config HAVE_DEC_LOCK
22         bool
23         default y
24
25 config PPC
26         bool
27         default y
28
29 config PPC32
30         bool
31         default y
32
33 # All PPCs use generic nvram driver through ppc_md
34 config GENERIC_NVRAM
35         bool
36         default y
37
38 source "init/Kconfig"
39
40 menu "Processor"
41
42 choice
43         prompt "Processor Type"
44         default 6xx
45
46 config 6xx
47         bool "6xx/7xx/74xx/8260"
48         help
49           There are four types of PowerPC chips supported.  The more common
50           types (601, 603, 604, 740, 750, 7400), the Motorola embedded
51           versions (821, 823, 850, 855, 860, 8260), the IBM embedded versions
52           (403 and 405) and the high end 64 bit Power processors (POWER 3,
53           POWER4, and IBM 970 also known as G5)
54           Unless you are building a kernel for one of the embedded processor
55           systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx.
56           Note that the kernel runs in 32-bit mode even on 64-bit chips.
57           Also note that because the 82xx family has a 603e core, specific
58           support for that chipset is asked later on.
59
60 config 40x
61         bool "40x"
62
63 config 44x
64         bool "44x"
65
66 config POWER3
67         bool "POWER3"
68
69 config POWER4
70         bool "POWER4 and 970 (G5)"
71
72 config 8xx
73         bool "8xx"
74
75 endchoice
76
77 config PTE_64BIT
78         bool
79         depends on 44x
80         default y
81
82 config ALTIVEC
83         bool "AltiVec Support"
84         depends on 6xx || POWER4
85         depends on !8260
86         ---help---
87           This option enables kernel support for the Altivec extensions to the
88           PowerPC processor. The kernel currently supports saving and restoring
89           altivec registers, and turning on the 'altivec enable' bit so user
90           processes can execute altivec instructions.
91
92           This option is only usefully if you have a processor that supports
93           altivec (G4, otherwise known as 74xx series), but does not have
94           any affect on a non-altivec cpu (it does, however add code to the
95           kernel).
96
97           If in doubt, say Y here.
98
99 config TAU
100         bool "Thermal Management Support"
101         depends on 6xx && !8260
102         help
103           G3 and G4 processors have an on-chip temperature sensor called the
104           'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
105           temperature within 2-4 degrees Celsius. This option shows the current
106           on-die temperature in /proc/cpuinfo if the cpu supports it.
107
108           Unfortunately, on some chip revisions, this sensor is very inaccurate
109           and in some cases, does not work at all, so don't assume the cpu
110           temp is actually what /proc/cpuinfo says it is.
111
112 config TAU_INT
113         bool "Interrupt driven TAU driver (DANGEROUS)"
114         depends on TAU
115         ---help---
116           The TAU supports an interrupt driven mode which causes an interrupt
117           whenever the temperature goes out of range. This is the fastest way
118           to get notified the temp has exceeded a range. With this option off,
119           a timer is used to re-check the temperature periodically.
120
121           However, on some cpus it appears that the TAU interrupt hardware
122           is buggy and can cause a situation which would lead unexplained hard
123           lockups.
124
125           Unless you are extending the TAU driver, or enjoy kernel/hardware
126           debugging, leave this option off.
127
128 config TAU_AVERAGE
129         bool "Average high and low temp"
130         depends on TAU
131         ---help---
132           The TAU hardware can compare the temperature to an upper and lower
133           bound.  The default behavior is to show both the upper and lower
134           bound in /proc/cpuinfo. If the range is large, the temperature is
135           either changing a lot, or the TAU hardware is broken (likely on some
136           G4's). If the range is small (around 4 degrees), the temperature is
137           relatively stable.  If you say Y here, a single temperature value,
138           halfway between the upper and lower bounds, will be reported in
139           /proc/cpuinfo.
140
141           If in doubt, say N here.
142
143 config MATH_EMULATION
144         bool "Math emulation"
145         depends on 4xx || 8xx
146         ---help---
147           Some PowerPC chips designed for embedded applications do not have
148           a floating-point unit and therefore do not implement the
149           floating-point instructions in the PowerPC instruction set.  If you
150           say Y here, the kernel will include code to emulate a floating-point
151           unit, which will allow programs that use floating-point
152           instructions to run.
153
154           If you have an Apple machine or an IBM RS/6000 or pSeries machine,
155           or any machine with a 6xx, 7xx or 7xxx series processor, say N
156           here.  Saying Y here will not hurt performance (on any machine) but
157           will increase the size of the kernel.
158
159 config CPU_FREQ
160         bool "CPU Frequency scaling"
161         help
162           Clock scaling allows you to change the clock speed of CPUs on the
163           fly. This is a nice method to save battery power on notebooks,
164           because the lower the clock speed, the less power the CPU consumes.
165
166           For more information, take a look at linux/Documentation/cpu-freq or
167           at <http://www.brodo.de/cpufreq/>
168
169           If in doubt, say N.
170
171 source "drivers/cpufreq/Kconfig"
172
173 config CPU_FREQ_PMAC
174         bool "Support for Apple PowerBooks"
175         depends on CPU_FREQ && ADB_PMU
176         help
177           This adds support for frequency switching on Apple PowerBooks,
178           this currently includes some models of iBook & Titanium
179           PowerBook.
180
181 config CPU_FREQ_TABLE
182         bool
183         depends on CPU_FREQ_PMAC
184         default y
185
186 config PPC601_SYNC_FIX
187         bool "Workarounds for PPC601 bugs"
188         depends on 6xx && (PPC_PREP || PPC_PMAC)
189         help
190           Some versions of the PPC601 (the first PowerPC chip) have bugs which
191           mean that extra synchronization instructions are required near
192           certain instructions, typically those that make major changes to the
193           CPU state.  These extra instructions reduce performance slightly.
194           If you say N here, these extra instructions will not be included,
195           resulting in a kernel which will run faster but may not run at all
196           on some systems with the PPC601 chip.
197
198           If in doubt, say Y here.
199
200 source arch/ppc/platforms/4xx/Kconfig
201
202 config PPC64BRIDGE
203         bool
204         depends on POWER3 || POWER4
205         default y
206
207 config PPC_STD_MMU
208         bool
209         depends on 6xx || POWER3 || POWER4
210         default y
211
212 config NOT_COHERENT_CACHE
213         bool
214         depends on 4xx || 8xx
215         default y
216
217 endmenu
218
219 menu "Platform options"
220
221 choice
222         prompt "8xx Machine Type"
223         depends on 8xx
224         default RPXLITE
225
226 config RPXLITE
227         bool "RPX-Lite"
228         ---help---
229           Single-board computers based around the PowerPC MPC8xx chips and
230           intended for embedded applications.  The following types are
231           supported:
232
233           RPX-Lite:
234           Embedded Planet RPX Lite. PC104 form-factor SBC based on the MPC823.
235
236           RPX-Classic:
237           Embedded Planet RPX Classic Low-fat. Credit-card-size SBC based on
238           the MPC 860
239
240           BSE-IP:
241           Bright Star Engineering ip-Engine.
242
243           TQM823L:
244           TQM850L:
245           TQM855L:
246           TQM860L:
247           MPC8xx based family of mini modules, half credit card size,
248           up to 64 MB of RAM, 8 MB Flash, (Fast) Ethernet, 2 x serial ports,
249           2 x CAN bus interface, ...
250           Manufacturer: TQ Components, www.tq-group.de
251           Date of Release: October (?) 1999
252           End of Life: not yet :-)
253           URL:
254           - module: <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>
255           - starter kit: <http://www.denx.de/PDF/STK8xxLHWM201.pdf>
256           - images: <http://www.denx.de/embedded-ppc-en.html>
257
258           FPS850L:
259           FingerPrint Sensor System (based on TQM850L)
260           Manufacturer: IKENDI AG, <http://www.ikendi.com/>
261           Date of Release: November 1999
262           End of life: end 2000 ?
263           URL: see TQM850L
264
265           SPD823TS:
266           MPC823 based board used in the "Tele Server" product
267           Manufacturer: Speech Design, <http://www.speech-design.de/>
268           Date of Release: Mid 2000 (?)
269           End of life: -
270           URL: <http://www.speech-design.de/>
271           select "English", then "Teleteam Solutions", then "TeleServer"
272
273           IVMS8:
274           MPC860 based board used in the "Integrated Voice Mail System",
275           Small Version (8 voice channels)
276           Manufacturer: Speech Design, <http://www.speech-design.de/>
277           Date of Release: December 2000 (?)
278           End of life: -
279           URL: <http://www.speech-design.de/>
280
281           IVML24:
282           MPC860 based board used in the "Integrated Voice Mail System",
283           Large Version (24 voice channels)
284           Manufacturer: Speech Design, <http://www.speech-design.de/>
285           Date of Release: March 2001  (?)
286           End of life: -
287           URL: <http://www.speech-design.de/>
288
289           SM850:
290           Service Module (based on TQM850L)
291           Manufacturer: Dependable Computer Systems, <http://www.decomsys.com/>
292           Date of Release: end 2000 (?)
293           End of life: mid 2001 (?)
294           URL: <http://www.tz-mikroelektronik.de/ServiceModule/index.html>
295
296           HERMES:
297           Hermes-Pro ISDN/LAN router with integrated 8 x hub
298           Manufacturer: Multidata Gesellschaft für Datentechnik und Informatik
299           <http://www.multidata.de/>
300           Date of Release: 2000 (?)
301           End of life: -
302           URL: <http://www.multidata.de/english/products/hpro.htm>
303
304           IP860:
305           VMEBus IP (Industry Pack) carrier board with MPC860
306           Manufacturer: MicroSys GmbH, <http://www.microsys.de/>
307           Date of Release: ?
308           End of life: -
309           URL: <http://www.microsys.de/html/ip860.html>
310
311           PCU_E:
312           PCU = Peripheral Controller Unit, Extended
313           Manufacturer: Siemens AG, ICN (Information and Communication Networks)
314                 <http://www.siemens.de/page/1,3771,224315-1-999_2_226207-0,00.html>
315           Date of Release: April 2001
316           End of life: August 2001
317           URL: n. a.
318
319 config RPXCLASSIC
320         bool "RPX-Classic"
321         help
322           The RPX-Classic is a single-board computer based on the Motorola
323           MPC860.  It features 16MB of DRAM and a variable amount of flash,
324           I2C EEPROM, thermal monitoring, a PCMCIA slot, a DIP switch and two
325           LEDs.  Variants with Ethernet ports exist.  Say Y here to support it
326           directly.
327
328 config BSEIP
329         bool "BSE-IP"
330         help
331           Say Y here to support the Bright Star Engineering ipEngine SBC.
332           This is a credit-card-sized device featuring a MPC823 processor,
333           26MB DRAM, 4MB flash, Ethernet, a 16K-gate FPGA, USB, an LCD/video
334           controller, and two RS232 ports.
335
336 config FADS
337         bool "FADS"
338
339 config TQM823L
340         bool "TQM823L"
341         help
342           Say Y here to support the TQM823L, one of an MPC8xx-based family of
343           mini SBCs (half credit-card size) from TQ Components first released
344           in late 1999.  Technical references are at
345           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
346           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
347           <http://www.denx.de/embedded-ppc-en.html>.
348
349 config TQM850L
350         bool "TQM850L"
351         help
352           Say Y here to support the TQM850L, one of an MPC8xx-based family of
353           mini SBCs (half credit-card size) from TQ Components first released
354           in late 1999.  Technical references are at
355           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
356           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
357           <http://www.denx.de/embedded-ppc-en.html>.
358
359 config TQM855L
360         bool "TQM855L"
361         help
362           Say Y here to support the TQM855L, one of an MPC8xx-based family of
363           mini SBCs (half credit-card size) from TQ Components first released
364           in late 1999.  Technical references are at
365           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
366           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
367           <http://www.denx.de/embedded-ppc-en.html>.
368
369 config TQM860L
370         bool "TQM860L"
371         help
372           Say Y here to support the TQM860L, one of an MPC8xx-based family of
373           mini SBCs (half credit-card size) from TQ Components first released
374           in late 1999.  Technical references are at
375           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
376           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
377           <http://www.denx.de/embedded-ppc-en.html>.
378
379 config FPS850L
380         bool "FPS850L"
381
382 config SPD823TS
383         bool "SPD823TS"
384         help
385           Say Y here to support the Speech Design 823 Tele-Server from Speech
386           Design, released in 2000.  The manufacturer's website is at
387           <http://www.speech-design.de/>.
388
389 config IVMS8
390         bool "IVMS8"
391         help
392           Say Y here to support the Integrated Voice-Mail Small 8-channel SBC
393           from Speech Design, released March 2001.  The manufacturer's website
394           is at <http://www.speech-design.de/>.
395
396 config IVML24
397         bool "IVML24"
398         help
399           Say Y here to support the Integrated Voice-Mail Large 24-channel SBC
400           from Speech Design, released March 2001.  The manufacturer's website
401           is at <http://www.speech-design.de/>.
402
403 config SM850
404         bool "SM850"
405         help
406           Say Y here to support the Service Module 850 from Dependable
407           Computer Systems, an SBC based on the TQM850L module by TQ
408           Components.  This board is no longer in production.  The
409           manufacturer's website is at <http://www.decomsys.com/>.
410
411 config HERMES_PRO
412         bool "HERMES"
413
414 config IP860
415         bool "IP860"
416
417 config LWMON
418         bool "LWMON"
419
420 config PCU_E
421         bool "PCU_E"
422
423 config CCM
424         bool "CCM"
425
426 config LANTEC
427         bool "LANTEC"
428
429 config MBX
430         bool "MBX"
431         help
432           MBX is a line of Motorola single-board computer based around the
433           MPC821 and MPC860 processors, and intended for embedded-controller
434           applications.  Say Y here to support these boards directly.
435
436 config WINCEPT
437         bool "WinCept"
438         help
439           The Wincept 100/110 is a Motorola single-board computer based on the
440           MPC821 PowerPC, introduced in 1998 and designed to be used in
441           thin-client machines.  Say Y to support it directly.
442
443 endchoice
444
445 choice
446         prompt "Machine Type"
447         depends on 6xx || POWER3 || POWER4
448         default PPC_MULTIPLATFORM
449         ---help---
450           Linux currently supports several different kinds of PowerPC-based
451           machines: Apple Power Macintoshes and clones (such as the Motorola
452           Starmax series), PReP (PowerPC Reference Platform) machines (such
453           as the Motorola PowerStacks, Motorola cPCI/VME embedded systems,
454           and some IBM RS/6000 systems), CHRP (Common Hardware Reference
455           Platform) machines (including all of the recent IBM RS/6000 and
456           pSeries machines), and several embedded PowerPC systems containing
457           4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.  Currently, the
458           default option is to build a kernel which works on the first three.
459
460           Select CHRP/PowerMac/PReP if configuring for an IBM RS/6000 or
461           pSeries machine, a Power Macintosh (including iMacs, iBooks and
462           Powerbooks), or a PReP machine.
463
464           Select Gemini if configuring for a Synergy Microsystems' Gemini
465           series Single Board Computer.  More information is available at:
466           <http://www.synergymicro.com/PressRel/97_10_15.html>.
467
468           Select APUS if configuring for a PowerUP Amiga.  More information is
469           available at: <http://linux-apus.sourceforge.net/>.
470
471 config PPC_MULTIPLATFORM
472         bool "CHRP/PowerMac/PReP"
473
474 config APUS
475         bool "Amiga-APUS"
476         help
477           Select APUS if configuring for a PowerUP Amiga.
478           More information is available at:
479           <http://linux-apus.sourceforge.net/>.
480
481 config WILLOW
482         bool "Cogent-Willow"
483
484 config PCORE
485         bool "Force-PowerCore"
486
487 config POWERPMC250
488         bool "Force-PowerPMC250"
489
490 config EV64260
491         bool "Galileo-EV-64260-BP"
492
493 config SPRUCE
494         bool "IBM-Spruce"
495
496 config LOPEC
497         bool "Motorola-LoPEC"
498
499 config MCPN765
500         bool "Motorola-MCPN765"
501
502 config MVME5100
503         bool "Motorola-MVME5100"
504
505 config PPLUS
506         bool "Motorola-PowerPlus"
507
508 config PRPMC750
509         bool "Motorola-PrPMC750"
510
511 config PRPMC800
512         bool "Motorola-PrPMC800"
513
514 config SANDPOINT
515         bool "Motorola-Sandpoint"
516         help
517           Select SANDPOINT if configuring for a Motorola Sandpoint X3
518           (any flavor).
519
520 config ADIR
521         bool "SBS-Adirondack"
522
523 config K2
524         bool "SBS-K2"
525
526 config PAL4
527         bool "SBS-Palomar4"
528
529 config GEMINI
530         bool "Synergy-Gemini"
531         help
532           Select Gemini if configuring for a Synergy Microsystems' Gemini
533           series Single Board Computer.  More information is available at:
534           <http://www.synergymicro.com/PressRel/97_10_15.html>.
535
536 config EST8260
537         bool "EST8260"
538         ---help---
539           The EST8260 is a single-board computer manufactured by Wind River
540           Systems, Inc. (formerly Embedded Support Tools Corp.) and based on
541           the MPC8260.  Wind River Systems has a website at
542           <http://www.windriver.com/>, but the EST8260 cannot be found on it
543           and has probably been discontinued or rebadged.
544
545 config SBS8260
546         bool "SBS8260"
547
548 config RPX6
549         bool "RPXSUPER"
550
551 config TQM8260
552         bool "TQM8260"
553         ---help---
554           MPC8260 based module, little larger than credit card,
555           up to 128 MB global + 64 MB local RAM, 32 MB Flash,
556           32 kB EEPROM, 256 kB L@ Cache, 10baseT + 100baseT Ethernet,
557           2 x serial ports, ...
558           Manufacturer: TQ Components, www.tq-group.de
559           Date of Release: June 2001
560           End of Life: not yet :-)
561           URL: <http://www.denx.de/PDF/TQM82xx_SPEC_Rev005.pdf>
562
563 endchoice
564
565 config TQM8xxL
566         bool
567         depends on 8xx && (TQM823L || TQM850L || FPS850L || TQM855L || TQM860L || SM850)
568         default y
569
570 config EMBEDDEDBOOT
571         bool
572         depends on 8xx || 8260
573         default y
574
575 config 8260
576         bool "MPC8260 CPM Support" if WILLOW
577         depends on 6xx
578         default y if TQM8260 || RPXSUPER || EST8260 || SBS8260
579         help
580           The MPC8260 CPM (Communications Processor Module) is a typical
581           embedded CPU made by Motorola.  Selecting this option means that
582           you wish to build a kernel for a machine with specifically an 8260
583           for a CPU.
584
585 config PPC_CHRP
586         bool
587         depends on PPC_MULTIPLATFORM
588         default y
589
590 config PPC_PMAC
591         bool
592         depends on PPC_MULTIPLATFORM
593         default y
594
595 config PPC_PMAC64
596         bool
597         depends on PPC_PMAC && POWER4
598         default y
599
600 config PPC_PREP
601         bool
602         depends on PPC_MULTIPLATFORM
603         default y
604
605 config PPC_OF
606         bool
607         depends on PPC_PMAC || PPC_CHRP
608         default y
609
610 config PPC_GEN550
611         bool
612         depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || PRPMC750 || K2 || PRPMC800
613         default y
614
615 config FORCE
616         bool
617         depends on 6xx && (PCORE || POWERPMC250)
618         default y
619
620 config GT64260
621         bool
622         depends on EV64260
623         default y
624
625 config NONMONARCH_SUPPORT
626         bool "Enable Non-Monarch Support"
627         depends on PRPMC800
628
629 config HARRIER
630         bool
631         depends on PRPMC800
632         default y
633
634 config EPIC_SERIAL_MODE
635         bool
636         depends on 6xx && (LOPEC || SANDPOINT)
637         default y
638
639 config MPC10X_BRIDGE
640         bool
641         depends on PCORE || POWERPMC250 || LOPEC || SANDPOINT
642         default y
643
644 config MPC10X_STORE_GATHERING
645         bool "Enable MPC10x store gathering"
646         depends on MPC10X_BRIDGE
647
648 config CPC710_DATA_GATHERING
649         bool "Enable CPC710 data gathering"
650         depends on K2
651
652 config HARRIER_STORE_GATHERING
653         bool "Enable Harrier store gathering"
654         depends on HARRIER
655
656 config MVME5100_IPMC761_PRESENT
657         bool "MVME5100 configured with an IPMC761"
658         depends on MVME5100
659
660 config SPRUCE_BAUD_33M
661         bool "Spruce baud clock support"
662         depends on SPRUCE
663
664 config PC_KEYBOARD
665         bool "PC PS/2 style Keyboard"
666         depends on 4xx || 8260
667
668 config SERIAL_CONSOLE
669         bool
670         depends on 8xx || 8260
671         default y
672
673 config SERIAL_CONSOLE_BAUD
674         int
675         depends on EV64260
676         default "115200"
677
678 config PPCBUG_NVRAM
679         bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
680         default y if PPC_PREP
681
682 config SMP
683         bool "Symmetric multi-processing support"
684         ---help---
685           This enables support for systems with more than one CPU. If you have
686           a system with only one CPU, say N. If you have a system with more
687           than one CPU, say Y.  Note that the kernel does not currently
688           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
689           since they have inadequate hardware support for multiprocessor
690           operation.
691
692           If you say N here, the kernel will run on single and multiprocessor
693           machines, but will use only one CPU of a multiprocessor machine. If
694           you say Y here, the kernel will run on single-processor machines.
695           On a single-processor machine, the kernel will run faster if you say
696           N here.
697
698           If you don't know what to do here, say N.
699
700 config IRQ_ALL_CPUS
701         bool "Distribute interrupts on all CPUs by default"
702         depends on SMP
703         help
704           This option gives the kernel permission to distribute IRQs across
705           multiple CPUs.  Saying N here will route all IRQs to the first
706           CPU.  Generally saying Y is safe, although some problems have been
707           reported with SMP Power Macintoshes with this option enabled.
708
709 config NR_CPUS
710         int "Maximum number of CPUs (2-32)"
711         range 2 32
712         depends on SMP
713         default "4"
714
715 config PREEMPT
716         bool "Preemptible Kernel"
717         help
718           This option reduces the latency of the kernel when reacting to
719           real-time or interactive events by allowing a low priority process to
720           be preempted even if it is in kernel mode executing a system call.
721
722           Say Y here if you are building a kernel for a desktop, embedded
723           or real-time system.  Say N if you are unsure.
724
725 config HIGHMEM
726         bool "High memory support"
727
728 config KERNEL_ELF
729         bool
730         default y
731
732 source "fs/Kconfig.binfmt"
733
734 config PROC_DEVICETREE
735         bool "Support for Open Firmware device tree in /proc"
736         depends on PPC_OF && PROC_FS
737         help
738           This option adds a device-tree directory under /proc which contains
739           an image of the device tree that the kernel copies from Open
740           Firmware. If unsure, say Y here.
741
742 config PPC_RTAS
743         bool "Support for RTAS (RunTime Abstraction Services) in /proc"
744         depends on PPC_OF && PROC_FS
745         ---help---
746           When you use this option, you will be able to use RTAS from
747           userspace.
748
749           RTAS stands for RunTime Abstraction Services and should
750           provide a portable way to access and set system information. This is
751           commonly used on RS/6000 (pSeries) computers.
752
753           You can access RTAS via the special proc file system entry rtas.
754           Don't confuse this rtas entry with the one in /proc/device-tree/rtas
755           which is readonly.
756
757           If you don't know if you can use RTAS look into
758           /proc/device-tree/rtas. If there are some entries, it is very likely
759           that you will be able to use RTAS.
760
761           You can do cool things with rtas. To print out information about
762           various sensors in the system, just do a
763
764           $ cat /proc/rtas/sensors
765
766           or if you power off your machine at night but want it running when
767           you enter your office at 7:45 am, do a
768
769           # date -d 'tomorrow 7:30' +%s > /proc/rtas/poweron
770
771           and shutdown.
772
773           If unsure, say Y.
774
775 config PREP_RESIDUAL
776         bool "Support for PReP Residual Data"
777         depends on PPC_PREP
778         help
779           Some PReP systems have residual data passed to the kernel by the
780           firmware.  This allows detection of memory size, devices present and
781           other useful pieces of information.  Sometimes this information is
782           not present or incorrect.
783
784           Unless you expect to boot on a PReP system, there is no need to
785           select Y.
786
787 config PROC_PREPRESIDUAL
788         bool "Support for reading of PReP Residual Data in /proc"
789         depends on PREP_RESIDUAL && PROC_FS
790         help
791           Enabling this option will create a /proc/residual file which allows
792           you to get at the residual data on PReP systems.  You will need a tool
793           (lsresidual) to parse it.  If you aren't on a PReP system, you don't
794           want this.
795
796 config CMDLINE_BOOL
797         bool "Default bootloader kernel arguments"
798
799 config CMDLINE
800         string "Initial kernel command string"
801         depends on CMDLINE_BOOL
802         default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
803         help
804           On some platforms, there is currently no way for the boot loader to
805           pass arguments to the kernel. For these platforms, you can supply
806           some command-line options at build time by entering them here.  In
807           most cases you will need to specify the root device here.
808
809 config AMIGA
810         bool
811         depends on APUS
812         default y
813         help
814           This option enables support for the Amiga series of computers.
815
816 config ZORRO
817         bool
818         depends on APUS
819         default y
820         help
821           This enables support for the Zorro bus in the Amiga. If you have
822           expansion cards in your Amiga that conform to the Amiga
823           AutoConfig(tm) specification, say Y, otherwise N. Note that even
824           expansion cards that do not fit in the Zorro slots but fit in e.g.
825           the CPU slot may fall in this category, so you have to say Y to let
826           Linux use these.
827
828 config ABSTRACT_CONSOLE
829         bool
830         depends on APUS
831         default y
832
833 config APUS_FAST_EXCEPT
834         bool
835         depends on APUS
836         default y
837
838 config AMIGA_PCMCIA
839         bool "Amiga 1200/600 PCMCIA support"
840         depends on APUS && EXPERIMENTAL
841         help
842           Include support in the kernel for pcmcia on Amiga 1200 and Amiga
843           600. If you intend to use pcmcia cards say Y; otherwise say N.
844
845 config AMIGA_BUILTIN_SERIAL
846         tristate "Amiga builtin serial support"
847         depends on APUS
848         help
849           If you want to use your Amiga's built-in serial port in Linux,
850           answer Y.
851
852           To compile this driver as a module, choose M here.
853
854 config GVPIOEXT
855         tristate "GVP IO-Extender support"
856         depends on APUS
857         help
858           If you want to use a GVP IO-Extender serial card in Linux, say Y.
859           Otherwise, say N.
860
861 config GVPIOEXT_LP
862         tristate "GVP IO-Extender parallel printer support"
863         depends on GVPIOEXT
864         help
865           Say Y to enable driving a printer from the parallel port on your
866           GVP IO-Extender card, N otherwise.
867
868 config GVPIOEXT_PLIP
869         tristate "GVP IO-Extender PLIP support"
870         depends on GVPIOEXT
871         help
872           Say Y to enable doing IP over the parallel port on your GVP
873           IO-Extender card, N otherwise.
874
875 config MULTIFACE_III_TTY
876         tristate "Multiface Card III serial support"
877         depends on APUS
878         help
879           If you want to use a Multiface III card's serial port in Linux,
880           answer Y.
881
882           To compile this driver as a module, choose M here.
883
884 config A2232
885         tristate "Commodore A2232 serial support (EXPERIMENTAL)"
886         depends on EXPERIMENTAL && APUS
887         ---help---
888           This option supports the 2232 7-port serial card shipped with the
889           Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
890           a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
891           each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
892           ports were connected with 8 pin DIN connectors on the card bracket,
893           for which 8 pin to DB25 adapters were supplied. The card also had
894           jumpers internally to toggle various pinning configurations.
895
896           This driver can be built as a module; but then "generic_serial"
897           will also be built as a module. This has to be loaded before
898           "ser_a2232". If you want to do this, answer M here.
899
900 config WHIPPET_SERIAL
901         tristate "Hisoft Whippet PCMCIA serial support"
902         depends on AMIGA_PCMCIA
903         help
904           HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
905           is no listing for the Whippet in their Amiga section.
906
907 config APNE
908         tristate "PCMCIA NE2000 support"
909         depends on AMIGA_PCMCIA
910         help
911           If you have a PCMCIA NE2000 compatible adapter, say Y.  Otherwise,
912           say N.
913
914           To compile this driver as a module, choose M here: the
915           module will be called apne.
916
917 config SERIAL_CONSOLE
918         bool "Support for serial port console"
919         depends on APUS && (AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y)
920
921 config HEARTBEAT
922         bool "Use power LED as a heartbeat"
923         depends on APUS
924         help
925           Use the power-on LED on your machine as a load meter.  The exact
926           behavior is platform-dependent, but normally the flash frequency is
927           a hyperbolic function of the 5-minute load average.
928
929 config PROC_HARDWARE
930         bool "/proc/hardware support"
931         depends on APUS
932
933 source "drivers/zorro/Kconfig"
934
935 endmenu
936
937 menu "Bus options"
938
939 config ISA
940         bool "Support for ISA-bus hardware"
941         depends on PPC_PREP || PPC_CHRP
942         help
943           Find out whether you have ISA slots on your motherboard.  ISA is the
944           name of a bus system, i.e. the way the CPU talks to the other stuff
945           inside your box.  If you have an Apple machine, say N here; if you
946           have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
947           you have an embedded board, consult your board documentation.
948
949 config GENERIC_ISA_DMA
950         bool
951         depends on POWER3 || POWER4 || 6xx && !8260
952         default y
953
954 config EISA
955         bool
956         help
957           The Extended Industry Standard Architecture (EISA) bus is a bus
958           architecture used on some older intel-based PCs.
959
960 config SBUS
961         bool
962
963 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
964 config MCA
965         bool
966
967 config PCI
968         bool "PCI support" if 40x || 8260
969         default y if !40x && !8260 && !8xx && !APUS
970         default PCI_PERMEDIA if !4xx && !8260 && !8xx && APUS
971         default PCI_QSPAN if !4xx && !8260 && 8xx
972         help
973           Find out whether your system includes a PCI bus. PCI is the name of
974           a bus system, i.e. the way the CPU talks to the other stuff inside
975           your box.  If you say Y here, the kernel will include drivers and
976           infrastructure code to support PCI bus devices.
977
978 config PCI_DOMAINS
979         bool
980         default PCI
981
982 config PCI_QSPAN
983         bool "QSpan PCI"
984         depends on !4xx && !8260 && 8xx
985         help
986           Say Y here if you have a system based on a Motorola 8xx-series
987           embedded processor with a QSPAN PCI interface, otherwise say N.
988
989 config PCI_PERMEDIA
990         bool "PCI for Permedia2"
991         depends on !4xx && !8xx && APUS
992
993 source "drivers/pci/Kconfig"
994
995 source "drivers/pcmcia/Kconfig"
996
997 endmenu
998
999 menu "Advanced setup"
1000
1001 config ADVANCED_OPTIONS
1002         bool "Prompt for advanced kernel configuration options"
1003         help
1004           This option will enable prompting for a variety of advanced kernel
1005           configuration options.  These options can cause the kernel to not
1006           work if they are set incorrectly, but can be used to optimize certain
1007           aspects of kernel memory management.
1008
1009           Unless you know what you are doing, say N here.
1010
1011 comment "Default settings for advanced configuration options are used"
1012         depends on !ADVANCED_OPTIONS
1013
1014 config HIGHMEM_START_BOOL
1015         bool "Set high memory pool address"
1016         depends on ADVANCED_OPTIONS && HIGHMEM
1017         help
1018           This option allows you to set the base address of the kernel virtual
1019           area used to map high memory pages.  This can be useful in
1020           optimizing the layout of kernel virtual memory.
1021
1022           Say N here unless you know what you are doing.
1023
1024 config HIGHMEM_START
1025         hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1026         default "0xfe000000"
1027
1028 config LOWMEM_SIZE_BOOL
1029         bool "Set maximum low memory"
1030         depends on ADVANCED_OPTIONS
1031         help
1032           This option allows you to set the maximum amount of memory which
1033           will be used as "low memory", that is, memory which the kernel can
1034           access directly, without having to set up a kernel virtual mapping.
1035           This can be useful in optimizing the layout of kernel virtual
1036           memory.
1037
1038           Say N here unless you know what you are doing.
1039
1040 config LOWMEM_SIZE
1041         hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1042         default "0x30000000"
1043
1044 config KERNEL_START_BOOL
1045         bool "Set custom kernel base address"
1046         depends on ADVANCED_OPTIONS
1047         help
1048           This option allows you to set the kernel virtual address at which
1049           the kernel will map low memory (the kernel image will be linked at
1050           this address).  This can be useful in optimizing the virtual memory
1051           layout of the system.
1052
1053           Say N here unless you know what you are doing.
1054
1055 config KERNEL_START
1056         hex "Virtual address of kernel base" if KERNEL_START_BOOL
1057         default "0xc0000000"
1058
1059 config TASK_SIZE_BOOL
1060         bool "Set custom user task size"
1061         depends on ADVANCED_OPTIONS
1062         help
1063           This option allows you to set the amount of virtual address space
1064           allocated to user tasks.  This can be useful in optimizing the
1065           virtual memory layout of the system.
1066
1067           Say N here unless you know what you are doing.
1068
1069 config TASK_SIZE
1070         hex "Size of user task space" if TASK_SIZE_BOOL
1071         default "0x80000000"
1072
1073 config BOOT_LOAD_BOOL
1074         bool "Set the boot link/load address"
1075         depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1076         help
1077           This option allows you to set the initial load address of the zImage
1078           or zImage.initrd file.  This can be useful if you are on a board
1079           which has a small amount of memory.
1080
1081           Say N here unless you know what you are doing.
1082
1083 config BOOT_LOAD
1084         hex "Link/load address for booting" if BOOT_LOAD_BOOL
1085         default "0x00400000" if 40x || 8xx || 8260
1086         default "0x01000000" if 44x
1087         default "0x00800000"
1088
1089 config PIN_TLB
1090         bool "Pinned Kernel TLBs (860 ONLY)"
1091         depends on ADVANCED_OPTIONS && 8xx
1092 endmenu
1093
1094 source "drivers/Kconfig"
1095
1096 source "fs/Kconfig"
1097
1098 source "arch/ppc/8xx_io/Kconfig"
1099
1100 source "arch/ppc/8260_io/Kconfig"
1101
1102
1103 menu "IBM 40x options"
1104         depends on 40x
1105
1106 config SERIAL_SICC
1107         bool "SICC Serial port"
1108         depends on STB03xxx
1109
1110 config UART1_DFLT_CONSOLE
1111         bool
1112         depends on SERIAL_SICC && UART0_TTYS1
1113         default y
1114
1115 config SERIAL_SICC_CONSOLE
1116         bool
1117         depends on SERIAL_SICC && UART0_TTYS1
1118         default y
1119
1120 endmenu
1121
1122 source "lib/Kconfig"
1123
1124
1125 menu "Kernel hacking"
1126
1127 config DEBUG_KERNEL
1128         bool "Kernel debugging"
1129
1130 config DEBUG_SLAB
1131         bool "Debug memory allocations"
1132         depends on DEBUG_KERNEL
1133
1134 config MAGIC_SYSRQ
1135         bool "Magic SysRq key"
1136         depends on DEBUG_KERNEL
1137         help
1138           If you say Y here, you will have some control over the system even
1139           if the system crashes for example during kernel debugging (e.g., you
1140           will be able to flush the buffer cache to disk, reboot the system
1141           immediately or dump some status information). This is accomplished
1142           by pressing various keys while holding SysRq (Alt+PrintScreen). It
1143           also works on a serial console (on PC hardware at least), if you
1144           send a BREAK and then within 5 seconds a command keypress. The
1145           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
1146           unless you really know what this hack does.
1147
1148 config DEBUG_SPINLOCK
1149         bool "Spinlock debugging"
1150         depends on DEBUG_KERNEL
1151         help
1152           Say Y here and to CONFIG_SMP to include code to check for missing
1153           spinlock initialization and some other common spinlock errors.
1154
1155 config DEBUG_HIGHMEM
1156         bool "Highmem debugging"
1157         depends on DEBUG_KERNEL && HIGHMEM
1158         help
1159           This options enables additional error checking for high memory
1160           systems.  Disable for production systems.
1161
1162 config DEBUG_SPINLOCK_SLEEP
1163         bool "Sleep-inside-spinlock checking"
1164         depends on DEBUG_KERNEL
1165         help
1166           If you say Y here, various routines which may sleep will become very
1167           noisy if they are called with a spinlock held.
1168
1169 config KGDB
1170         bool "Include kgdb kernel debugger"
1171         depends on DEBUG_KERNEL
1172         select DEBUG_INFO
1173         help
1174           Include in-kernel hooks for kgdb, the Linux kernel source level
1175           debugger.  See <http://kgdb.sourceforge.net/> for more information.
1176           Unless you are intending to debug the kernel, say N here.
1177
1178 choice
1179         prompt "Serial Port"
1180         depends on KGDB
1181         default KGDB_TTYS1
1182
1183 config KGDB_TTYS0
1184         bool "ttyS0"
1185
1186 config KGDB_TTYS1
1187         bool "ttyS1"
1188
1189 config KGDB_TTYS2
1190         bool "ttyS2"
1191
1192 config KGDB_TTYS3
1193         bool "ttyS3"
1194
1195 endchoice
1196
1197 config KGDB_CONSOLE
1198         bool "Enable serial console thru kgdb port"
1199         depends on KGDB && 8xx || 8260
1200         help
1201           If you enable this, all serial console messages will be sent
1202           over the gdb stub.
1203           If unsure, say N.
1204
1205 config XMON
1206         bool "Include xmon kernel debugger"
1207         depends on DEBUG_KERNEL
1208         help
1209           Include in-kernel hooks for the xmon kernel monitor/debugger.
1210           Unless you are intending to debug the kernel, say N here.
1211
1212 config BDI_SWITCH
1213         bool "Include BDI-2000 user context switcher"
1214         depends on DEBUG_KERNEL
1215         help
1216           Include in-kernel support for the Abatron BDI2000 debugger.
1217           Unless you are intending to debug the kernel with one of these
1218           machines, say N here.
1219
1220 config DEBUG_INFO
1221         bool "Compile the kernel with debug info"
1222         depends on DEBUG_KERNEL
1223         help
1224           If you say Y here the resulting kernel image will include
1225           debugging info resulting in a larger kernel image.
1226           Say Y here only if you plan to use some sort of debugger to
1227           debug the kernel.
1228           If you don't debug the kernel, you can say N.
1229
1230 config BOOTX_TEXT
1231         bool "Support for early boot text console (BootX or OpenFirmware only)"
1232         depends PPC_OF
1233         help
1234           Say Y here to see progress messages from the boot firmware in text
1235           mode. Requires either BootX or Open Firmware.
1236
1237 config SERIAL_TEXT_DEBUG
1238         bool "Support for early boot texts over serial port"
1239         depends on 4xx || GT64260 || LOPEC || PPLUS || PRPMC800 || PPC_GEN550
1240
1241 config OCP
1242         bool
1243         depends on IBM_OCP
1244         default y
1245
1246 endmenu
1247
1248 source "kernel/vserver/Kconfig"
1249
1250 source "security/Kconfig"
1251
1252 source "crypto/Kconfig"