Version:  2.0.40 2.2.26 2.4.37 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1

Linux/arch/powerpc/platforms/Kconfig.cputype

  1 config PPC64
  2         bool "64-bit kernel"
  3         default n
  4         select HAVE_VIRT_CPU_ACCOUNTING
  5         select ZLIB_DEFLATE
  6         help
  7           This option selects whether a 32-bit or a 64-bit kernel
  8           will be built.
  9 
 10 menu "Processor support"
 11 choice
 12         prompt "Processor Type"
 13         depends on PPC32
 14         help
 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 embedded parts, namely 4xx, 8xx, e200 (55xx) and e500
 20           (85xx) each form a family of their own that is not compatible
 21           with the others.
 22 
 23           If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
 24 
 25 config PPC_BOOK3S_32
 26         bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
 27         select PPC_FPU
 28 
 29 config PPC_85xx
 30         bool "Freescale 85xx"
 31         select E500
 32 
 33 config PPC_8xx
 34         bool "Freescale 8xx"
 35         select FSL_SOC
 36         select 8xx
 37         select PPC_LIB_RHEAP
 38 
 39 config 40x
 40         bool "AMCC 40x"
 41         select PPC_DCR_NATIVE
 42         select PPC_UDBG_16550
 43         select 4xx_SOC
 44         select PPC_PCI_CHOICE
 45 
 46 config 44x
 47         bool "AMCC 44x, 46x or 47x"
 48         select PPC_DCR_NATIVE
 49         select PPC_UDBG_16550
 50         select 4xx_SOC
 51         select PPC_PCI_CHOICE
 52         select PHYS_64BIT
 53 
 54 config E200
 55         bool "Freescale e200"
 56 
 57 endchoice
 58 
 59 choice
 60         prompt "Processor Type"
 61         depends on PPC64
 62         help
 63           There are two families of 64 bit PowerPC chips supported.
 64           The most common ones are the desktop and server CPUs
 65           (POWER4, POWER5, 970, POWER5+, POWER6, POWER7, POWER8 ...)
 66 
 67           The other are the "embedded" processors compliant with the
 68           "Book 3E" variant of the architecture
 69 
 70 config PPC_BOOK3S_64
 71         bool "Server processors"
 72         select PPC_FPU
 73         select PPC_HAVE_PMU_SUPPORT
 74         select SYS_SUPPORTS_HUGETLBFS
 75         select HAVE_ARCH_TRANSPARENT_HUGEPAGE if PPC_64K_PAGES
 76         select ARCH_SUPPORTS_NUMA_BALANCING
 77         select IRQ_WORK
 78 
 79 config PPC_BOOK3E_64
 80         bool "Embedded processors"
 81         select PPC_FPU # Make it a choice ?
 82         select PPC_SMP_MUXED_IPI
 83         select PPC_DOORBELL
 84 
 85 endchoice
 86 
 87 choice
 88         prompt "CPU selection"
 89         depends on PPC64
 90         default GENERIC_CPU
 91         help
 92           This will create a kernel which is optimised for a particular CPU.
 93           The resulting kernel may not run on other CPUs, so use this with care.
 94 
 95           If unsure, select Generic.
 96 
 97 config GENERIC_CPU
 98         bool "Generic"
 99         depends on !CPU_LITTLE_ENDIAN
