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