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