Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 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 |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 13 | help |
Arnd Bergmann | b9fd305 | 2007-06-18 01:06:52 +0200 | [diff] [blame] | 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. |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 21 | |
Arnd Bergmann | b9fd305 | 2007-06-18 01:06:52 +0200 | [diff] [blame] | 22 | If unsure, select 52xx/6xx/7xx/74xx/82xx/83xx/86xx. |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 23 | |
Arnd Bergmann | b9fd305 | 2007-06-18 01:06:52 +0200 | [diff] [blame] | 24 | config 6xx |
| 25 | bool "52xx/6xx/7xx/74xx/82xx/83xx/86xx" |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 26 | select PPC_FPU |
| 27 | |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 28 | config PPC_85xx |
| 29 | bool "Freescale 85xx" |
| 30 | select E500 |
| 31 | select FSL_SOC |
| 32 | select 85xx |
| 33 | select WANT_DEVICE_TREE |
| 34 | |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 35 | config PPC_8xx |
| 36 | bool "Freescale 8xx" |
| 37 | select FSL_SOC |
| 38 | select 8xx |
Scott Wood | 0b19581 | 2007-08-21 03:40:01 +1000 | [diff] [blame] | 39 | select WANT_DEVICE_TREE |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 40 | |
| 41 | config 40x |
| 42 | bool "AMCC 40x" |
| 43 | select PPC_DCR_NATIVE |
Josh Boyer | 3cc248a | 2007-08-20 07:27:42 -0500 | [diff] [blame] | 44 | select WANT_DEVICE_TREE |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 45 | |
| 46 | config 44x |
| 47 | bool "AMCC 44x" |
| 48 | select PPC_DCR_NATIVE |
| 49 | select WANT_DEVICE_TREE |
| 50 | |
| 51 | config E200 |
| 52 | bool "Freescale e200" |
| 53 | |
| 54 | endchoice |
| 55 | |
| 56 | config 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 | |
| 65 | config POWER3 |
| 66 | bool |
| 67 | depends on PPC64 |
| 68 | default y if !POWER4_ONLY |
| 69 | |
| 70 | config POWER4 |
| 71 | depends on PPC64 |
| 72 | def_bool y |
| 73 | |
Arnd Bergmann | 3164ccc | 2007-09-15 10:21:57 +1000 | [diff] [blame] | 74 | config 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 Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 86 | config 6xx |
| 87 | bool |
| 88 | |
| 89 | # this is temp to handle compat with arch=ppc |
| 90 | config 8xx |
| 91 | bool |
| 92 | |
| 93 | # this is temp to handle compat with arch=ppc |
| 94 | config 83xx |
| 95 | bool |
| 96 | |
| 97 | # this is temp to handle compat with arch=ppc |
| 98 | config 85xx |
| 99 | bool |
| 100 | |
| 101 | config E500 |
| 102 | bool |
| 103 | |
| 104 | config PPC_FPU |
| 105 | bool |
| 106 | default y if PPC64 |
| 107 | |
| 108 | config 4xx |
| 109 | bool |
| 110 | depends on 40x || 44x |
| 111 | default y |
| 112 | |
| 113 | config BOOKE |
| 114 | bool |
| 115 | depends on E200 || E500 || 44x |
| 116 | default y |
| 117 | |
| 118 | config FSL_BOOKE |
| 119 | bool |
| 120 | depends on E200 || E500 |
| 121 | default y |
| 122 | |
| 123 | config PTE_64BIT |
| 124 | bool |
| 125 | depends on 44x || E500 |
| 126 | default y if 44x |
| 127 | default y if E500 && PHYS_64BIT |
| 128 | |
| 129 | config 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 | |
| 140 | config 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 | |
| 156 | config 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 | |
| 172 | config PPC_STD_MMU |
| 173 | bool |
| 174 | depends on 6xx || POWER3 || POWER4 || PPC64 |
| 175 | default y |
| 176 | |
| 177 | config PPC_STD_MMU_32 |
| 178 | def_bool y |
| 179 | depends on PPC_STD_MMU && PPC32 |
| 180 | |
| 181 | config PPC_MM_SLICES |
| 182 | bool |
| 183 | default y if HUGETLB_PAGE |
| 184 | default n |
| 185 | |
| 186 | config 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 | |
| 201 | config 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 | |
| 220 | config 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 | |
| 227 | config NOT_COHERENT_CACHE |
| 228 | bool |
| 229 | depends on 4xx || 8xx || E200 |
| 230 | default y |
| 231 | |
Robert P. J. Day | f8eb77d | 2007-07-18 08:21:29 +1000 | [diff] [blame] | 232 | config CHECK_CACHE_COHERENCY |
Arnd Bergmann | a0ae9c7 | 2007-06-13 02:30:17 +1000 | [diff] [blame] | 233 | bool |
| 234 | |
| 235 | endmenu |