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
  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
 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
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.