blob: f6bf0257b780aaeeaaa0d9b884b99587361855ba [file] [log] [blame]
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +10001config 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
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100013 help
Arnd Bergmannb9fd3052007-06-18 01:06:52 +020014 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
17 embedded 52xx/82xx/83xx/86xx counterparts.
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.
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100021
Arnd Bergmannb9fd3052007-06-18 01:06:52 +020022 If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100023
Arnd Bergmannb9fd3052007-06-18 01:06:52 +020024config 6xx
25 bool "52xx/6xx/7xx/74xx/82xx/83xx/86xx"
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100026 select PPC_FPU
27
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100028config PPC_85xx
29 bool "Freescale 85xx"
30 select E500
31 select FSL_SOC
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100032 select WANT_DEVICE_TREE
Kumar Gala3a831562008-01-28 10:24:30 -060033 select MPC85xx
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100034
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100035config PPC_8xx
36 bool "Freescale 8xx"
37 select FSL_SOC
38 select 8xx
Scott Wood0b195812007-08-21 03:40:01 +100039 select WANT_DEVICE_TREE
Sylvain Munaut1088a202007-09-16 20:53:25 +100040 select PPC_LIB_RHEAP
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100041
42config 40x
43 bool "AMCC 40x"
44 select PPC_DCR_NATIVE
Josh Boyer3cc248a2007-08-20 07:27:42 -050045 select WANT_DEVICE_TREE
Benjamin Herrenschmidt9dae8af2007-12-21 15:39:26 +110046 select PPC_UDBG_16550
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100047
48config 44x
49 bool "AMCC 44x"
50 select PPC_DCR_NATIVE
51 select WANT_DEVICE_TREE
Valentine Barshak1d5499b2007-10-18 22:55:13 +100052 select PPC_UDBG_16550
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100053
54config E200
55 bool "Freescale e200"
56
57endchoice
58
59config POWER4_ONLY
60 bool "Optimize for POWER4"
61 depends on PPC64
62 default n
63 ---help---
64 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
65 The resulting binary will not work on POWER3 or RS64 processors
66 when compiled with binutils 2.15 or later.
67
68config POWER3
69 bool
70 depends on PPC64
71 default y if !POWER4_ONLY
72
73config POWER4
74 depends on PPC64
75 def_bool y
76
Arnd Bergmann3164ccc2007-09-15 10:21:57 +100077config TUNE_CELL
78 bool "Optimize for Cell Broadband Engine"
79 depends on PPC64
80 help
81 Cause the compiler to optimize for the PPE of the Cell Broadband
82 Engine. This will make the code run considerably faster on Cell
83 but somewhat slower on other machines. This option only changes
84 the scheduling of instructions, not the selection of instructions
85 itself, so the resulting kernel will keep running on all other
86 machines. When building a kernel that is supposed to run only
87 on Cell, you should also select the POWER4_ONLY option.
88
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100089config 6xx
90 bool
91
92# this is temp to handle compat with arch=ppc
93config 8xx
94 bool
95
96# this is temp to handle compat with arch=ppc
97config 83xx
98 bool
99
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +1000100config E500
101 bool
102
103config PPC_FPU
104 bool
105 default y if PPC64
106
107config 4xx
108 bool
109 depends on 40x || 44x
110 default y
111
112config BOOKE
113 bool
114 depends on E200 || E500 || 44x
115 default y
116
117config FSL_BOOKE
118 bool
119 depends on E200 || E500
120 default y
121
122config PTE_64BIT
123 bool
124 depends on 44x || E500
125 default y if 44x
126 default y if E500 && PHYS_64BIT
127
128config PHYS_64BIT
129 bool 'Large physical address support' if E500
130 depends on 44x || E500
131 select RESOURCES_64BIT
132 default y if 44x
133 ---help---
134 This option enables kernel support for larger than 32-bit physical
135 addresses. This features is not be available on all e500 cores.
136
137 If in doubt, say N here.
138
139config ALTIVEC
140 bool "AltiVec Support"
141 depends on CLASSIC32 || POWER4
142 ---help---
143 This option enables kernel support for the Altivec extensions to the
144 PowerPC processor. The kernel currently supports saving and restoring
145 altivec registers, and turning on the 'altivec enable' bit so user
146 processes can execute altivec instructions.
147
148 This option is only usefully if you have a processor that supports
149 altivec (G4, otherwise known as 74xx series), but does not have
150 any affect on a non-altivec cpu (it does, however add code to the
151 kernel).
152
153 If in doubt, say Y here.
154
155config SPE
156 bool "SPE Support"
157 depends on E200 || E500
158 default y
159 ---help---
160 This option enables kernel support for the Signal Processing
161 Extensions (SPE) to the PowerPC processor. The kernel currently
162 supports saving and restoring SPE registers, and turning on the
163 'spe enable' bit so user processes can execute SPE instructions.
164
165 This option is only useful if you have a processor that supports
166 SPE (e500, otherwise known as 85xx series), but does not have any
167 effect on a non-spe cpu (it does, however add code to the kernel).
168
169 If in doubt, say Y here.
170
171config PPC_STD_MMU
172 bool
173 depends on 6xx || POWER3 || POWER4 || PPC64
174 default y
175
176config PPC_STD_MMU_32
177 def_bool y
178 depends on PPC_STD_MMU && PPC32
179
180config PPC_MM_SLICES
181 bool
182 default y if HUGETLB_PAGE
183 default n
184
185config VIRT_CPU_ACCOUNTING
186 bool "Deterministic task and CPU time accounting"
187 depends on PPC64
188 default y
189 help
190 Select this option to enable more accurate task and CPU time
191 accounting. This is done by reading a CPU counter on each
192 kernel entry and exit and on transitions within the kernel
193 between system, softirq and hardirq state, so there is a
194 small performance impact. This also enables accounting of
195 stolen time on logically-partitioned systems running on
196 IBM POWER5-based machines.
197
198 If in doubt, say Y here.
199
200config SMP
201 depends on PPC_STD_MMU
202 bool "Symmetric multi-processing support"
203 ---help---
204 This enables support for systems with more than one CPU. If you have
205 a system with only one CPU, say N. If you have a system with more
206 than one CPU, say Y. Note that the kernel does not currently
207 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
208 since they have inadequate hardware support for multiprocessor
209 operation.
210
211 If you say N here, the kernel will run on single and multiprocessor
212 machines, but will use only one CPU of a multiprocessor machine. If
213 you say Y here, the kernel will run on single-processor machines.
214 On a single-processor machine, the kernel will run faster if you say
215 N here.
216
217 If you don't know what to do here, say N.
218
219config NR_CPUS
220 int "Maximum number of CPUs (2-128)"
221 range 2 128
222 depends on SMP
223 default "32" if PPC64
224 default "4"
225
226config NOT_COHERENT_CACHE
227 bool
228 depends on 4xx || 8xx || E200
229 default y
230
Robert P. J. Dayf8eb77d2007-07-18 08:21:29 +1000231config CHECK_CACHE_COHERENCY
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +1000232 bool
233
234endmenu