Version:  2.6.34 2.6.35 2.6.36 2.6.37 2.6.38 2.6.39 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14

Linux/arch/powerpc/platforms/Kconfig.cputype

  1 config PPC64
  2         bool "64-bit kernel"
  3         default n
  4         select HAVE_VIRT_CPU_ACCOUNTING
  5         help
  6           This option selects whether a 32-bit or a 64-bit kernel
  7           will be built.
  8 
  9 menu "Processor support"
 10 choice
 11         prompt "Processor Type"
 12         depends on PPC32
 13         help
 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
 20           with the others.
 21 
 22           If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
 23 
 24 config PPC_BOOK3S_32
 25         bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
 26         select PPC_FPU
 27 
 28 config PPC_85xx
 29         bool "Freescale 85xx"
 30         select E500
 31 
 32 config PPC_8xx
 33         bool "Freescale 8xx"
 34         select FSL_SOC
 35         select 8xx
 36         select PPC_LIB_RHEAP
 37 
 38 config 40x
 39         bool "AMCC 40x"
 40         select PPC_DCR_NATIVE
 41         select PPC_UDBG_16550
 42         select 4xx_SOC
 43         select PPC_PCI_CHOICE
 44 
 45 config 44x
 46         bool "AMCC 44x, 46x or 47x"
 47         select PPC_DCR_NATIVE
 48         select PPC_UDBG_16550
 49         select 4xx_SOC
 50         select PPC_PCI_CHOICE
 51         select PHYS_64BIT
 52 
 53 config E200
 54         bool "Freescale e200"
 55 
 56 endchoice
 57 
 58 choice
 59         prompt "Processor Type"
 60         depends on PPC64
 61         help
 62           There are two families of 64 bit PowerPC chips supported.
 63           The most common ones are the desktop and server CPUs
 64           (POWER3, RS64, POWER4, POWER5, POWER5+, POWER6, ...)
 65 
 66           The other are the "embedded" processors compliant with the
 67           "Book 3E" variant of the architecture
 68 
 69 config PPC_BOOK3S_64
 70         bool "Server processors"
 71         select PPC_FPU
 72         select PPC_HAVE_PMU_SUPPORT
 73         select SYS_SUPPORTS_HUGETLBFS
 74         select HAVE_ARCH_TRANSPARENT_HUGEPAGE if PPC_64K_PAGES
 75         select ARCH_SUPPORTS_NUMA_BALANCING
 76 
 77 config PPC_BOOK3E_64
 78         bool "Embedded processors"
 79         select PPC_FPU # Make it a choice ?
 80         select PPC_SMP_MUXED_IPI
 81         select PPC_DOORBELL
 82 
 83 endchoice
 84 
 85 choice
 86         prompt "CPU selection"
 87         depends on PPC64
 88         default GENERIC_CPU
 89         help
 90           This will create a kernel which is optimised for a particular CPU.
 91           The resulting kernel may not run on other CPUs, so use this with care.
 92 
 93           If unsure, select Generic.
 94 
 95 config GENERIC_CPU
 96         bool "Generic"
 97         depends on !CPU_LITTLE_ENDIAN
 98 
 99 config CELL_CPU