100 
101 config CELL_CPU
102         bool "Cell Broadband Engine"
103         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
104 
105 config POWER4_CPU
106         bool "POWER4"
107         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
108 
109 config POWER5_CPU
110         bool "POWER5"
111         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
112 
113 config POWER6_CPU
114         bool "POWER6"
115         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
116 
117 config POWER7_CPU
118         bool "POWER7"
119         depends on PPC_BOOK3S_64
120         select ARCH_HAS_FAST_MULTIPLIER
121 
122 config POWER8_CPU
123         bool "POWER8"
124         depends on PPC_BOOK3S_64
125         select ARCH_HAS_FAST_MULTIPLIER
126 
127 config E5500_CPU
128         bool "Freescale e5500"
129         depends on E500
130 
131 config E6500_CPU
132         bool "Freescale e6500"
133         depends on E500
134 
135 endchoice
136 
137 config PPC_BOOK3S
138         def_bool y
139         depends on PPC_BOOK3S_32 || PPC_BOOK3S_64
140 
141 config PPC_BOOK3E
142         def_bool y
143         depends on PPC_BOOK3E_64
144 
145 config 6xx
146         def_bool y
147         depends on PPC32 && PPC_BOOK3S
148         select PPC_HAVE_PMU_SUPPORT
149 
150 config TUNE_CELL
151         bool "Optimize for Cell Broadband Engine"
152         depends on PPC64 && PPC_BOOK3S
153         help
154           Cause the compiler to optimize for the PPE of the Cell Broadband
155           Engine. This will make the code run considerably faster on Cell
156           but somewhat slower on other machines. This option only changes
157           the scheduling of instructions, not the selection of instructions
158           itself, so the resulting kernel will keep running on all other
159           machines.
160 
161 # this is temp to handle compat with arch=ppc
162 config 8xx
163         bool
164 
165 config E500
166         select FSL_EMB_PERFMON
167         select PPC_FSL_BOOK3E
168         bool
169 
170 config PPC_E500MC
171         bool "e500mc Support"
172         select PPC_FPU
173         select COMMON_CLK
174         depends on E500
175         help
176           This must be enabled for running on e500mc (and derivatives
177           such as e5500/e6500), and must be disabled for running on
178           e500v1 or e500v2.
179 
180 config PPC_FPU
181         bool
182         default y if PPC64
183 
184 config FSL_EMB_PERFMON
185         bool "Freescale Embedded Perfmon"
186         depends on E500 || PPC_83xx
187         help
188           This is the Performance Monitor support found on the e500 core
189           and some e300 cores (c3 and c4).  Select this only if your
190           core supports the Embedded Performance Monitor APU
191 
192 config FSL_EMB_PERF_EVENT
193         bool
194         depends on FSL_EMB_PERFMON && PERF_EVENTS && !PPC_PERF_CTRS
195         default y
196 
197 config FSL_EMB_PERF_EVENT_E500
198         bool
199         depends on FSL_EMB_PERF_EVENT && E500
200         default y
201 
202 config 4xx
203         bool
204         depends on 40x || 44x
205         default y
206 
207 config BOOKE
208         bool
209         depends on E200 || E500 || 44x || PPC_BOOK3E
210         default y
211 
212 config FSL_BOOKE
213         bool
214         depends on (E200 || E500) && PPC32
215         default y
216 
217 # this is for common code between PPC32 & PPC64 FSL BOOKE
218 config PPC_FSL_BOOK3E
219         bool
220         select FSL_EMB_PERFMON
221         select PPC_SMP_MUXED_IPI
222         select SYS_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64
223         select PPC_DOORBELL
224         default y if FSL_BOOKE
225 
226 config PTE_64BIT
227         bool
228         depends on 44x || E500 || PPC_86xx
229         default y if PHYS_64BIT
230 
231 config PHYS_64BIT
232         bool 'Large physical address support' if E500 || PPC_86xx
233         depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx
234         ---help---
235           This option enables kernel support for larger than 32-bit physical
236           addresses.  This feature may not be available on all cores.
237 
238           If you have more than 3.5GB of RAM or so, you also need to enable
239           SWIOTLB under Kernel Options for this to work.  The actual number
240           is platform-dependent.
241 
242           If in doubt, say N here.
243 
244 config ALTIVEC
245         bool "AltiVec Support"
246         depends on 6xx || PPC_BOOK3S_64 || (PPC_E500MC && PPC64)
247         ---help---
248           This option enables kernel support for the Altivec extensions to the
249           PowerPC processor. The kernel currently supports saving and restoring
250           altivec registers, and turning on the 'altivec enable' bit so user
251           processes can execute altivec instructions.
252 
253           This option is only usefully if you have a processor that supports
254           altivec (G4, otherwise known as 74xx series), but does not have
255           any affect on a non-altivec cpu (it does, however add code to the
256           kernel).
257 
258           If in doubt, say Y here.
259 
260 config VSX
261         bool "VSX Support"
262         depends on PPC_BOOK3S_64 && ALTIVEC && PPC_FPU
263         ---help---
264 
265           This option enables kernel support for the Vector Scaler extensions
266           to the PowerPC processor. The kernel currently supports saving and
267           restoring VSX registers, and turning on the 'VSX enable' bit so user
268           processes can execute VSX instructions.
269 
270           This option is only useful if you have a processor that supports
271           VSX (P7 and above), but does not have any affect on a non-VSX
272           CPUs (it does, however add code to the kernel).
273 
274           If in doubt, say Y here.
275 
276 config PPC_ICSWX
277         bool "Support for PowerPC icswx coprocessor instruction"
278         depends on PPC_BOOK3S_64
279         default n
280         ---help---
281 
282           This option enables kernel support for the PowerPC Initiate
283           Coprocessor Store Word (icswx) coprocessor instruction on POWER7
284           or newer processors.
285 
286           This option is only useful if you have a processor that supports
287           the icswx coprocessor instruction. It does not have any effect
288           on processors without the icswx coprocessor instruction.
289 
290           This option slightly increases kernel memory usage.
291 
292           If in doubt, say N here.
293 
294 config PPC_ICSWX_PID
295         bool "icswx requires direct PID management"
296         depends on PPC_ICSWX
297         default y
298         ---help---
299           The PID register in server is used explicitly for ICSWX.  In
300           embedded systems PID management is done by the system.
301 
302 config PPC_ICSWX_USE_SIGILL
303         bool "Should a bad CT cause a SIGILL?"
304         depends on PPC_ICSWX
305         default n
306         ---help---
307           Should a bad CT used for "non-record form ICSWX" cause an
308           illegal instruction signal or should it be silent as
309           architected.
310 
311           If in doubt, say N here.
312 
313 config SPE_POSSIBLE
314         def_bool y
315         depends on E200 || (E500 && !PPC_E500MC)
316 
317 config SPE
318         bool "SPE Support"
319         depends on SPE_POSSIBLE
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         select PPC64_BOOT_WRAPPER
425         help
426           Build a little endian kernel.
427 
428           Note that if cross compiling a little endian kernel,
429           CROSS_COMPILE must point to a toolchain capable of targeting
430           little endian powerpc.
431 
432 endchoice
433 
434 config PPC64_BOOT_WRAPPER
435         def_bool n
436         depends on CPU_LITTLE_ENDIAN

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