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