100         bool "Cell Broadband Engine"
101         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
102 
103 config POWER4_CPU
104         bool "POWER4"
105         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
106 
107 config POWER5_CPU
108         bool "POWER5"
109         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
110 
111 config POWER6_CPU
112         bool "POWER6"
113         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
114 
115 config POWER7_CPU
116         bool "POWER7"
117         depends on PPC_BOOK3S_64
118 
119 config E5500_CPU
120         bool "Freescale e5500"
121         depends on E500
122 
123 config E6500_CPU
124         bool "Freescale e6500"
125         depends on E500
126 
127 endchoice
128 
129 config PPC_BOOK3S
130         def_bool y
131         depends on PPC_BOOK3S_32 || PPC_BOOK3S_64
132 
133 config PPC_BOOK3E
134         def_bool y
135         depends on PPC_BOOK3E_64
136 
137 config 6xx
138         def_bool y
139         depends on PPC32 && PPC_BOOK3S
140         select PPC_HAVE_PMU_SUPPORT
141 
142 config POWER3
143         depends on PPC64 && PPC_BOOK3S
144         def_bool y
145 
146 config POWER4
147         depends on PPC64 && PPC_BOOK3S
148         def_bool y
149 
150 config PPC_A2
151         bool
152         depends on PPC_BOOK3E_64
153 
154 config TUNE_CELL
155         bool "Optimize for Cell Broadband Engine"
156         depends on PPC64 && PPC_BOOK3S
157         help
158           Cause the compiler to optimize for the PPE of the Cell Broadband
159           Engine. This will make the code run considerably faster on Cell
160           but somewhat slower on other machines. This option only changes
161           the scheduling of instructions, not the selection of instructions
162           itself, so the resulting kernel will keep running on all other
163           machines.
164 
165 # this is temp to handle compat with arch=ppc
166 config 8xx
167         bool
168 
169 config E500
170         select FSL_EMB_PERFMON
171         select PPC_FSL_BOOK3E
172         bool
173 
174 config PPC_E500MC
175         bool "e500mc Support"
176         select PPC_FPU
177         select COMMON_CLK
178         depends on E500
179         help
180           This must be enabled for running on e500mc (and derivatives
181           such as e5500/e6500), and must be disabled for running on
182           e500v1 or e500v2.
183 
184 config PPC_FPU
185         bool
186         default y if PPC64
187 
188 config FSL_EMB_PERFMON
189         bool "Freescale Embedded Perfmon"
190         depends on E500 || PPC_83xx
191         help
192           This is the Performance Monitor support found on the e500 core
193           and some e300 cores (c3 and c4).  Select this only if your
194           core supports the Embedded Performance Monitor APU
195 
196 config FSL_EMB_PERF_EVENT
197         bool
198         depends on FSL_EMB_PERFMON && PERF_EVENTS && !PPC_PERF_CTRS
199         default y
200 
201 config FSL_EMB_PERF_EVENT_E500
202         bool
203         depends on FSL_EMB_PERF_EVENT && E500
204         default y
205 
206 config 4xx
207         bool
208         depends on 40x || 44x
209         default y
210 
211 config BOOKE
212         bool
213         depends on E200 || E500 || 44x || PPC_BOOK3E
214         default y
215 
216 config FSL_BOOKE
217         bool
218         depends on (E200 || E500) && PPC32
219         default y
220 
221 # this is for common code between PPC32 & PPC64 FSL BOOKE
222 config PPC_FSL_BOOK3E
223         bool
224         select FSL_EMB_PERFMON
225         select PPC_SMP_MUXED_IPI
226         select SYS_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64
227         select PPC_DOORBELL
228         default y if FSL_BOOKE
229 
230 config PTE_64BIT
231         bool
232         depends on 44x || E500 || PPC_86xx
233         default y if PHYS_64BIT
234 
235 config PHYS_64BIT
236         bool 'Large physical address support' if E500 || PPC_86xx
237         depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx
238         ---help---
239           This option enables kernel support for larger than 32-bit physical
240           addresses.  This feature may not be available on all cores.
241 
242           If you have more than 3.5GB of RAM or so, you also need to enable
243           SWIOTLB under Kernel Options for this to work.  The actual number
244           is platform-dependent.
245 
246           If in doubt, say N here.
247 
248 config ALTIVEC
249         bool "AltiVec Support"
250         depends on 6xx || POWER4 || (PPC_E500MC && PPC64)
251         ---help---
252           This option enables kernel support for the Altivec extensions to the
253           PowerPC processor. The kernel currently supports saving and restoring
254           altivec registers, and turning on the 'altivec enable' bit so user
255           processes can execute altivec instructions.
256 
257           This option is only usefully if you have a processor that supports
258           altivec (G4, otherwise known as 74xx series), but does not have
259           any affect on a non-altivec cpu (it does, however add code to the
260           kernel).
261 
262           If in doubt, say Y here.
263 
264 config VSX
265         bool "VSX Support"
266         depends on POWER4 && ALTIVEC && PPC_FPU
267         ---help---
268 
269           This option enables kernel support for the Vector Scaler extensions
270           to the PowerPC processor. The kernel currently supports saving and
271           restoring VSX registers, and turning on the 'VSX enable' bit so user
272           processes can execute VSX instructions.
273 
274           This option is only useful if you have a processor that supports
275           VSX (P7 and above), but does not have any affect on a non-VSX
276           CPUs (it does, however add code to the kernel).
277 
278           If in doubt, say Y here.
279 
280 config PPC_ICSWX
281         bool "Support for PowerPC icswx coprocessor instruction"
282         depends on POWER4 || PPC_A2
283         default n
284         ---help---
285 
286           This option enables kernel support for the PowerPC Initiate
287           Coprocessor Store Word (icswx) coprocessor instruction on POWER7
288           or newer processors.
289 
290           This option is only useful if you have a processor that supports
291           the icswx coprocessor instruction. It does not have any effect
292           on processors without the icswx coprocessor instruction.
293 
294           This option slightly increases kernel memory usage.
295 
296           If in doubt, say N here.
297 
298 config PPC_ICSWX_PID
299         bool "icswx requires direct PID management"
300         depends on PPC_ICSWX && POWER4
301         default y
302         ---help---
303           The PID register in server is used explicitly for ICSWX.  In
304           embedded systems PID management is done by the system.
305 
306 config PPC_ICSWX_USE_SIGILL
307         bool "Should a bad CT cause a SIGILL?"
308         depends on PPC_ICSWX
309         default n
310         ---help---
311           Should a bad CT used for "non-record form ICSWX" cause an
312           illegal instruction signal or should it be silent as
313           architected.
314 
315           If in doubt, say N here.
316 
317 config SPE
318         bool "SPE Support"
319         depends on E200 || (E500 && !PPC_E500MC)
320         default y
321         ---help---
322           This option enables kernel support for the Signal Processing
323           Extensions (SPE) to the PowerPC processor. The kernel currently
324           supports saving and restoring SPE registers, and turning on the
325           'spe enable' bit so user processes can execute SPE instructions.
326 
327           This option is only useful if you have a processor that supports
328           SPE (e500, otherwise known as 85xx series), but does not have any
329           effect on a non-spe cpu (it does, however add code to the kernel).
330 
331           If in doubt, say Y here.
332 
333 config PPC_STD_MMU
334         def_bool y
335         depends on PPC_BOOK3S
336 
337 config PPC_STD_MMU_32
338         def_bool y
339         depends on PPC_STD_MMU && PPC32
340 
341 config PPC_STD_MMU_64
342         def_bool y
343         depends on PPC_STD_MMU && PPC64
344 
345 config PPC_MMU_NOHASH
346         def_bool y
347         depends on !PPC_STD_MMU
348 
349 config PPC_BOOK3E_MMU
350         def_bool y
351         depends on FSL_BOOKE || PPC_BOOK3E
352 
353 config PPC_MM_SLICES
354         bool
355         default y if (!PPC_FSL_BOOK3E && PPC64 && HUGETLB_PAGE) || (PPC_STD_MMU_64 && PPC_64K_PAGES)
356         default n
357 
358 config PPC_HAVE_PMU_SUPPORT
359        bool
360 
361 config PPC_PERF_CTRS
362        def_bool y
363        depends on PERF_EVENTS && PPC_HAVE_PMU_SUPPORT
364        help
365          This enables the powerpc-specific perf_event back-end.
366 
367 config SMP
368         depends on PPC_BOOK3S || PPC_BOOK3E || FSL_BOOKE || PPC_47x
369         bool "Symmetric multi-processing support"
370         ---help---
371           This enables support for systems with more than one CPU. If you have
372           a system with only one CPU, say N. If you have a system with more
373           than one CPU, say Y.  Note that the kernel does not currently
374           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
375           since they have inadequate hardware support for multiprocessor
376           operation.
377 
378           If you say N here, the kernel will run on single and multiprocessor
379           machines, but will use only one CPU of a multiprocessor machine. If
380           you say Y here, the kernel will run on single-processor machines.
381           On a single-processor machine, the kernel will run faster if you say
382           N here.
383 
384           If you don't know what to do here, say N.
385 
386 config NR_CPUS
387         int "Maximum number of CPUs (2-8192)"
388         range 2 8192
389         depends on SMP
390         default "32" if PPC64
391         default "4"
392 
393 config NOT_COHERENT_CACHE
394         bool
395         depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON
396         default n if PPC_47x
397         default y
398 
399 config CHECK_CACHE_COHERENCY
400         bool
401 
402 config PPC_DOORBELL
403         bool
404         default n
405 
406 endmenu
407 
408 choice
409         prompt "Endianness selection"
410         default CPU_BIG_ENDIAN
411         help
412           This option selects whether a big endian or little endian kernel will
413           be built.
414 
415 config CPU_BIG_ENDIAN
416         bool "Build big endian kernel"
417         help
418           Build a big endian kernel.
419 
420           If unsure, select this option.
421 
422 config CPU_LITTLE_ENDIAN
423         bool "Build little endian kernel"
424         help
425           Build a little endian kernel.
426 
427           Note that if cross compiling a little endian kernel,
428           CROSS_COMPILE must point to a toolchain capable of targeting
429           little endian powerpc.
430 
431 endchoice

This page was automatically generated by LXR 0.3.1 (source).  •  Linux is a registered trademark of Linus Torvalds  •  Contact us