[POWERPC] Make iSeries spin on __secondary_hold_spinloop, like pSeries
[linux-2.6-block.git] / arch / powerpc / platforms / Kconfig.cputype
CommitLineData
a0ae9c7c
AB
1config PPC64
2 bool "64-bit kernel"
3 default n
4 help
5 This option selects whether a 32-bit or a 64-bit kernel
6 will be built.
7
8menu "Processor support"
9choice
10 prompt "Processor Type"
11 depends on PPC32
12 default 6xx
a0ae9c7c 13 help
b9fd305d
AB
14 There are five families of 32 bit PowerPC chips supported.
15 The most common ones are the desktop and server CPUs (601, 603,
16 604, 740, 750, 74xx) CPUs from Freescale and IBM, with their
e177edcd 17 embedded 512x/52xx/82xx/83xx/86xx counterparts.
b9fd305d
AB
18 The other embeeded parts, namely 4xx, 8xx, e200 (55xx) and e500
19 (85xx) each form a family of their own that is not compatible
20 with the others.
21
22 If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
23
24config 6xx
e177edcd 25 bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
a0ae9c7c
AB
26 select PPC_FPU
27
a0ae9c7c
AB
28config PPC_85xx
29 bool "Freescale 85xx"
30 select E500
31 select FSL_SOC
3a83156b 32 select MPC85xx
a0ae9c7c 33
a0ae9c7c
AB
34config PPC_8xx
35 bool "Freescale 8xx"
36 select FSL_SOC
37 select 8xx
1088a209 38 select PPC_LIB_RHEAP
a0ae9c7c
AB
39
40config 40x
41 bool "AMCC 40x"
42 select PPC_DCR_NATIVE
9dae8afd 43 select PPC_UDBG_16550
93173ce2 44 select 4xx_SOC
a0ae9c7c
AB
45
46config 44x
47 bool "AMCC 44x"
48 select PPC_DCR_NATIVE
1d5499b5 49 select PPC_UDBG_16550
93173ce2 50 select 4xx_SOC
a0ae9c7c
AB
51
52config E200
53 bool "Freescale e200"
54
55endchoice
56
57config POWER4_ONLY
58 bool "Optimize for POWER4"
59 depends on PPC64
60 default n
61 ---help---
62 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
63 The resulting binary will not work on POWER3 or RS64 processors
64 when compiled with binutils 2.15 or later.
65
66config POWER3
67 bool
68 depends on PPC64
69 default y if !POWER4_ONLY
70
71config POWER4
72 depends on PPC64
73 def_bool y
74
3164cccd
AB
75config TUNE_CELL
76 bool "Optimize for Cell Broadband Engine"
77 depends on PPC64
78 help
79 Cause the compiler to optimize for the PPE of the Cell Broadband
80 Engine. This will make the code run considerably faster on Cell
81 but somewhat slower on other machines. This option only changes
82 the scheduling of instructions, not the selection of instructions
83 itself, so the resulting kernel will keep running on all other
84 machines. When building a kernel that is supposed to run only
85 on Cell, you should also select the POWER4_ONLY option.
86
a0ae9c7c
AB
87config 6xx
88 bool
89
90# this is temp to handle compat with arch=ppc
91config 8xx
92 bool
93
a0ae9c7c 94config E500
39aef685 95 select FSL_EMB_PERFMON
a0ae9c7c
AB
96 bool
97
98config PPC_FPU
99 bool
100 default y if PPC64
101
102config 4xx
103 bool
104 depends on 40x || 44x
105 default y
106
107config BOOKE
108 bool
109 depends on E200 || E500 || 44x
110 default y
111
112config FSL_BOOKE
113 bool
114 depends on E200 || E500
115 default y
116
39aef685 117config FSL_EMB_PERFMON
ad562c71
AF
118 bool "Freescale Embedded Perfmon"
119 depends on E500 || PPC_83xx
120 help
121 This is the Performance Monitor support found on the e500 core
122 and some e300 cores (c3 and c4). Select this only if your
123 core supports the Embedded Performance Monitor APU
39aef685 124
a0ae9c7c
AB
125config PTE_64BIT
126 bool
127 depends on 44x || E500
128 default y if 44x
129 default y if E500 && PHYS_64BIT
130
131config PHYS_64BIT
132 bool 'Large physical address support' if E500
133 depends on 44x || E500
134 select RESOURCES_64BIT
135 default y if 44x
136 ---help---
137 This option enables kernel support for larger than 32-bit physical
138 addresses. This features is not be available on all e500 cores.
139
140 If in doubt, say N here.
141
142config ALTIVEC
143 bool "AltiVec Support"
144 depends on CLASSIC32 || POWER4
145 ---help---
146 This option enables kernel support for the Altivec extensions to the
147 PowerPC processor. The kernel currently supports saving and restoring
148 altivec registers, and turning on the 'altivec enable' bit so user
149 processes can execute altivec instructions.
150
151 This option is only usefully if you have a processor that supports
152 altivec (G4, otherwise known as 74xx series), but does not have
153 any affect on a non-altivec cpu (it does, however add code to the
154 kernel).
155
156 If in doubt, say Y here.
157
158config SPE
159 bool "SPE Support"
160 depends on E200 || E500
161 default y
162 ---help---
163 This option enables kernel support for the Signal Processing
164 Extensions (SPE) to the PowerPC processor. The kernel currently
165 supports saving and restoring SPE registers, and turning on the
166 'spe enable' bit so user processes can execute SPE instructions.
167
168 This option is only useful if you have a processor that supports
169 SPE (e500, otherwise known as 85xx series), but does not have any
170 effect on a non-spe cpu (it does, however add code to the kernel).
171
172 If in doubt, say Y here.
173
174config PPC_STD_MMU
175 bool
176 depends on 6xx || POWER3 || POWER4 || PPC64
177 default y
178
179config PPC_STD_MMU_32
180 def_bool y
181 depends on PPC_STD_MMU && PPC32
182
183config PPC_MM_SLICES
184 bool
185 default y if HUGETLB_PAGE
186 default n
187
188config VIRT_CPU_ACCOUNTING
189 bool "Deterministic task and CPU time accounting"
190 depends on PPC64
191 default y
192 help
193 Select this option to enable more accurate task and CPU time
194 accounting. This is done by reading a CPU counter on each
195 kernel entry and exit and on transitions within the kernel
196 between system, softirq and hardirq state, so there is a
197 small performance impact. This also enables accounting of
198 stolen time on logically-partitioned systems running on
199 IBM POWER5-based machines.
200
201 If in doubt, say Y here.
202
203config SMP
204 depends on PPC_STD_MMU
205 bool "Symmetric multi-processing support"
206 ---help---
207 This enables support for systems with more than one CPU. If you have
208 a system with only one CPU, say N. If you have a system with more
209 than one CPU, say Y. Note that the kernel does not currently
210 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
211 since they have inadequate hardware support for multiprocessor
212 operation.
213
214 If you say N here, the kernel will run on single and multiprocessor
215 machines, but will use only one CPU of a multiprocessor machine. If
216 you say Y here, the kernel will run on single-processor machines.
217 On a single-processor machine, the kernel will run faster if you say
218 N here.
219
220 If you don't know what to do here, say N.
221
222config NR_CPUS
223 int "Maximum number of CPUs (2-128)"
224 range 2 128
225 depends on SMP
226 default "32" if PPC64
227 default "4"
228
229config NOT_COHERENT_CACHE
230 bool
e177edcd 231 depends on 4xx || 8xx || E200 || PPC_MPC512x
a0ae9c7c
AB
232 default y
233
f8eb77d6 234config CHECK_CACHE_COHERENCY
a0ae9c7c
AB
235 bool
236
237endmenu