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"
15 There are five families of 32 bit PowerPC chips supported.
16 The most common ones are the desktop and server CPUs (601, 603,
17 604, 740, 750, 74xx) CPUs from Freescale and IBM, with their
18 embedded 512x/52xx/82xx/83xx/86xx counterparts.
19 The other embeeded parts, namely 4xx, 8xx, e200 (55xx) and e500
20 (85xx) each form a family of their own that is not compatible
23 If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
26 bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
61 # Until we have a choice of exclusive CPU types on 64-bit, we always
62 # use PPC_BOOK3S. On 32-bit, this is equivalent to 6xx which is
67 depends on PPC64 || 6xx
70 bool "Optimize for POWER4"
71 depends on PPC64 && PPC_BOOK3S
74 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
75 The resulting binary will not work on POWER3 or RS64 processors
76 when compiled with binutils 2.15 or later.
80 depends on PPC64 && PPC_BOOK3S
81 default y if !POWER4_ONLY
84 depends on PPC64 && PPC_BOOK3S
88 bool "Optimize for Cell Broadband Engine"
89 depends on PPC64 && PPC_BOOK3S
91 Cause the compiler to optimize for the PPE of the Cell Broadband
92 Engine. This will make the code run considerably faster on Cell
93 but somewhat slower on other machines. This option only changes
94 the scheduling of instructions, not the selection of instructions
95 itself, so the resulting kernel will keep running on all other
96 machines. When building a kernel that is supposed to run only
97 on Cell, you should also select the POWER4_ONLY option.
99 # this is temp to handle compat with arch=ppc
104 select FSL_EMB_PERFMON
108 bool "e500mc Support"
118 depends on 40x || 44x
123 depends on E200 || E500 || 44x
128 depends on E200 || E500
131 config FSL_EMB_PERFMON
132 bool "Freescale Embedded Perfmon"
133 depends on E500 || PPC_83xx
135 This is the Performance Monitor support found on the e500 core
136 and some e300 cores (c3 and c4). Select this only if your
137 core supports the Embedded Performance Monitor APU
141 depends on 44x || E500 || PPC_86xx
142 default y if PHYS_64BIT
145 bool 'Large physical address support' if E500 || PPC_86xx
146 depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx
148 This option enables kernel support for larger than 32-bit physical
149 addresses. This feature may not be available on all cores.
151 If you have more than 3.5GB of RAM or so, you also need to enable
152 SWIOTLB under Kernel Options for this to work. The actual number
153 is platform-dependent.
155 If in doubt, say N here.
158 bool "AltiVec Support"
159 depends on 6xx || POWER4
161 This option enables kernel support for the Altivec extensions to the
162 PowerPC processor. The kernel currently supports saving and restoring
163 altivec registers, and turning on the 'altivec enable' bit so user
164 processes can execute altivec instructions.
166 This option is only usefully if you have a processor that supports
167 altivec (G4, otherwise known as 74xx series), but does not have
168 any affect on a non-altivec cpu (it does, however add code to the
171 If in doubt, say Y here.
175 depends on POWER4 && ALTIVEC && PPC_FPU
178 This option enables kernel support for the Vector Scaler extensions
179 to the PowerPC processor. The kernel currently supports saving and
180 restoring VSX registers, and turning on the 'VSX enable' bit so user
181 processes can execute VSX instructions.
183 This option is only useful if you have a processor that supports
184 VSX (P7 and above), but does not have any affect on a non-VSX
185 CPUs (it does, however add code to the kernel).
187 If in doubt, say Y here.
191 depends on E200 || (E500 && !PPC_E500MC)
194 This option enables kernel support for the Signal Processing
195 Extensions (SPE) to the PowerPC processor. The kernel currently
196 supports saving and restoring SPE registers, and turning on the
197 'spe enable' bit so user processes can execute SPE instructions.
199 This option is only useful if you have a processor that supports
200 SPE (e500, otherwise known as 85xx series), but does not have any
201 effect on a non-spe cpu (it does, however add code to the kernel).
203 If in doubt, say Y here.
207 depends on 6xx || PPC64
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-1024)"
269 default "32" if PPC64
272 config NOT_COHERENT_CACHE
274 depends on 4xx || 8xx || E200 || PPC_MPC512x
277 config CHECK_CACHE_COHERENCY