blob: f7efaa925a1350f8c9e157b1c8a31d45ea34047a [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
John Rigbye177edc2008-01-29 04:28:53 +110017 embedded 512x/52xx/82xx/83xx/86xx counterparts.
Arnd Bergmannb9fd3052007-06-18 01:06:52 +020018 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
John Rigbye177edc2008-01-29 04:28:53 +110025 bool "512x/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
Kumar Gala3a831562008-01-28 10:24:30 -060032 select MPC85xx
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100033
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100034config PPC_8xx
35 bool "Freescale 8xx"
36 select FSL_SOC
37 select 8xx
Sylvain Munaut1088a202007-09-16 20:53:25 +100038 select PPC_LIB_RHEAP
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100039
40config 40x
41 bool "AMCC 40x"
42 select PPC_DCR_NATIVE
Benjamin Herrenschmidt9dae8af2007-12-21 15:39:26 +110043 select PPC_UDBG_16550
Stefan Roese93173ce2008-03-28 01:43:31 +110044 select 4xx_SOC
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100045
46config 44x
47 bool "AMCC 44x"
48 select PPC_DCR_NATIVE
Valentine Barshak1d5499b2007-10-18 22:55:13 +100049 select PPC_UDBG_16550
Stefan Roese93173ce2008-03-28 01:43:31 +110050 select 4xx_SOC
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100051
52config E200
53 bool "Freescale e200"
54
55endchoice
56
57config POWER4_ONLY
58 bool "Optimize for POWER4"
59 depends on PPC64
60 default n
61 ---help---
62 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
63 The resulting binary will not work on POWER3 or RS64 processors
64 when compiled with binutils 2.15 or later.
65
66config POWER3
67 bool
68 depends on PPC64
69 default y if !POWER4_ONLY
70
71config POWER4
72 depends on PPC64
73 def_bool y
74
Arnd Bergmann3164ccc2007-09-15 10:21:57 +100075config TUNE_CELL
76 bool "Optimize for Cell Broadband Engine"
77 depends on PPC64
78 help
79 Cause the compiler to optimize for the PPE of the Cell Broadband
80 Engine. This will make the code run considerably faster on Cell
81 but somewhat slower on other machines. This option only changes
82 the scheduling of instructions, not the selection of instructions
83 itself, so the resulting kernel will keep running on all other
84 machines. When building a kernel that is supposed to run only
85 on Cell, you should also select the POWER4_ONLY option.
86
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100087config 6xx
88 bool
89
90# this is temp to handle compat with arch=ppc
91config 8xx
92 bool
93
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100094config E500
Andy Fleming39aef682008-02-04 18:27:55 -060095 select FSL_EMB_PERFMON
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +100096 bool
97
98config PPC_FPU
99 bool
100 default y if PPC64
101
102config 4xx
103 bool
104 depends on 40x || 44x
105 default y
106
107config BOOKE
108 bool
109 depends on E200 || E500 || 44x
110 default y
111
112config FSL_BOOKE
113 bool
114 depends on E200 || E500
115 default y
116
Andy Fleming39aef682008-02-04 18:27:55 -0600117config FSL_EMB_PERFMON
Andy Flemingad562c72008-03-07 17:59:03 -0600118 bool "Freescale Embedded Perfmon"
119 depends on E500 || PPC_83xx
120 help
121 This is the Performance Monitor support found on the e500 core
122 and some e300 cores (c3 and c4). Select this only if your
123 core supports the Embedded Performance Monitor APU
Andy Fleming39aef682008-02-04 18:27:55 -0600124
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +1000125config PTE_64BIT
126 bool
127 depends on 44x || E500
128 default y if 44x
129 default y if E500 && PHYS_64BIT
130
131config PHYS_64BIT
132 bool 'Large physical address support' if E500
133 depends on 44x || E500
134 select RESOURCES_64BIT
135 default y if 44x
136 ---help---
137 This option enables kernel support for larger than 32-bit physical
138 addresses. This features is not be available on all e500 cores.
139
140 If in doubt, say N here.
141
142config ALTIVEC
143 bool "AltiVec Support"
144 depends on CLASSIC32 || POWER4
145 ---help---
146 This option enables kernel support for the Altivec extensions to the
147 PowerPC processor. The kernel currently supports saving and restoring
148 altivec registers, and turning on the 'altivec enable' bit so user
149 processes can execute altivec instructions.
150
151 This option is only usefully if you have a processor that supports
152 altivec (G4, otherwise known as 74xx series), but does not have
153 any affect on a non-altivec cpu (it does, however add code to the
154 kernel).
155
156 If in doubt, say Y here.
157
158config SPE
159 bool "SPE Support"
160 depends on E200 || E500
161 default y
162 ---help---
163 This option enables kernel support for the Signal Processing
164 Extensions (SPE) to the PowerPC processor. The kernel currently
165 supports saving and restoring SPE registers, and turning on the
166 'spe enable' bit so user processes can execute SPE instructions.
167
168 This option is only useful if you have a processor that supports
169 SPE (e500, otherwise known as 85xx series), but does not have any
170 effect on a non-spe cpu (it does, however add code to the kernel).
171
172 If in doubt, say Y here.
173
174config PPC_STD_MMU
175 bool
176 depends on 6xx || POWER3 || POWER4 || PPC64
177 default y
178
179config PPC_STD_MMU_32
180 def_bool y
181 depends on PPC_STD_MMU && PPC32
182
183config PPC_MM_SLICES
184 bool
185 default y if HUGETLB_PAGE
186 default n
187
188config VIRT_CPU_ACCOUNTING
189 bool "Deterministic task and CPU time accounting"
190 depends on PPC64
191 default y
192 help
193 Select this option to enable more accurate task and CPU time
194 accounting. This is done by reading a CPU counter on each
195 kernel entry and exit and on transitions within the kernel
196 between system, softirq and hardirq state, so there is a
197 small performance impact. This also enables accounting of
198 stolen time on logically-partitioned systems running on
199 IBM POWER5-based machines.
200
201 If in doubt, say Y here.
202
203config SMP
204 depends on PPC_STD_MMU
205 bool "Symmetric multi-processing support"
206 ---help---
207 This enables support for systems with more than one CPU. If you have
208 a system with only one CPU, say N. If you have a system with more
209 than one CPU, say Y. Note that the kernel does not currently
210 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
211 since they have inadequate hardware support for multiprocessor
212 operation.
213
214 If you say N here, the kernel will run on single and multiprocessor
215 machines, but will use only one CPU of a multiprocessor machine. If
216 you say Y here, the kernel will run on single-processor machines.
217 On a single-processor machine, the kernel will run faster if you say
218 N here.
219
220 If you don't know what to do here, say N.
221
222config NR_CPUS
Tony Breeds90035fe2008-04-24 13:43:49 +1000223 int "Maximum number of CPUs (2-1024)"
224 range 2 1024
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +1000225 depends on SMP
226 default "32" if PPC64
227 default "4"
228
229config NOT_COHERENT_CACHE
230 bool
John Rigbye177edc2008-01-29 04:28:53 +1100231 depends on 4xx || 8xx || E200 || PPC_MPC512x
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +1000232 default y
233
Robert P. J. Dayf8eb77d2007-07-18 08:21:29 +1000234config CHECK_CACHE_COHERENCY
Arnd Bergmanna0ae9c72007-06-13 02:30:17 +1000235 bool
236
237endmenu