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