[POWERPC] Made FSL Book-E PMC support more generic
[linux-2.6] / arch / powerpc / platforms / Kconfig.cputype
1 config PPC64
2         bool "64-bit kernel"
3         default n
4         help
5           This option selects whether a 32-bit or a 64-bit kernel
6           will be built.
7
8 menu "Processor support"
9 choice
10         prompt "Processor Type"
11         depends on PPC32
12         default 6xx
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 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 6xx
25         bool "52xx/6xx/7xx/74xx/82xx/83xx/86xx"
26         select PPC_FPU
27
28 config PPC_85xx
29         bool "Freescale 85xx"
30         select E500
31         select FSL_SOC
32         select WANT_DEVICE_TREE
33         select MPC85xx
34
35 config PPC_8xx
36         bool "Freescale 8xx"
37         select FSL_SOC
38         select 8xx
39         select WANT_DEVICE_TREE
40         select PPC_LIB_RHEAP
41
42 config 40x
43         bool "AMCC 40x"
44         select PPC_DCR_NATIVE
45         select WANT_DEVICE_TREE
46         select PPC_UDBG_16550
47
48 config 44x
49         bool "AMCC 44x"
50         select PPC_DCR_NATIVE
51         select WANT_DEVICE_TREE
52         select PPC_UDBG_16550
53
54 config E200
55         bool "Freescale e200"
56
57 endchoice
58
59 config POWER4_ONLY
60         bool "Optimize for POWER4"
61         depends on PPC64
62         default n
63         ---help---
64           Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
65           The resulting binary will not work on POWER3 or RS64 processors
66           when compiled with binutils 2.15 or later.
67
68 config POWER3
69         bool
70         depends on PPC64
71         default y if !POWER4_ONLY
72
73 config POWER4
74         depends on PPC64
75         def_bool y
76
77 config TUNE_CELL
78         bool "Optimize for Cell Broadband Engine"
79         depends on PPC64
80         help
81           Cause the compiler to optimize for the PPE of the Cell Broadband
82           Engine. This will make the code run considerably faster on Cell
83           but somewhat slower on other machines. This option only changes
84           the scheduling of instructions, not the selection of instructions
85           itself, so the resulting kernel will keep running on all other
86           machines. When building a kernel that is supposed to run only
87           on Cell, you should also select the POWER4_ONLY option.
88
89 config 6xx
90         bool
91
92 # this is temp to handle compat with arch=ppc
93 config 8xx
94         bool
95
96 config E500
97         select FSL_EMB_PERFMON
98         bool
99
100 config PPC_FPU
101         bool
102         default y if PPC64
103
104 config 4xx
105         bool
106         depends on 40x || 44x
107         default y
108
109 config BOOKE
110         bool
111         depends on E200 || E500 || 44x
112         default y
113
114 config FSL_BOOKE
115         bool
116         depends on E200 || E500
117         default y
118
119 config FSL_EMB_PERFMON
120         bool
121
122 config PTE_64BIT
123         bool
124         depends on 44x || E500
125         default y if 44x
126         default y if E500 && PHYS_64BIT
127
128 config PHYS_64BIT
129         bool 'Large physical address support' if E500
130         depends on 44x || E500
131         select RESOURCES_64BIT
132         default y if 44x
133         ---help---
134           This option enables kernel support for larger than 32-bit physical
135           addresses.  This features is not be available on all e500 cores.
136
137           If in doubt, say N here.
138
139 config ALTIVEC
140         bool "AltiVec Support"
141         depends on CLASSIC32 || POWER4
142         ---help---
143           This option enables kernel support for the Altivec extensions to the
144           PowerPC processor. The kernel currently supports saving and restoring
145           altivec registers, and turning on the 'altivec enable' bit so user
146           processes can execute altivec instructions.
147
148           This option is only usefully if you have a processor that supports
149           altivec (G4, otherwise known as 74xx series), but does not have
150           any affect on a non-altivec cpu (it does, however add code to the
151           kernel).
152
153           If in doubt, say Y here.
154
155 config SPE
156         bool "SPE Support"
157         depends on E200 || E500
158         default y
159         ---help---
160           This option enables kernel support for the Signal Processing
161           Extensions (SPE) to the PowerPC processor. The kernel currently
162           supports saving and restoring SPE registers, and turning on the
163           'spe enable' bit so user processes can execute SPE instructions.
164
165           This option is only useful if you have a processor that supports
166           SPE (e500, otherwise known as 85xx series), but does not have any
167           effect on a non-spe cpu (it does, however add code to the kernel).
168
169           If in doubt, say Y here.
170
171 config PPC_STD_MMU
172         bool
173         depends on 6xx || POWER3 || POWER4 || PPC64
174         default y
175
176 config PPC_STD_MMU_32
177         def_bool y
178         depends on PPC_STD_MMU && PPC32
179
180 config PPC_MM_SLICES
181         bool
182         default y if HUGETLB_PAGE
183         default n
184
185 config VIRT_CPU_ACCOUNTING
186         bool "Deterministic task and CPU time accounting"
187         depends on PPC64
188         default y
189         help
190           Select this option to enable more accurate task and CPU time
191           accounting.  This is done by reading a CPU counter on each
192           kernel entry and exit and on transitions within the kernel
193           between system, softirq and hardirq state, so there is a
194           small performance impact.  This also enables accounting of
195           stolen time on logically-partitioned systems running on
196           IBM POWER5-based machines.
197
198           If in doubt, say Y here.
199
200 config SMP
201         depends on PPC_STD_MMU
202         bool "Symmetric multi-processing support"
203         ---help---
204           This enables support for systems with more than one CPU. If you have
205           a system with only one CPU, say N. If you have a system with more
206           than one CPU, say Y.  Note that the kernel does not currently
207           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
208           since they have inadequate hardware support for multiprocessor
209           operation.
210
211           If you say N here, the kernel will run on single and multiprocessor
212           machines, but will use only one CPU of a multiprocessor machine. If
213           you say Y here, the kernel will run on single-processor machines.
214           On a single-processor machine, the kernel will run faster if you say
215           N here.
216
217           If you don't know what to do here, say N.
218
219 config NR_CPUS
220         int "Maximum number of CPUs (2-128)"
221         range 2 128
222         depends on SMP
223         default "32" if PPC64
224         default "4"
225
226 config NOT_COHERENT_CACHE
227         bool
228         depends on 4xx || 8xx || E200
229         default y
230
231 config CHECK_CACHE_COHERENCY
232         bool
233
234 endmenu