Version:  2.0.40 2.2.26 2.4.37 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Linux/arch/powerpc/platforms/Kconfig.cputype

  1 config PPC64
  2         bool "64-bit kernel"
  3         default n
  4         select ZLIB_DEFLATE
  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 embedded 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         select SYS_SUPPORTS_HUGETLBFS
 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
 76         select ARCH_SUPPORTS_NUMA_BALANCING
 77         select IRQ_WORK
 78         select HAVE_KERNEL_XZ
 79 
 80 config PPC_BOOK3E_64
 81         bool "Embedded processors"
 82         select PPC_FPU # Make it a choice ?
 83         select PPC_SMP_MUXED_IPI
 84         select PPC_DOORBELL
 85 
 86 endchoice
 87 
 88 choice
 89         prompt "CPU selection"
 90         depends on PPC64
 91         default POWER8_CPU if CPU_LITTLE_ENDIAN
 92         default GENERIC_CPU
 93         help
 94           This will create a kernel which is optimised for a particular CPU.
 95           The resulting kernel may not run on other CPUs, so use this with care.
 96 
 97           If unsure, select Generic.
 98 
 99 config GENERIC_CPU
100         bool "Generic"
101         depends on !CPU_LITTLE_ENDIAN
102 
103 config CELL_CPU
104         bool "Cell Broadband Engine"
105         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
106 
107 config POWER4_CPU
108         bool "POWER4"
109         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
110 
111 config POWER5_CPU
112         bool "POWER5"
113         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
114 
115 config POWER6_CPU
116         bool "POWER6"
117         depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN
118 
119 config POWER7_CPU
120         bool "POWER7"
121         depends on PPC_BOOK3S_64
122         select ARCH_HAS_FAST_MULTIPLIER
123 
124 config POWER8_CPU
125         bool "POWER8"
126         depends on PPC_BOOK3S_64
127         select ARCH_HAS_FAST_MULTIPLIER
128 
129 config E5500_CPU
130         bool "Freescale e5500"
131         depends on E500
132 
133 config E6500_CPU
134         bool "Freescale e6500"
135         depends on E500
136 
137 endchoice
138 
139 config PPC_BOOK3S
140         def_bool y
141         depends on PPC_BOOK3S_32 || PPC_BOOK3S_64
142 
143 config PPC_BOOK3E
144         def_bool y
145         depends on PPC_BOOK3E_64
146 
147 config 6xx
148         def_bool y
149         depends on PPC32 && PPC_BOOK3S
150         select PPC_HAVE_PMU_SUPPORT
151 
152 # this is temp to handle compat with arch=ppc
153 config 8xx
154         bool
155 
156 config E500
157         select FSL_EMB_PERFMON
158         select PPC_FSL_BOOK3E
159         bool
160 
161 config PPC_E500MC
162         bool "e500mc Support"
163         select PPC_FPU
164         select COMMON_CLK
165         depends on E500
166         help
167           This must be enabled for running on e500mc (and derivatives
168           such as e5500/e6500), and must be disabled for running on
169           e500v1 or e500v2.
170 
171 config PPC_FPU
172         bool
173         default y if PPC64
174 
175 config FSL_EMB_PERFMON
176         bool "Freescale Embedded Perfmon"
177         depends on E500 || PPC_83xx
178         help
179           This is the Performance Monitor support found on the e500 core
180           and some e300 cores (c3 and c4).  Select this only if your
181           core supports the Embedded Performance Monitor APU
182 
183 config FSL_EMB_PERF_EVENT
184         bool
185         depends on FSL_EMB_PERFMON && PERF_EVENTS && !PPC_PERF_CTRS
186         default y
187 
188 config FSL_EMB_PERF_EVENT_E500
189         bool
190         depends on FSL_EMB_PERF_EVENT && E500
191         default y
192 
193 config 4xx
194         bool
195         depends on 40x || 44x
196         default y
197 
198 config BOOKE
199         bool
200         depends on E200 || E500 || 44x || PPC_BOOK3E
201         default y
202 
203 config FSL_BOOKE
204         bool
205         depends on (E200 || E500) && PPC32
206         default y
207 
208 # this is for common code between PPC32 & PPC64 FSL BOOKE
209 config PPC_FSL_BOOK3E
210         bool
211         select FSL_EMB_PERFMON
212         select PPC_SMP_MUXED_IPI
213         select SYS_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64
214         select PPC_DOORBELL
215         default y if FSL_BOOKE
216 
217 config PTE_64BIT
218         bool
219         depends on 44x || E500 || PPC_86xx
220         default y if PHYS_64BIT
221 
222 config PHYS_64BIT
223         bool 'Large physical address support' if E500 || PPC_86xx
224         depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx
225         ---help---
226           This option enables kernel support for larger than 32-bit physical
227           addresses.  This feature may not be available on all cores.
228 
229           If you have more than 3.5GB of RAM or so, you also need to enable
230           SWIOTLB under Kernel Options for this to work.  The actual number
231           is platform-dependent.
232 
233           If in doubt, say N here.
234 
235 config ALTIVEC
236         bool "AltiVec Support"
237         depends on 6xx || PPC_BOOK3S_64 || (PPC_E500MC && PPC64)
238         ---help---
239           This option enables kernel support for the Altivec extensions to the
240           PowerPC processor. The kernel currently supports saving and restoring
241           altivec registers, and turning on the 'altivec enable' bit so user
242           processes can execute altivec instructions.
243 
244           This option is only usefully if you have a processor that supports
245           altivec (G4, otherwise known as 74xx series), but does not have
246           any affect on a non-altivec cpu (it does, however add code to the
247           kernel).
248 
249           If in doubt, say Y here.
250 
251 config VSX
252         bool "VSX Support"
253         depends on PPC_BOOK3S_64 && ALTIVEC && PPC_FPU
254         ---help---
255 
256           This option enables kernel support for the Vector Scaler extensions
257           to the PowerPC processor. The kernel currently supports saving and
258           restoring VSX registers, and turning on the 'VSX enable' bit so user
259           processes can execute VSX instructions.
260 
261           This option is only useful if you have a processor that supports
262           VSX (P7 and above), but does not have any affect on a non-VSX
263           CPUs (it does, however add code to the kernel).
264 
265           If in doubt, say Y here.
266 
267 config PPC_ICSWX
268         bool "Support for PowerPC icswx coprocessor instruction"
269         depends on PPC_BOOK3S_64
270         default n
271         ---help---
272 
273           This option enables kernel support for the PowerPC Initiate
274           Coprocessor Store Word (icswx) coprocessor instruction on POWER7
275           or newer processors.
276 
277           This option is only useful if you have a processor that supports
278           the icswx coprocessor instruction. It does not have any effect
279           on processors without the icswx coprocessor instruction.
280 
281           This option slightly increases kernel memory usage.
282 
283           If in doubt, say N here.
284 
285 config PPC_ICSWX_PID
286         bool "icswx requires direct PID management"
287         depends on PPC_ICSWX
288         default y
289         ---help---
290           The PID register in server is used explicitly for ICSWX.  In
291           embedded systems PID management is done by the system.
292 
293 config PPC_ICSWX_USE_SIGILL
294         bool "Should a bad CT cause a SIGILL?"
295         depends on PPC_ICSWX
296         default n
297         ---help---
298           Should a bad CT used for "non-record form ICSWX" cause an
299           illegal instruction signal or should it be silent as
300           architected.
301 
302           If in doubt, say N here.
303 
304 config SPE_POSSIBLE
305         def_bool y
306         depends on E200 || (E500 && !PPC_E500MC)
307 
308 config SPE
309         bool "SPE Support"
310         depends on SPE_POSSIBLE
311         default y
312         ---help---
313           This option enables kernel support for the Signal Processing
314           Extensions (SPE) to the PowerPC processor. The kernel currently
315           supports saving and restoring SPE registers, and turning on the
316           'spe enable' bit so user processes can execute SPE instructions.
317 
318           This option is only useful if you have a processor that supports
319           SPE (e500, otherwise known as 85xx series), but does not have any
320           effect on a non-spe cpu (it does, however add code to the kernel).
321 
322           If in doubt, say Y here.
323 
324 config PPC_STD_MMU
325         def_bool y
326         depends on PPC_BOOK3S
327 
328 config PPC_STD_MMU_32
329         def_bool y
330         depends on PPC_STD_MMU && PPC32
331 
332 config PPC_STD_MMU_64
333         def_bool y
334         depends on PPC_STD_MMU && PPC64
335 
336 config PPC_RADIX_MMU
337         bool "Radix MMU Support"
338         depends on PPC_BOOK3S_64
339         default y
340         help
341           Enable support for the Power ISA 3.0 Radix style MMU. Currently this
342           is only implemented by IBM Power9 CPUs, if you don't have one of them
343           you can probably disable this.
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 config VDSO32
409         def_bool y
410         depends on PPC32 || CPU_BIG_ENDIAN
411         help
412           This symbol controls whether we build the 32-bit VDSO. We obviously
413           want to do that if we're building a 32-bit kernel. If we're building
414           a 64-bit kernel then we only want a 32-bit VDSO if we're building for
415           big endian. That is because the only little endian configuration we
416           support is ppc64le which is 64-bit only.
417 
418 choice
419         prompt "Endianness selection"
420         default CPU_BIG_ENDIAN
421         help
422           This option selects whether a big endian or little endian kernel will
423           be built.
424 
425 config CPU_BIG_ENDIAN
426         bool "Build big endian kernel"
427         help
428           Build a big endian kernel.
429 
430           If unsure, select this option.
431 
432 config CPU_LITTLE_ENDIAN
433         bool "Build little endian kernel"
434         depends on PPC_BOOK3S_64
435         select PPC64_BOOT_WRAPPER
436         help
437           Build a little endian kernel.
438 
439           Note that if cross compiling a little endian kernel,
440           CROSS_COMPILE must point to a toolchain capable of targeting
441           little endian powerpc.
442 
443 endchoice
444 
445 config PPC64_BOOT_WRAPPER
446         def_bool n
447         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