4 select HAVE_PERF_COUNTERS
6 This option selects whether a 32-bit or a 64-bit kernel
9 menu "Processor support"
11 prompt "Processor Type"
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
17 embedded 512x/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
22 If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
25 bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
67 bool "Optimize for POWER4"
68 depends on PPC64 && PPC_BOOK3S
71 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
72 The resulting binary will not work on POWER3 or RS64 processors
73 when compiled with binutils 2.15 or later.
77 depends on PPC32 && PPC_BOOK3S
81 depends on PPC64 && PPC_BOOK3S
82 default y if !POWER4_ONLY
85 depends on PPC64 && PPC_BOOK3S
89 bool "Optimize for Cell Broadband Engine"
90 depends on PPC64 && PPC_BOOK3S
92 Cause the compiler to optimize for the PPE of the Cell Broadband
93 Engine. This will make the code run considerably faster on Cell
94 but somewhat slower on other machines. This option only changes
95 the scheduling of instructions, not the selection of instructions
96 itself, so the resulting kernel will keep running on all other
97 machines. When building a kernel that is supposed to run only
98 on Cell, you should also select the POWER4_ONLY option.
100 # this is temp to handle compat with arch=ppc
105 select FSL_EMB_PERFMON
109 bool "e500mc Support"
119 depends on 40x || 44x
124 depends on E200 || E500 || 44x
129 depends on E200 || E500
132 config FSL_EMB_PERFMON
133 bool "Freescale Embedded Perfmon"
134 depends on E500 || PPC_83xx
136 This is the Performance Monitor support found on the e500 core
137 and some e300 cores (c3 and c4). Select this only if your
138 core supports the Embedded Performance Monitor APU
142 depends on 44x || E500 || PPC_86xx
143 default y if PHYS_64BIT
146 bool 'Large physical address support' if E500 || PPC_86xx
147 depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx
149 This option enables kernel support for larger than 32-bit physical
150 addresses. This feature may not be available on all cores.
152 If you have more than 3.5GB of RAM or so, you also need to enable
153 SWIOTLB under Kernel Options for this to work. The actual number
154 is platform-dependent.
156 If in doubt, say N here.
159 bool "AltiVec Support"
160 depends on 6xx || POWER4
162 This option enables kernel support for the Altivec extensions to the
163 PowerPC processor. The kernel currently supports saving and restoring
164 altivec registers, and turning on the 'altivec enable' bit so user
165 processes can execute altivec instructions.
167 This option is only usefully if you have a processor that supports
168 altivec (G4, otherwise known as 74xx series), but does not have
169 any affect on a non-altivec cpu (it does, however add code to the
172 If in doubt, say Y here.
176 depends on POWER4 && ALTIVEC && PPC_FPU
179 This option enables kernel support for the Vector Scaler extensions
180 to the PowerPC processor. The kernel currently supports saving and
181 restoring VSX registers, and turning on the 'VSX enable' bit so user
182 processes can execute VSX instructions.
184 This option is only useful if you have a processor that supports
185 VSX (P7 and above), but does not have any affect on a non-VSX
186 CPUs (it does, however add code to the kernel).
188 If in doubt, say Y here.
192 depends on E200 || (E500 && !PPC_E500MC)
195 This option enables kernel support for the Signal Processing
196 Extensions (SPE) to the PowerPC processor. The kernel currently
197 supports saving and restoring SPE registers, and turning on the
198 'spe enable' bit so user processes can execute SPE instructions.
200 This option is only useful if you have a processor that supports
201 SPE (e500, otherwise known as 85xx series), but does not have any
202 effect on a non-spe cpu (it does, however add code to the kernel).
204 If in doubt, say Y here.
208 depends on PPC_BOOK3S
210 config PPC_STD_MMU_32
212 depends on PPC_STD_MMU && PPC32
214 config PPC_STD_MMU_64
216 depends on PPC_STD_MMU && PPC64
218 config PPC_MMU_NOHASH
220 depends on !PPC_STD_MMU
222 config PPC_BOOK3E_MMU
228 default y if HUGETLB_PAGE || (PPC_STD_MMU_64 && PPC_64K_PAGES)
231 config VIRT_CPU_ACCOUNTING
232 bool "Deterministic task and CPU time accounting"
236 Select this option to enable more accurate task and CPU time
237 accounting. This is done by reading a CPU counter on each
238 kernel entry and exit and on transitions within the kernel
239 between system, softirq and hardirq state, so there is a
240 small performance impact. This also enables accounting of
241 stolen time on logically-partitioned systems running on
242 IBM POWER5-based machines.
244 If in doubt, say Y here.
247 depends on PPC_STD_MMU || FSL_BOOKE
248 bool "Symmetric multi-processing support"
250 This enables support for systems with more than one CPU. If you have
251 a system with only one CPU, say N. If you have a system with more
252 than one CPU, say Y. Note that the kernel does not currently
253 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
254 since they have inadequate hardware support for multiprocessor
257 If you say N here, the kernel will run on single and multiprocessor
258 machines, but will use only one CPU of a multiprocessor machine. If
259 you say Y here, the kernel will run on single-processor machines.
260 On a single-processor machine, the kernel will run faster if you say
263 If you don't know what to do here, say N.
266 int "Maximum number of CPUs (2-8192)"
269 default "32" if PPC64
272 config NOT_COHERENT_CACHE
274 depends on 4xx || 8xx || E200 || PPC_MPC512x
277 config CHECK_CACHE_COHERENCY