1config 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 help 13 There are five families of 32 bit PowerPC chips supported. 14 The most common ones are the desktop and server CPUs (601, 603, 15 604, 740, 750, 74xx) CPUs from Freescale and IBM, with their 16 embedded 512x/52xx/82xx/83xx/86xx counterparts. 17 The other embeeded parts, namely 4xx, 8xx, e200 (55xx) and e500 18 (85xx) each form a family of their own that is not compatible 19 with the others. 20 21 If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx. 22 23config PPC_BOOK3S_32 24 bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx" 25 select PPC_FPU 26 27config PPC_85xx 28 bool "Freescale 85xx" 29 select E500 30 31config PPC_8xx 32 bool "Freescale 8xx" 33 select FSL_SOC 34 select 8xx 35 select PPC_LIB_RHEAP 36 37config 40x 38 bool "AMCC 40x" 39 select PPC_DCR_NATIVE 40 select PPC_UDBG_16550 41 select 4xx_SOC 42 select PPC_PCI_CHOICE 43 44config 44x 45 bool "AMCC 44x, 46x or 47x" 46 select PPC_DCR_NATIVE 47 select PPC_UDBG_16550 48 select 4xx_SOC 49 select PPC_PCI_CHOICE 50 select PHYS_64BIT 51 52config E200 53 bool "Freescale e200" 54 55endchoice 56 57choice 58 prompt "Processor Type" 59 depends on PPC64 60 help 61 There are two families of 64 bit PowerPC chips supported. 62 The most common ones are the desktop and server CPUs 63 (POWER3, RS64, POWER4, POWER5, POWER5+, POWER6, ...) 64 65 The other are the "embedded" processors compliant with the 66 "Book 3E" variant of the architecture 67 68config PPC_BOOK3S_64 69 bool "Server processors" 70 select PPC_FPU 71 select PPC_HAVE_PMU_SUPPORT 72 select SYS_SUPPORTS_HUGETLBFS 73 74config PPC_BOOK3E_64 75 bool "Embedded processors" 76 select PPC_FPU # Make it a choice ? 77 select PPC_SMP_MUXED_IPI 78 79endchoice 80 81config PPC_BOOK3S 82 def_bool y 83 depends on PPC_BOOK3S_32 || PPC_BOOK3S_64 84 85config PPC_BOOK3E 86 def_bool y 87 depends on PPC_BOOK3E_64 88 89config POWER4_ONLY 90 bool "Optimize for POWER4" 91 depends on PPC64 && PPC_BOOK3S 92 default n 93 ---help--- 94 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors. 95 The resulting binary will not work on POWER3 or RS64 processors 96 when compiled with binutils 2.15 or later. 97 98config 6xx 99 def_bool y 100 depends on PPC32 && PPC_BOOK3S 101 select PPC_HAVE_PMU_SUPPORT 102 103config POWER3 104 bool 105 depends on PPC64 && PPC_BOOK3S 106 default y if !POWER4_ONLY 107 108config POWER4 109 depends on PPC64 && PPC_BOOK3S 110 def_bool y 111 112config PPC_A2 113 bool 114 depends on PPC_BOOK3E_64 115 116config TUNE_CELL 117 bool "Optimize for Cell Broadband Engine" 118 depends on PPC64 && PPC_BOOK3S 119 help 120 Cause the compiler to optimize for the PPE of the Cell Broadband 121 Engine. This will make the code run considerably faster on Cell 122 but somewhat slower on other machines. This option only changes 123 the scheduling of instructions, not the selection of instructions 124 itself, so the resulting kernel will keep running on all other 125 machines. When building a kernel that is supposed to run only 126 on Cell, you should also select the POWER4_ONLY option. 127 128# this is temp to handle compat with arch=ppc 129config 8xx 130 bool 131 132config E500 133 select FSL_EMB_PERFMON 134 select PPC_FSL_BOOK3E 135 bool 136 137config PPC_E500MC 138 bool "e500mc Support" 139 select PPC_FPU 140 depends on E500 141 142config PPC_FPU 143 bool 144 default y if PPC64 145 146config FSL_EMB_PERFMON 147 bool "Freescale Embedded Perfmon" 148 depends on E500 || PPC_83xx 149 help 150 This is the Performance Monitor support found on the e500 core 151 and some e300 cores (c3 and c4). Select this only if your 152 core supports the Embedded Performance Monitor APU 153 154config FSL_EMB_PERF_EVENT 155 bool 156 depends on FSL_EMB_PERFMON && PERF_EVENTS && !PPC_PERF_CTRS 157 default y 158 159config FSL_EMB_PERF_EVENT_E500 160 bool 161 depends on FSL_EMB_PERF_EVENT && E500 162 default y 163 164config 4xx 165 bool 166 depends on 40x || 44x 167 default y 168 169config BOOKE 170 bool 171 depends on E200 || E500 || 44x || PPC_BOOK3E 172 default y 173 174config FSL_BOOKE 175 bool 176 depends on (E200 || E500) && PPC32 177 default y 178 179# this is for common code between PPC32 & PPC64 FSL BOOKE 180config PPC_FSL_BOOK3E 181 bool 182 select FSL_EMB_PERFMON 183 select PPC_SMP_MUXED_IPI 184 select SYS_SUPPORTS_HUGETLBFS if PHYS_64BIT || PPC64 185 default y if FSL_BOOKE 186 187config PTE_64BIT 188 bool 189 depends on 44x || E500 || PPC_86xx 190 default y if PHYS_64BIT 191 192config PHYS_64BIT 193 bool 'Large physical address support' if E500 || PPC_86xx 194 depends on (44x || E500 || PPC_86xx) && !PPC_83xx && !PPC_82xx 195 ---help--- 196 This option enables kernel support for larger than 32-bit physical 197 addresses. This feature may not be available on all cores. 198 199 If you have more than 3.5GB of RAM or so, you also need to enable 200 SWIOTLB under Kernel Options for this to work. The actual number 201 is platform-dependent. 202 203 If in doubt, say N here. 204 205config ALTIVEC 206 bool "AltiVec Support" 207 depends on 6xx || POWER4 208 ---help--- 209 This option enables kernel support for the Altivec extensions to the 210 PowerPC processor. The kernel currently supports saving and restoring 211 altivec registers, and turning on the 'altivec enable' bit so user 212 processes can execute altivec instructions. 213 214 This option is only usefully if you have a processor that supports 215 altivec (G4, otherwise known as 74xx series), but does not have 216 any affect on a non-altivec cpu (it does, however add code to the 217 kernel). 218 219 If in doubt, say Y here. 220 221config VSX 222 bool "VSX Support" 223 depends on POWER4 && ALTIVEC && PPC_FPU 224 ---help--- 225 226 This option enables kernel support for the Vector Scaler extensions 227 to the PowerPC processor. The kernel currently supports saving and 228 restoring VSX registers, and turning on the 'VSX enable' bit so user 229 processes can execute VSX instructions. 230 231 This option is only useful if you have a processor that supports 232 VSX (P7 and above), but does not have any affect on a non-VSX 233 CPUs (it does, however add code to the kernel). 234 235 If in doubt, say Y here. 236 237config PPC_ICSWX 238 bool "Support for PowerPC icswx coprocessor instruction" 239 depends on POWER4 || PPC_A2 240 default n 241 ---help--- 242 243 This option enables kernel support for the PowerPC Initiate 244 Coprocessor Store Word (icswx) coprocessor instruction on POWER7 245 or newer processors. 246 247 This option is only useful if you have a processor that supports 248 the icswx coprocessor instruction. It does not have any effect 249 on processors without the icswx coprocessor instruction. 250 251 This option slightly increases kernel memory usage. 252 253 If in doubt, say N here. 254 255config PPC_ICSWX_PID 256 bool "icswx requires direct PID management" 257 depends on PPC_ICSWX && POWER4 258 default y 259 ---help--- 260 The PID register in server is used explicitly for ICSWX. In 261 embedded systems PID managment is done by the system. 262 263config PPC_ICSWX_USE_SIGILL 264 bool "Should a bad CT cause a SIGILL?" 265 depends on PPC_ICSWX 266 default n 267 ---help--- 268 Should a bad CT used for "non-record form ICSWX" cause an 269 illegal intruction signal or should it be silent as 270 architected. 271 272 If in doubt, say N here. 273 274config SPE 275 bool "SPE Support" 276 depends on E200 || (E500 && !PPC_E500MC) 277 default y 278 ---help--- 279 This option enables kernel support for the Signal Processing 280 Extensions (SPE) to the PowerPC processor. The kernel currently 281 supports saving and restoring SPE registers, and turning on the 282 'spe enable' bit so user processes can execute SPE instructions. 283 284 This option is only useful if you have a processor that supports 285 SPE (e500, otherwise known as 85xx series), but does not have any 286 effect on a non-spe cpu (it does, however add code to the kernel). 287 288 If in doubt, say Y here. 289 290config PPC_STD_MMU 291 def_bool y 292 depends on PPC_BOOK3S 293 294config PPC_STD_MMU_32 295 def_bool y 296 depends on PPC_STD_MMU && PPC32 297 298config PPC_STD_MMU_64 299 def_bool y 300 depends on PPC_STD_MMU && PPC64 301 302config PPC_MMU_NOHASH 303 def_bool y 304 depends on !PPC_STD_MMU 305 306config PPC_BOOK3E_MMU 307 def_bool y 308 depends on FSL_BOOKE || PPC_BOOK3E 309 310config PPC_MM_SLICES 311 bool 312 default y if (!PPC_FSL_BOOK3E && PPC64 && HUGETLB_PAGE) || (PPC_STD_MMU_64 && PPC_64K_PAGES) 313 default n 314 315config VIRT_CPU_ACCOUNTING 316 bool "Deterministic task and CPU time accounting" 317 depends on PPC64 318 default y 319 help 320 Select this option to enable more accurate task and CPU time 321 accounting. This is done by reading a CPU counter on each 322 kernel entry and exit and on transitions within the kernel 323 between system, softirq and hardirq state, so there is a 324 small performance impact. This also enables accounting of 325 stolen time on logically-partitioned systems running on 326 IBM POWER5-based machines. 327 328 If in doubt, say Y here. 329 330config PPC_HAVE_PMU_SUPPORT 331 bool 332 333config PPC_PERF_CTRS 334 def_bool y 335 depends on PERF_EVENTS && PPC_HAVE_PMU_SUPPORT 336 help 337 This enables the powerpc-specific perf_event back-end. 338 339config SMP 340 depends on PPC_BOOK3S || PPC_BOOK3E || FSL_BOOKE || PPC_47x 341 bool "Symmetric multi-processing support" 342 ---help--- 343 This enables support for systems with more than one CPU. If you have 344 a system with only one CPU, say N. If you have a system with more 345 than one CPU, say Y. Note that the kernel does not currently 346 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors 347 since they have inadequate hardware support for multiprocessor 348 operation. 349 350 If you say N here, the kernel will run on single and multiprocessor 351 machines, but will use only one CPU of a multiprocessor machine. If 352 you say Y here, the kernel will run on single-processor machines. 353 On a single-processor machine, the kernel will run faster if you say 354 N here. 355 356 If you don't know what to do here, say N. 357 358config NR_CPUS 359 int "Maximum number of CPUs (2-8192)" 360 range 2 8192 361 depends on SMP 362 default "32" if PPC64 363 default "4" 364 365config NOT_COHERENT_CACHE 366 bool 367 depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON 368 default n if PPC_47x 369 default y 370 371config CHECK_CACHE_COHERENCY 372 bool 373 374endmenu 375