blob: 4c315be250158fcfc1d1b24804f55ce76f137eb3 [file] [log] [blame]
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +10001config 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
8menu "Processor support"
9choice
10 prompt "Processor Type"
11 depends on PPC32
12 default 6xx
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100013 help
Arnd Bergmannb9fd3052007-06-18 01:06:52 +020014 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.
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100021
Arnd Bergmannb9fd3052007-06-18 01:06:52 +020022 If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx.
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100023
Arnd Bergmannb9fd3052007-06-18 01:06:52 +020024config 6xx
25 bool "52xx/6xx/7xx/74xx/82xx/83xx/86xx"
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100026 select PPC_FPU
27
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100028config PPC_85xx
29 bool "Freescale 85xx"
30 select E500
31 select FSL_SOC
32 select 85xx
33 select WANT_DEVICE_TREE
34
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100035config PPC_8xx
36 bool "Freescale 8xx"
37 select FSL_SOC
38 select 8xx
Scott Wood0b195812007-08-21 03:40:01 +100039 select WANT_DEVICE_TREE
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100040
41config 40x
42 bool "AMCC 40x"
43 select PPC_DCR_NATIVE
Josh Boyer3cc248a2007-08-20 07:27:42 -050044 select WANT_DEVICE_TREE
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100045
46config 44x
47 bool "AMCC 44x"
48 select PPC_DCR_NATIVE
49 select WANT_DEVICE_TREE
50
51config E200
52 bool "Freescale e200"
53
54endchoice
55
56config POWER4_ONLY
57 bool "Optimize for POWER4"
58 depends on PPC64
59 default n
60 ---help---
61 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
62 The resulting binary will not work on POWER3 or RS64 processors
63 when compiled with binutils 2.15 or later.
64
65config POWER3
66 bool
67 depends on PPC64
68 default y if !POWER4_ONLY
69
70config POWER4
71 depends on PPC64
72 def_bool y
73
Arnd Bergmann3164ccc2007-09-15 10:21:57 +100074config TUNE_CELL
75 bool "Optimize for Cell Broadband Engine"
76 depends on PPC64
77 help
78 Cause the compiler to optimize for the PPE of the Cell Broadband
79 Engine. This will make the code run considerably faster on Cell
80 but somewhat slower on other machines. This option only changes
81 the scheduling of instructions, not the selection of instructions
82 itself, so the resulting kernel will keep running on all other
83 machines. When building a kernel that is supposed to run only
84 on Cell, you should also select the POWER4_ONLY option.
85
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100086config 6xx
87 bool
88
89# this is temp to handle compat with arch=ppc
90config 8xx
91 bool
92
93# this is temp to handle compat with arch=ppc
94config 83xx
95 bool
96
97# this is temp to handle compat with arch=ppc
98config 85xx
99 bool
100
101config E500
102 bool
103
104config PPC_FPU
105 bool
106 default y if PPC64
107
108config 4xx
109 bool
110 depends on 40x || 44x
111 default y
112
113config BOOKE
114 bool
115 depends on E200 || E500 || 44x
116 default y
117
118config FSL_BOOKE
119 bool
120 depends on E200 || E500
121 default y
122
123config PTE_64BIT
124 bool
125 depends on 44x || E500
126 default y if 44x
127 default y if E500 && PHYS_64BIT
128
129config 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
140config 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
156config 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
172config PPC_STD_MMU
173 bool
174 depends on 6xx || POWER3 || POWER4 || PPC64
175 default y
176
177config PPC_STD_MMU_32
178 def_bool y
179 depends on PPC_STD_MMU && PPC32
180
181config PPC_MM_SLICES
182 bool
183 default y if HUGETLB_PAGE
184 default n
185
186config 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
201config 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
220config 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
227config NOT_COHERENT_CACHE
228 bool
229 depends on 4xx || 8xx || E200
230 default y
231
Robert P. J. Dayf8eb77d2007-07-18 08:21:29 +1000232config CHECK_CACHE_COHERENCY
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +1000233 bool
234
235endmenu