[POWERPC] Split out CPU specific options into a new Kconfig file
A lot of the options in arch/powerpc/Kconfig deal with the CPU menu, and my next patches add more to them. Moving them to a new arch/powerpc/platforms/Kconfig.cputype file makes it easier to follow. There are no functional changes in here. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
effe24bdd4
commit
a0ae9c7c05
2 changed files with 253 additions and 251 deletions
|
@ -4,12 +4,7 @@
|
||||||
|
|
||||||
mainmenu "Linux/PowerPC Kernel Configuration"
|
mainmenu "Linux/PowerPC Kernel Configuration"
|
||||||
|
|
||||||
config PPC64
|
source "arch/powerpc/platforms/Kconfig.cputype"
|
||||||
bool "64-bit kernel"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
This option selects whether a 32-bit or a 64-bit kernel
|
|
||||||
will be built.
|
|
||||||
|
|
||||||
config PPC_PM_NEEDS_RTC_LIB
|
config PPC_PM_NEEDS_RTC_LIB
|
||||||
bool
|
bool
|
||||||
|
@ -132,123 +127,6 @@ config PPC64_SWSUSP
|
||||||
depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
|
depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
|
||||||
default y
|
default y
|
||||||
|
|
||||||
menu "Processor support"
|
|
||||||
choice
|
|
||||||
prompt "Processor Type"
|
|
||||||
depends on PPC32
|
|
||||||
default 6xx
|
|
||||||
|
|
||||||
config CLASSIC32
|
|
||||||
bool "52xx/6xx/7xx/74xx"
|
|
||||||
select PPC_FPU
|
|
||||||
select 6xx
|
|
||||||
help
|
|
||||||
There are four families of PowerPC chips supported. The more common
|
|
||||||
types (601, 603, 604, 740, 750, 7400), the Motorola embedded
|
|
||||||
versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
|
|
||||||
embedded versions (403 and 405) and the high end 64 bit Power
|
|
||||||
processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
|
|
||||||
|
|
||||||
This option is the catch-all for 6xx types, including some of the
|
|
||||||
embedded versions. Unless there is see an option for the specific
|
|
||||||
chip family you are using, you want this option.
|
|
||||||
|
|
||||||
You do not want this if you are building a kernel for a 64 bit
|
|
||||||
IBM RS/6000 or an Apple G5, choose 6xx.
|
|
||||||
|
|
||||||
If unsure, select this option
|
|
||||||
|
|
||||||
Note that the kernel runs in 32-bit mode even on 64-bit chips.
|
|
||||||
|
|
||||||
config PPC_82xx
|
|
||||||
bool "Freescale 82xx"
|
|
||||||
select 6xx
|
|
||||||
select PPC_FPU
|
|
||||||
|
|
||||||
config PPC_83xx
|
|
||||||
bool "Freescale 83xx"
|
|
||||||
select 6xx
|
|
||||||
select FSL_SOC
|
|
||||||
select 83xx
|
|
||||||
select PPC_FPU
|
|
||||||
select WANT_DEVICE_TREE
|
|
||||||
|
|
||||||
config PPC_85xx
|
|
||||||
bool "Freescale 85xx"
|
|
||||||
select E500
|
|
||||||
select FSL_SOC
|
|
||||||
select 85xx
|
|
||||||
select WANT_DEVICE_TREE
|
|
||||||
|
|
||||||
config PPC_86xx
|
|
||||||
bool "Freescale 86xx"
|
|
||||||
select 6xx
|
|
||||||
select FSL_SOC
|
|
||||||
select FSL_PCIE
|
|
||||||
select PPC_FPU
|
|
||||||
select ALTIVEC
|
|
||||||
help
|
|
||||||
The Freescale E600 SoCs have 74xx cores.
|
|
||||||
|
|
||||||
config PPC_8xx
|
|
||||||
bool "Freescale 8xx"
|
|
||||||
select FSL_SOC
|
|
||||||
select 8xx
|
|
||||||
|
|
||||||
config 40x
|
|
||||||
bool "AMCC 40x"
|
|
||||||
select PPC_DCR_NATIVE
|
|
||||||
|
|
||||||
config 44x
|
|
||||||
bool "AMCC 44x"
|
|
||||||
select PPC_DCR_NATIVE
|
|
||||||
select WANT_DEVICE_TREE
|
|
||||||
|
|
||||||
config E200
|
|
||||||
bool "Freescale e200"
|
|
||||||
|
|
||||||
endchoice
|
|
||||||
|
|
||||||
config POWER4_ONLY
|
|
||||||
bool "Optimize for POWER4"
|
|
||||||
depends on PPC64
|
|
||||||
default n
|
|
||||||
---help---
|
|
||||||
Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
|
|
||||||
The resulting binary will not work on POWER3 or RS64 processors
|
|
||||||
when compiled with binutils 2.15 or later.
|
|
||||||
|
|
||||||
config POWER3
|
|
||||||
bool
|
|
||||||
depends on PPC64
|
|
||||||
default y if !POWER4_ONLY
|
|
||||||
|
|
||||||
config POWER4
|
|
||||||
depends on PPC64
|
|
||||||
def_bool y
|
|
||||||
|
|
||||||
config 6xx
|
|
||||||
bool
|
|
||||||
|
|
||||||
# this is temp to handle compat with arch=ppc
|
|
||||||
config 8xx
|
|
||||||
bool
|
|
||||||
|
|
||||||
# this is temp to handle compat with arch=ppc
|
|
||||||
config 83xx
|
|
||||||
bool
|
|
||||||
|
|
||||||
# this is temp to handle compat with arch=ppc
|
|
||||||
config 85xx
|
|
||||||
bool
|
|
||||||
|
|
||||||
config E500
|
|
||||||
bool
|
|
||||||
|
|
||||||
config PPC_FPU
|
|
||||||
bool
|
|
||||||
default y if PPC64
|
|
||||||
|
|
||||||
config PPC_DCR_NATIVE
|
config PPC_DCR_NATIVE
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
@ -267,134 +145,6 @@ config PPC_OF_PLATFORM_PCI
|
||||||
depends on PPC64 # not supported on 32 bits yet
|
depends on PPC64 # not supported on 32 bits yet
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config 4xx
|
|
||||||
bool
|
|
||||||
depends on 40x || 44x
|
|
||||||
default y
|
|
||||||
|
|
||||||
config BOOKE
|
|
||||||
bool
|
|
||||||
depends on E200 || E500 || 44x
|
|
||||||
default y
|
|
||||||
|
|
||||||
config FSL_BOOKE
|
|
||||||
bool
|
|
||||||
depends on E200 || E500
|
|
||||||
default y
|
|
||||||
|
|
||||||
config PTE_64BIT
|
|
||||||
bool
|
|
||||||
depends on 44x || E500
|
|
||||||
default y if 44x
|
|
||||||
default y if E500 && PHYS_64BIT
|
|
||||||
|
|
||||||
config PHYS_64BIT
|
|
||||||
bool 'Large physical address support' if E500
|
|
||||||
depends on 44x || E500
|
|
||||||
select RESOURCES_64BIT
|
|
||||||
default y if 44x
|
|
||||||
---help---
|
|
||||||
This option enables kernel support for larger than 32-bit physical
|
|
||||||
addresses. This features is not be available on all e500 cores.
|
|
||||||
|
|
||||||
If in doubt, say N here.
|
|
||||||
|
|
||||||
config ALTIVEC
|
|
||||||
bool "AltiVec Support"
|
|
||||||
depends on CLASSIC32 || POWER4
|
|
||||||
---help---
|
|
||||||
This option enables kernel support for the Altivec extensions to the
|
|
||||||
PowerPC processor. The kernel currently supports saving and restoring
|
|
||||||
altivec registers, and turning on the 'altivec enable' bit so user
|
|
||||||
processes can execute altivec instructions.
|
|
||||||
|
|
||||||
This option is only usefully if you have a processor that supports
|
|
||||||
altivec (G4, otherwise known as 74xx series), but does not have
|
|
||||||
any affect on a non-altivec cpu (it does, however add code to the
|
|
||||||
kernel).
|
|
||||||
|
|
||||||
If in doubt, say Y here.
|
|
||||||
|
|
||||||
config SPE
|
|
||||||
bool "SPE Support"
|
|
||||||
depends on E200 || E500
|
|
||||||
default y
|
|
||||||
---help---
|
|
||||||
This option enables kernel support for the Signal Processing
|
|
||||||
Extensions (SPE) to the PowerPC processor. The kernel currently
|
|
||||||
supports saving and restoring SPE registers, and turning on the
|
|
||||||
'spe enable' bit so user processes can execute SPE instructions.
|
|
||||||
|
|
||||||
This option is only useful if you have a processor that supports
|
|
||||||
SPE (e500, otherwise known as 85xx series), but does not have any
|
|
||||||
effect on a non-spe cpu (it does, however add code to the kernel).
|
|
||||||
|
|
||||||
If in doubt, say Y here.
|
|
||||||
|
|
||||||
config PPC_STD_MMU
|
|
||||||
bool
|
|
||||||
depends on 6xx || POWER3 || POWER4 || PPC64
|
|
||||||
default y
|
|
||||||
|
|
||||||
config PPC_STD_MMU_32
|
|
||||||
def_bool y
|
|
||||||
depends on PPC_STD_MMU && PPC32
|
|
||||||
|
|
||||||
config PPC_MM_SLICES
|
|
||||||
bool
|
|
||||||
default y if HUGETLB_PAGE
|
|
||||||
default n
|
|
||||||
|
|
||||||
config VIRT_CPU_ACCOUNTING
|
|
||||||
bool "Deterministic task and CPU time accounting"
|
|
||||||
depends on PPC64
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
Select this option to enable more accurate task and CPU time
|
|
||||||
accounting. This is done by reading a CPU counter on each
|
|
||||||
kernel entry and exit and on transitions within the kernel
|
|
||||||
between system, softirq and hardirq state, so there is a
|
|
||||||
small performance impact. This also enables accounting of
|
|
||||||
stolen time on logically-partitioned systems running on
|
|
||||||
IBM POWER5-based machines.
|
|
||||||
|
|
||||||
If in doubt, say Y here.
|
|
||||||
|
|
||||||
config SMP
|
|
||||||
depends on PPC_STD_MMU
|
|
||||||
bool "Symmetric multi-processing support"
|
|
||||||
---help---
|
|
||||||
This enables support for systems with more than one CPU. If you have
|
|
||||||
a system with only one CPU, say N. If you have a system with more
|
|
||||||
than one CPU, say Y. Note that the kernel does not currently
|
|
||||||
support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
|
|
||||||
since they have inadequate hardware support for multiprocessor
|
|
||||||
operation.
|
|
||||||
|
|
||||||
If you say N here, the kernel will run on single and multiprocessor
|
|
||||||
machines, but will use only one CPU of a multiprocessor machine. If
|
|
||||||
you say Y here, the kernel will run on single-processor machines.
|
|
||||||
On a single-processor machine, the kernel will run faster if you say
|
|
||||||
N here.
|
|
||||||
|
|
||||||
If you don't know what to do here, say N.
|
|
||||||
|
|
||||||
config NR_CPUS
|
|
||||||
int "Maximum number of CPUs (2-128)"
|
|
||||||
range 2 128
|
|
||||||
depends on SMP
|
|
||||||
default "32" if PPC64
|
|
||||||
default "4"
|
|
||||||
|
|
||||||
config NOT_COHERENT_CACHE
|
|
||||||
bool
|
|
||||||
depends on 4xx || 8xx || E200
|
|
||||||
default y
|
|
||||||
|
|
||||||
config CONFIG_CHECK_CACHE_COHERENCY
|
|
||||||
bool
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
source "init/Kconfig"
|
source "init/Kconfig"
|
||||||
|
|
||||||
source "arch/powerpc/platforms/Kconfig"
|
source "arch/powerpc/platforms/Kconfig"
|
||||||
|
|
252
arch/powerpc/platforms/Kconfig.cputype
Normal file
252
arch/powerpc/platforms/Kconfig.cputype
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
config PPC64
|
||||||
|
bool "64-bit kernel"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
This option selects whether a 32-bit or a 64-bit kernel
|
||||||
|
will be built.
|
||||||
|
|
||||||
|
menu "Processor support"
|
||||||
|
choice
|
||||||
|
prompt "Processor Type"
|
||||||
|
depends on PPC32
|
||||||
|
default 6xx
|
||||||
|
|
||||||
|
config CLASSIC32
|
||||||
|
bool "52xx/6xx/7xx/74xx"
|
||||||
|
select PPC_FPU
|
||||||
|
select 6xx
|
||||||
|
help
|
||||||
|
There are four families of PowerPC chips supported. The more common
|
||||||
|
types (601, 603, 604, 740, 750, 7400), the Motorola embedded
|
||||||
|
versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
|
||||||
|
embedded versions (403 and 405) and the high end 64 bit Power
|
||||||
|
processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
|
||||||
|
|
||||||
|
This option is the catch-all for 6xx types, including some of the
|
||||||
|
embedded versions. Unless there is see an option for the specific
|
||||||
|
chip family you are using, you want this option.
|
||||||
|
|
||||||
|
You do not want this if you are building a kernel for a 64 bit
|
||||||
|
IBM RS/6000 or an Apple G5, choose 6xx.
|
||||||
|
|
||||||
|
If unsure, select this option
|
||||||
|
|
||||||
|
Note that the kernel runs in 32-bit mode even on 64-bit chips.
|
||||||
|
|
||||||
|
config PPC_82xx
|
||||||
|
bool "Freescale 82xx"
|
||||||
|
select 6xx
|
||||||
|
select PPC_FPU
|
||||||
|
|
||||||
|
config PPC_83xx
|
||||||
|
bool "Freescale 83xx"
|
||||||
|
select 6xx
|
||||||
|
select FSL_SOC
|
||||||
|
select 83xx
|
||||||
|
select PPC_FPU
|
||||||
|
select WANT_DEVICE_TREE
|
||||||
|
|
||||||
|
config PPC_85xx
|
||||||
|
bool "Freescale 85xx"
|
||||||
|
select E500
|
||||||
|
select FSL_SOC
|
||||||
|
select 85xx
|
||||||
|
select WANT_DEVICE_TREE
|
||||||
|
|
||||||
|
config PPC_86xx
|
||||||
|
bool "Freescale 86xx"
|
||||||
|
select 6xx
|
||||||
|
select FSL_SOC
|
||||||
|
select FSL_PCIE
|
||||||
|
select PPC_FPU
|
||||||
|
select ALTIVEC
|
||||||
|
help
|
||||||
|
The Freescale E600 SoCs have 74xx cores.
|
||||||
|
|
||||||
|
config PPC_8xx
|
||||||
|
bool "Freescale 8xx"
|
||||||
|
select FSL_SOC
|
||||||
|
select 8xx
|
||||||
|
|
||||||
|
config 40x
|
||||||
|
bool "AMCC 40x"
|
||||||
|
select PPC_DCR_NATIVE
|
||||||
|
|
||||||
|
config 44x
|
||||||
|
bool "AMCC 44x"
|
||||||
|
select PPC_DCR_NATIVE
|
||||||
|
select WANT_DEVICE_TREE
|
||||||
|
|
||||||
|
config E200
|
||||||
|
bool "Freescale e200"
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
|
config POWER4_ONLY
|
||||||
|
bool "Optimize for POWER4"
|
||||||
|
depends on PPC64
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
|
||||||
|
The resulting binary will not work on POWER3 or RS64 processors
|
||||||
|
when compiled with binutils 2.15 or later.
|
||||||
|
|
||||||
|
config POWER3
|
||||||
|
bool
|
||||||
|
depends on PPC64
|
||||||
|
default y if !POWER4_ONLY
|
||||||
|
|
||||||
|
config POWER4
|
||||||
|
depends on PPC64
|
||||||
|
def_bool y
|
||||||
|
|
||||||
|
config 6xx
|
||||||
|
bool
|
||||||
|
|
||||||
|
# this is temp to handle compat with arch=ppc
|
||||||
|
config 8xx
|
||||||
|
bool
|
||||||
|
|
||||||
|
# this is temp to handle compat with arch=ppc
|
||||||
|
config 83xx
|
||||||
|
bool
|
||||||
|
|
||||||
|
# this is temp to handle compat with arch=ppc
|
||||||
|
config 85xx
|
||||||
|
bool
|
||||||
|
|
||||||
|
config E500
|
||||||
|
bool
|
||||||
|
|
||||||
|
config PPC_FPU
|
||||||
|
bool
|
||||||
|
default y if PPC64
|
||||||
|
|
||||||
|
config 4xx
|
||||||
|
bool
|
||||||
|
depends on 40x || 44x
|
||||||
|
default y
|
||||||
|
|
||||||
|
config BOOKE
|
||||||
|
bool
|
||||||
|
depends on E200 || E500 || 44x
|
||||||
|
default y
|
||||||
|
|
||||||
|
config FSL_BOOKE
|
||||||
|
bool
|
||||||
|
depends on E200 || E500
|
||||||
|
default y
|
||||||
|
|
||||||
|
config PTE_64BIT
|
||||||
|
bool
|
||||||
|
depends on 44x || E500
|
||||||
|
default y if 44x
|
||||||
|
default y if E500 && PHYS_64BIT
|
||||||
|
|
||||||
|
config PHYS_64BIT
|
||||||
|
bool 'Large physical address support' if E500
|
||||||
|
depends on 44x || E500
|
||||||
|
select RESOURCES_64BIT
|
||||||
|
default y if 44x
|
||||||
|
---help---
|
||||||
|
This option enables kernel support for larger than 32-bit physical
|
||||||
|
addresses. This features is not be available on all e500 cores.
|
||||||
|
|
||||||
|
If in doubt, say N here.
|
||||||
|
|
||||||
|
config ALTIVEC
|
||||||
|
bool "AltiVec Support"
|
||||||
|
depends on CLASSIC32 || POWER4
|
||||||
|
---help---
|
||||||
|
This option enables kernel support for the Altivec extensions to the
|
||||||
|
PowerPC processor. The kernel currently supports saving and restoring
|
||||||
|
altivec registers, and turning on the 'altivec enable' bit so user
|
||||||
|
processes can execute altivec instructions.
|
||||||
|
|
||||||
|
This option is only usefully if you have a processor that supports
|
||||||
|
altivec (G4, otherwise known as 74xx series), but does not have
|
||||||
|
any affect on a non-altivec cpu (it does, however add code to the
|
||||||
|
kernel).
|
||||||
|
|
||||||
|
If in doubt, say Y here.
|
||||||
|
|
||||||
|
config SPE
|
||||||
|
bool "SPE Support"
|
||||||
|
depends on E200 || E500
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
This option enables kernel support for the Signal Processing
|
||||||
|
Extensions (SPE) to the PowerPC processor. The kernel currently
|
||||||
|
supports saving and restoring SPE registers, and turning on the
|
||||||
|
'spe enable' bit so user processes can execute SPE instructions.
|
||||||
|
|
||||||
|
This option is only useful if you have a processor that supports
|
||||||
|
SPE (e500, otherwise known as 85xx series), but does not have any
|
||||||
|
effect on a non-spe cpu (it does, however add code to the kernel).
|
||||||
|
|
||||||
|
If in doubt, say Y here.
|
||||||
|
|
||||||
|
config PPC_STD_MMU
|
||||||
|
bool
|
||||||
|
depends on 6xx || POWER3 || POWER4 || PPC64
|
||||||
|
default y
|
||||||
|
|
||||||
|
config PPC_STD_MMU_32
|
||||||
|
def_bool y
|
||||||
|
depends on PPC_STD_MMU && PPC32
|
||||||
|
|
||||||
|
config PPC_MM_SLICES
|
||||||
|
bool
|
||||||
|
default y if HUGETLB_PAGE
|
||||||
|
default n
|
||||||
|
|
||||||
|
config VIRT_CPU_ACCOUNTING
|
||||||
|
bool "Deterministic task and CPU time accounting"
|
||||||
|
depends on PPC64
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Select this option to enable more accurate task and CPU time
|
||||||
|
accounting. This is done by reading a CPU counter on each
|
||||||
|
kernel entry and exit and on transitions within the kernel
|
||||||
|
between system, softirq and hardirq state, so there is a
|
||||||
|
small performance impact. This also enables accounting of
|
||||||
|
stolen time on logically-partitioned systems running on
|
||||||
|
IBM POWER5-based machines.
|
||||||
|
|
||||||
|
If in doubt, say Y here.
|
||||||
|
|
||||||
|
config SMP
|
||||||
|
depends on PPC_STD_MMU
|
||||||
|
bool "Symmetric multi-processing support"
|
||||||
|
---help---
|
||||||
|
This enables support for systems with more than one CPU. If you have
|
||||||
|
a system with only one CPU, say N. If you have a system with more
|
||||||
|
than one CPU, say Y. Note that the kernel does not currently
|
||||||
|
support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
|
||||||
|
since they have inadequate hardware support for multiprocessor
|
||||||
|
operation.
|
||||||
|
|
||||||
|
If you say N here, the kernel will run on single and multiprocessor
|
||||||
|
machines, but will use only one CPU of a multiprocessor machine. If
|
||||||
|
you say Y here, the kernel will run on single-processor machines.
|
||||||
|
On a single-processor machine, the kernel will run faster if you say
|
||||||
|
N here.
|
||||||
|
|
||||||
|
If you don't know what to do here, say N.
|
||||||
|
|
||||||
|
config NR_CPUS
|
||||||
|
int "Maximum number of CPUs (2-128)"
|
||||||
|
range 2 128
|
||||||
|
depends on SMP
|
||||||
|
default "32" if PPC64
|
||||||
|
default "4"
|
||||||
|
|
||||||
|
config NOT_COHERENT_CACHE
|
||||||
|
bool
|
||||||
|
depends on 4xx || 8xx || E200
|
||||||
|
default y
|
||||||
|
|
||||||
|
config CONFIG_CHECK_CACHE_COHERENCY
|
||||||
|
bool
|
||||||
|
|
||||||
|
endmenu
|
Loading…
Add table
Reference in a new issue