Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/pasemi
[pandora-kernel.git] / 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 85xx
33         select WANT_DEVICE_TREE
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 # this is temp to handle compat with arch=ppc
97 config 83xx
98         bool
99
100 # this is temp to handle compat with arch=ppc
101 config 85xx
102         bool
103
104 config E500
105         bool
106
107 config PPC_FPU
108         bool
109         default y if PPC64
110
111 config 4xx
112         bool
113         depends on 40x || 44x
114         default y
115
116 config BOOKE
117         bool
118         depends on E200 || E500 || 44x
119         default y
120
121 config FSL_BOOKE
122         bool
123         depends on E200 || E500
124         default y
125
126 config PTE_64BIT
127         bool
128         depends on 44x || E500
129         default y if 44x
130         default y if E500 && PHYS_64BIT
131
132 config PHYS_64BIT
133         bool 'Large physical address support' if E500
134         depends on 44x || E500
135         select RESOURCES_64BIT
136         default y if 44x
137         ---help---
138           This option enables kernel support for larger than 32-bit physical
139           addresses.  This features is not be available on all e500 cores.
140
141           If in doubt, say N here.
142
143 config ALTIVEC
144         bool "AltiVec Support"
145         depends on CLASSIC32 || POWER4
146         ---help---
147           This option enables kernel support for the Altivec extensions to the
148           PowerPC processor. The kernel currently supports saving and restoring
149           altivec registers, and turning on the 'altivec enable' bit so user
150           processes can execute altivec instructions.
151
152           This option is only usefully if you have a processor that supports
153           altivec (G4, otherwise known as 74xx series), but does not have
154           any affect on a non-altivec cpu (it does, however add code to the
155           kernel).
156
157           If in doubt, say Y here.
158
159 config SPE
160         bool "SPE Support"
161         depends on E200 || E500
162         default y
163         ---help---
164           This option enables kernel support for the Signal Processing
165           Extensions (SPE) to the PowerPC processor. The kernel currently
166           supports saving and restoring SPE registers, and turning on the
167           'spe enable' bit so user processes can execute SPE instructions.
168
169           This option is only useful if you have a processor that supports
170           SPE (e500, otherwise known as 85xx series), but does not have any
171           effect on a non-spe cpu (it does, however add code to the kernel).
172
173           If in doubt, say Y here.
174
175 config PPC_STD_MMU
176         bool
177         depends on 6xx || POWER3 || POWER4 || PPC64
178         default y
179
180 config PPC_STD_MMU_32
181         def_bool y
182         depends on PPC_STD_MMU && PPC32
183
184 config PPC_MM_SLICES
185         bool
186         default y if HUGETLB_PAGE
187         default n
188
189 config VIRT_CPU_ACCOUNTING
190         bool "Deterministic task and CPU time accounting"
191         depends on PPC64
192         default y
193         help
194           Select this option to enable more accurate task and CPU time
195           accounting.  This is done by reading a CPU counter on each
196           kernel entry and exit and on transitions within the kernel
197           between system, softirq and hardirq state, so there is a
198           small performance impact.  This also enables accounting of
199           stolen time on logically-partitioned systems running on
200           IBM POWER5-based machines.
201
202           If in doubt, say Y here.
203
204 config SMP
205         depends on PPC_STD_MMU
206         bool "Symmetric multi-processing support"
207         ---help---
208           This enables support for systems with more than one CPU. If you have
209           a system with only one CPU, say N. If you have a system with more
210           than one CPU, say Y.  Note that the kernel does not currently
211           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
212           since they have inadequate hardware support for multiprocessor
213           operation.
214
215           If you say N here, the kernel will run on single and multiprocessor
216           machines, but will use only one CPU of a multiprocessor machine. If
217           you say Y here, the kernel will run on single-processor machines.
218           On a single-processor machine, the kernel will run faster if you say
219           N here.
220
221           If you don't know what to do here, say N.
222
223 config NR_CPUS
224         int "Maximum number of CPUs (2-128)"
225         range 2 128
226         depends on SMP
227         default "32" if PPC64
228         default "4"
229
230 config NOT_COHERENT_CACHE
231         bool
232         depends on 4xx || 8xx || E200
233         default y
234
235 config CHECK_CACHE_COHERENCY
236         bool
237
238 endmenu