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