powerpc: fixup hard_irq_disable semantics
[linux-2.6] / arch / powerpc / platforms / Kconfig
1 menu "Platform support"
2
3 choice
4         prompt "Machine type"
5         depends on PPC64 || CLASSIC32
6         default PPC_MULTIPLATFORM
7
8 config PPC_MULTIPLATFORM
9         bool "Generic desktop/server/laptop"
10         help
11           Select this option if configuring for an IBM pSeries or
12           RS/6000 machine, an Apple machine, or a PReP, CHRP,
13           Maple or Cell-based machine.
14
15 config EMBEDDED6xx
16         bool "Embedded 6xx/7xx/7xxx-based board"
17         depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
18
19 config APUS
20         bool "Amiga-APUS"
21         depends on PPC32 && BROKEN
22         help
23           Select APUS if configuring for a PowerUP Amiga.
24           More information is available at:
25           <http://linux-apus.sourceforge.net/>.
26 endchoice
27
28 source "arch/powerpc/platforms/pseries/Kconfig"
29 source "arch/powerpc/platforms/iseries/Kconfig"
30 source "arch/powerpc/platforms/chrp/Kconfig"
31 source "arch/powerpc/platforms/52xx/Kconfig"
32 source "arch/powerpc/platforms/powermac/Kconfig"
33 source "arch/powerpc/platforms/prep/Kconfig"
34 source "arch/powerpc/platforms/maple/Kconfig"
35 source "arch/powerpc/platforms/pasemi/Kconfig"
36 source "arch/powerpc/platforms/celleb/Kconfig"
37 source "arch/powerpc/platforms/ps3/Kconfig"
38 source "arch/powerpc/platforms/cell/Kconfig"
39 source "arch/powerpc/platforms/8xx/Kconfig"
40 source "arch/powerpc/platforms/82xx/Kconfig"
41 source "arch/powerpc/platforms/83xx/Kconfig"
42 source "arch/powerpc/platforms/85xx/Kconfig"
43 source "arch/powerpc/platforms/86xx/Kconfig"
44 source "arch/powerpc/platforms/embedded6xx/Kconfig"
45 source "arch/powerpc/platforms/44x/Kconfig"
46 #source "arch/powerpc/platforms/4xx/Kconfig
47
48 config PPC_NATIVE
49         bool
50         depends on PPC_MULTIPLATFORM
51         help
52           Support for running natively on the hardware, i.e. without
53           a hypervisor. This option is not user-selectable but should
54           be selected by all platforms that need it.
55
56 config UDBG_RTAS_CONSOLE
57         bool "RTAS based debug console"
58         depends on PPC_RTAS
59         default n
60
61 config PPC_UDBG_BEAT
62         bool "BEAT based debug console"
63         depends on PPC_CELLEB
64         default n
65
66 config XICS
67         depends on PPC_PSERIES
68         bool
69         default y
70
71 config MPIC
72         bool
73         default n
74
75 config MPIC_WEIRD
76         bool
77         default n
78
79 config PPC_I8259
80         bool
81         default n
82
83 config U3_DART
84         bool
85         depends on PPC_MULTIPLATFORM && PPC64
86         default n
87
88 config PPC_RTAS
89         bool
90         default n
91
92 config RTAS_ERROR_LOGGING
93         bool
94         depends on PPC_RTAS
95         default n
96
97 config RTAS_PROC
98         bool "Proc interface to RTAS"
99         depends on PPC_RTAS
100         default y
101
102 config RTAS_FLASH
103         tristate "Firmware flash interface"
104         depends on PPC64 && RTAS_PROC
105
106 config PPC_PMI
107         tristate "Support for PMI"
108         depends PPC_IBM_CELL_BLADE
109         help
110           PMI (Platform Management Interrupt) is a way to
111           communicate with the BMC (Baseboard Mangement Controller).
112           It is used in some IBM Cell blades.
113         default m
114
115 config MMIO_NVRAM
116         bool
117         default n
118
119 config MPIC_U3_HT_IRQS
120         bool
121         depends on PPC_MAPLE
122         default y
123
124 config IBMVIO
125         depends on PPC_PSERIES || PPC_ISERIES
126         bool
127         default y
128
129 config IBMEBUS
130         depends on PPC_PSERIES
131         bool "Support for GX bus based adapters"
132         help
133           Bus device driver for GX bus based adapters.
134
135 config PPC_MPC106
136         bool
137         default n
138
139 config PPC_970_NAP
140         bool
141         default n
142
143 config PPC_INDIRECT_IO
144         bool
145         select GENERIC_IOMAP
146         default n
147
148 config GENERIC_IOMAP
149         bool
150         default n
151
152 source "drivers/cpufreq/Kconfig"
153
154 menu "CPU Frequency drivers"
155         depends on CPU_FREQ
156
157 config CPU_FREQ_PMAC
158         bool "Support for Apple PowerBooks"
159         depends on ADB_PMU && PPC32
160         select CPU_FREQ_TABLE
161         help
162           This adds support for frequency switching on Apple PowerBooks,
163           this currently includes some models of iBook & Titanium
164           PowerBook.
165
166 config CPU_FREQ_PMAC64
167         bool "Support for some Apple G5s"
168         depends on PPC_PMAC && PPC64
169         select CPU_FREQ_TABLE
170         help
171           This adds support for frequency switching on Apple iMac G5,
172           and some of the more recent desktop G5 machines as well.
173
174 config PPC_PASEMI_CPUFREQ
175         bool "Support for PA Semi PWRficient"
176         depends on PPC_PASEMI
177         default y
178         select CPU_FREQ_TABLE
179         help
180           This adds the support for frequency switching on PA Semi
181           PWRficient processors.
182
183 endmenu
184
185 config PPC601_SYNC_FIX
186         bool "Workarounds for PPC601 bugs"
187         depends on 6xx && (PPC_PREP || PPC_PMAC)
188         help
189           Some versions of the PPC601 (the first PowerPC chip) have bugs which
190           mean that extra synchronization instructions are required near
191           certain instructions, typically those that make major changes to the
192           CPU state.  These extra instructions reduce performance slightly.
193           If you say N here, these extra instructions will not be included,
194           resulting in a kernel which will run faster but may not run at all
195           on some systems with the PPC601 chip.
196
197           If in doubt, say Y here.
198
199 config TAU
200         bool "On-chip CPU temperature sensor support"
201         depends on CLASSIC32
202         help
203           G3 and G4 processors have an on-chip temperature sensor called the
204           'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
205           temperature within 2-4 degrees Celsius. This option shows the current
206           on-die temperature in /proc/cpuinfo if the cpu supports it.
207
208           Unfortunately, on some chip revisions, this sensor is very inaccurate
209           and in many cases, does not work at all, so don't assume the cpu
210           temp is actually what /proc/cpuinfo says it is.
211
212 config TAU_INT
213         bool "Interrupt driven TAU driver (DANGEROUS)"
214         depends on TAU
215         ---help---
216           The TAU supports an interrupt driven mode which causes an interrupt
217           whenever the temperature goes out of range. This is the fastest way
218           to get notified the temp has exceeded a range. With this option off,
219           a timer is used to re-check the temperature periodically.
220
221           However, on some cpus it appears that the TAU interrupt hardware
222           is buggy and can cause a situation which would lead unexplained hard
223           lockups.
224
225           Unless you are extending the TAU driver, or enjoy kernel/hardware
226           debugging, leave this option off.
227
228 config TAU_AVERAGE
229         bool "Average high and low temp"
230         depends on TAU
231         ---help---
232           The TAU hardware can compare the temperature to an upper and lower
233           bound.  The default behavior is to show both the upper and lower
234           bound in /proc/cpuinfo. If the range is large, the temperature is
235           either changing a lot, or the TAU hardware is broken (likely on some
236           G4's). If the range is small (around 4 degrees), the temperature is
237           relatively stable.  If you say Y here, a single temperature value,
238           halfway between the upper and lower bounds, will be reported in
239           /proc/cpuinfo.
240
241           If in doubt, say N here.
242
243 config QUICC_ENGINE
244         bool
245         help
246           The QUICC Engine (QE) is a new generation of communications
247           coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
248           Selecting this option means that you wish to build a kernel
249           for a machine with a QE coprocessor.
250
251 config CPM2
252         bool
253         default n
254         help
255           The CPM2 (Communications Processor Module) is a coprocessor on
256           embedded CPUs made by Freescale.  Selecting this option means that
257           you wish to build a kernel for a machine with a CPM2 coprocessor
258           on it (826x, 827x, 8560).
259
260 endmenu