perf_counter: powerpc: Add processor back-end for MPC7450 family
[linux-2.6/btrfs-unstable.git] / arch / powerpc / platforms / Kconfig.cputype
blob8485c8ca7a06ac64c225e357935002235fa7b875
1 config PPC64
2         bool "64-bit kernel"
3         default n
4         select PPC_HAVE_PMU_SUPPORT
5         help
6           This option selects whether a 32-bit or a 64-bit kernel
7           will be built.
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.
22           If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
24 config PPC_BOOK3S
25         bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
26         select PPC_FPU
28 config PPC_85xx
29         bool "Freescale 85xx"
30         select E500
31         select FSL_SOC
32         select MPC85xx
34 config PPC_8xx
35         bool "Freescale 8xx"
36         select FSL_SOC
37         select 8xx
38         select PPC_LIB_RHEAP
40 config 40x
41         bool "AMCC 40x"
42         select PPC_DCR_NATIVE
43         select PPC_UDBG_16550
44         select 4xx_SOC
45         select PPC_PCI_CHOICE
47 config 44x
48         bool "AMCC 44x"
49         select PPC_DCR_NATIVE
50         select PPC_UDBG_16550
51         select 4xx_SOC
52         select PPC_PCI_CHOICE
53         select PHYS_64BIT
55 config E200
56         bool "Freescale e200"
58 endchoice
60 config PPC_BOOK3S
61         default y
62         depends on PPC64
63         select PPC_FPU
66 config POWER4_ONLY
67         bool "Optimize for POWER4"
68         depends on PPC64 && PPC_BOOK3S
69         default n
70         ---help---
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.
75 config 6xx
76         def_bool y
77         depends on PPC32 && PPC_BOOK3S
78         select PPC_HAVE_PMU_SUPPORT
80 config POWER3
81         bool
82         depends on PPC64 && PPC_BOOK3S
83         default y if !POWER4_ONLY
85 config POWER4
86         depends on PPC64 && PPC_BOOK3S
87         def_bool y
89 config TUNE_CELL
90         bool "Optimize for Cell Broadband Engine"
91         depends on PPC64 && PPC_BOOK3S
92         help
93           Cause the compiler to optimize for the PPE of the Cell Broadband
94           Engine. This will make the code run considerably faster on Cell
95           but somewhat slower on other machines. This option only changes
96           the scheduling of instructions, not the selection of instructions
97           itself, so the resulting kernel will keep running on all other
98           machines. When building a kernel that is supposed to run only
99           on Cell, you should also select the POWER4_ONLY option.
101 # this is temp to handle compat with arch=ppc
102 config 8xx
103         bool
105 config E500
106         select FSL_EMB_PERFMON
107         bool
109 config PPC_E500MC
110         bool "e500mc Support"
111         select PPC_FPU
112         depends on E500
114 config PPC_FPU
115         bool
116         default y if PPC64
118 config 4xx
119         bool
120         depends on 40x || 44x
121         default y
123 config BOOKE
124         bool
125         depends on E200 || E500 || 44x
126         default y
128 config FSL_BOOKE
129         bool
130         depends on E200 || E500
131         default y
133 config FSL_EMB_PERFMON
134         bool "Freescale Embedded Perfmon"
135         depends on E500 || PPC_83xx
136         help
137           This is the Performance Monitor support found on the e500 core
138           and some e300 cores (c3 and c4).  Select this only if your
139           core supports the Embedded Performance Monitor APU
141 config PTE_64BIT
142         bool
143         depends on 44x || E500 || PPC_86xx
144         default y if PHYS_64BIT
146 config PHYS_64BIT
147         bool 'Large physical address support' if E500 || PPC_86xx
148         depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx
149         ---help---
150           This option enables kernel support for larger than 32-bit physical
151           addresses.  This feature may not be available on all cores.
153           If you have more than 3.5GB of RAM or so, you also need to enable
154           SWIOTLB under Kernel Options for this to work.  The actual number
155           is platform-dependent.
157           If in doubt, say N here.
159 config ALTIVEC
160         bool "AltiVec Support"
161         depends on 6xx || POWER4
162         ---help---
163           This option enables kernel support for the Altivec extensions to the
164           PowerPC processor. The kernel currently supports saving and restoring
165           altivec registers, and turning on the 'altivec enable' bit so user
166           processes can execute altivec instructions.
168           This option is only usefully if you have a processor that supports
169           altivec (G4, otherwise known as 74xx series), but does not have
170           any affect on a non-altivec cpu (it does, however add code to the
171           kernel).
173           If in doubt, say Y here.
175 config VSX
176         bool "VSX Support"
177         depends on POWER4 && ALTIVEC && PPC_FPU
178         ---help---
180           This option enables kernel support for the Vector Scaler extensions
181           to the PowerPC processor. The kernel currently supports saving and
182           restoring VSX registers, and turning on the 'VSX enable' bit so user
183           processes can execute VSX instructions.
185           This option is only useful if you have a processor that supports
186           VSX (P7 and above), but does not have any affect on a non-VSX
187           CPUs (it does, however add code to the kernel).
189           If in doubt, say Y here.
191 config SPE
192         bool "SPE Support"
193         depends on E200 || (E500 && !PPC_E500MC)
194         default y
195         ---help---
196           This option enables kernel support for the Signal Processing
197           Extensions (SPE) to the PowerPC processor. The kernel currently
198           supports saving and restoring SPE registers, and turning on the
199           'spe enable' bit so user processes can execute SPE instructions.
201           This option is only useful if you have a processor that supports
202           SPE (e500, otherwise known as 85xx series), but does not have any
203           effect on a non-spe cpu (it does, however add code to the kernel).
205           If in doubt, say Y here.
207 config PPC_STD_MMU
208         def_bool y
209         depends on PPC_BOOK3S
211 config PPC_STD_MMU_32
212         def_bool y
213         depends on PPC_STD_MMU && PPC32
215 config PPC_STD_MMU_64
216         def_bool y
217         depends on PPC_STD_MMU && PPC64
219 config PPC_MMU_NOHASH
220         def_bool y
221         depends on !PPC_STD_MMU
223 config PPC_BOOK3E_MMU
224         def_bool y
225         depends on FSL_BOOKE
227 config PPC_MM_SLICES
228         bool
229         default y if HUGETLB_PAGE || (PPC_STD_MMU_64 && PPC_64K_PAGES)
230         default n
232 config VIRT_CPU_ACCOUNTING
233         bool "Deterministic task and CPU time accounting"
234         depends on PPC64
235         default y
236         help
237           Select this option to enable more accurate task and CPU time
238           accounting.  This is done by reading a CPU counter on each
239           kernel entry and exit and on transitions within the kernel
240           between system, softirq and hardirq state, so there is a
241           small performance impact.  This also enables accounting of
242           stolen time on logically-partitioned systems running on
243           IBM POWER5-based machines.
245           If in doubt, say Y here.
247 config PPC_HAVE_PMU_SUPPORT
248        bool
250 config PPC_PERF_CTRS
251        def_bool y
252        depends on PERF_COUNTERS && PPC_HAVE_PMU_SUPPORT
253        help
254          This enables the powerpc-specific perf_counter back-end.
256 config SMP
257         depends on PPC_STD_MMU || FSL_BOOKE
258         bool "Symmetric multi-processing support"
259         ---help---
260           This enables support for systems with more than one CPU. If you have
261           a system with only one CPU, say N. If you have a system with more
262           than one CPU, say Y.  Note that the kernel does not currently
263           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
264           since they have inadequate hardware support for multiprocessor
265           operation.
267           If you say N here, the kernel will run on single and multiprocessor
268           machines, but will use only one CPU of a multiprocessor machine. If
269           you say Y here, the kernel will run on single-processor machines.
270           On a single-processor machine, the kernel will run faster if you say
271           N here.
273           If you don't know what to do here, say N.
275 config NR_CPUS
276         int "Maximum number of CPUs (2-8192)"
277         range 2 8192
278         depends on SMP
279         default "32" if PPC64
280         default "4"
282 config NOT_COHERENT_CACHE
283         bool
284         depends on 4xx || 8xx || E200 || PPC_MPC512x
285         default y
287 config CHECK_CACHE_COHERENCY
288         bool
290 endmenu