powerpc/kconfig: Kill PPC_MULTIPLATFORM
CONFIG_PPC_MULTIPLATFORM is a remain of the pre-powerpc days and isn't really meaningful anymore. It was basically equivalent to PPC64 || 6xx. This removes it along with the following changes: - 32-bit platforms that relied on PPC32 && PPC_MULTIPLATFORM now rely on 6xx which is what they want anyway. - A new symbol, PPC_BOOK3S, is defined that represent compliance with the "Server" variant of the architecture. This is set when either 6xx or PPC64 is set and open the door for future BOOK3E 64-bit. - 64-bit platforms that relied on PPC64 && PPC_MULTIPLATFORM now use PPC64 && PPC_BOOK3S - A separate and selectable CONFIG_PPC_OF_BOOT_TRAMPOLINE option is now used to control the use of prom_init.c Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
9e5efaa936
commit
28794d34ec
|
@ -313,7 +313,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
|
||||||
|
|
||||||
config KEXEC
|
config KEXEC
|
||||||
bool "kexec system call (EXPERIMENTAL)"
|
bool "kexec system call (EXPERIMENTAL)"
|
||||||
depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
|
depends on BOOK3S && EXPERIMENTAL
|
||||||
help
|
help
|
||||||
kexec is a system call that implements the ability to shutdown your
|
kexec is a system call that implements the ability to shutdown your
|
||||||
current kernel, and to start another kernel. It is like a reboot
|
current kernel, and to start another kernel. It is like a reboot
|
||||||
|
|
|
@ -129,7 +129,7 @@ config BDI_SWITCH
|
||||||
|
|
||||||
config BOOTX_TEXT
|
config BOOTX_TEXT
|
||||||
bool "Support for early boot text console (BootX or OpenFirmware only)"
|
bool "Support for early boot text console (BootX or OpenFirmware only)"
|
||||||
depends on PPC_OF && PPC_MULTIPLATFORM
|
depends on PPC_OF && PPC_BOOK3S
|
||||||
help
|
help
|
||||||
Say Y here to see progress messages from the boot firmware in text
|
Say Y here to see progress messages from the boot firmware in text
|
||||||
mode. Requires either BootX or Open Firmware.
|
mode. Requires either BootX or Open Firmware.
|
||||||
|
|
|
@ -75,7 +75,7 @@ obj-y += time.o prom.o traps.o setup-common.o \
|
||||||
obj-$(CONFIG_PPC32) += entry_32.o setup_32.o
|
obj-$(CONFIG_PPC32) += entry_32.o setup_32.o
|
||||||
obj-$(CONFIG_PPC64) += dma-iommu.o iommu.o
|
obj-$(CONFIG_PPC64) += dma-iommu.o iommu.o
|
||||||
obj-$(CONFIG_KGDB) += kgdb.o
|
obj-$(CONFIG_KGDB) += kgdb.o
|
||||||
obj-$(CONFIG_PPC_MULTIPLATFORM) += prom_init.o
|
obj-$(CONFIG_PPC_OF_BOOT_TRAMPOLINE) += prom_init.o
|
||||||
obj-$(CONFIG_MODULES) += ppc_ksyms.o
|
obj-$(CONFIG_MODULES) += ppc_ksyms.o
|
||||||
obj-$(CONFIG_BOOTX_TEXT) += btext.o
|
obj-$(CONFIG_BOOTX_TEXT) += btext.o
|
||||||
obj-$(CONFIG_SMP) += smp.o
|
obj-$(CONFIG_SMP) += smp.o
|
||||||
|
|
|
@ -108,18 +108,21 @@ __start:
|
||||||
* because OF may have I/O devices mapped into that area
|
* because OF may have I/O devices mapped into that area
|
||||||
* (particularly on CHRP).
|
* (particularly on CHRP).
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_PPC_MULTIPLATFORM
|
|
||||||
cmpwi 0,r5,0
|
cmpwi 0,r5,0
|
||||||
beq 1f
|
beq 1f
|
||||||
|
|
||||||
|
#ifdef CONFIG_PPC_OF_BOOT_TRAMPOLINE
|
||||||
/* find out where we are now */
|
/* find out where we are now */
|
||||||
bcl 20,31,$+4
|
bcl 20,31,$+4
|
||||||
0: mflr r8 /* r8 = runtime addr here */
|
0: mflr r8 /* r8 = runtime addr here */
|
||||||
addis r8,r8,(_stext - 0b)@ha
|
addis r8,r8,(_stext - 0b)@ha
|
||||||
addi r8,r8,(_stext - 0b)@l /* current runtime base addr */
|
addi r8,r8,(_stext - 0b)@l /* current runtime base addr */
|
||||||
bl prom_init
|
bl prom_init
|
||||||
|
#endif /* CONFIG_PPC_OF_BOOT_TRAMPOLINE */
|
||||||
|
|
||||||
|
/* We never return. We also hit that trap if trying to boot
|
||||||
|
* from OF while CONFIG_PPC_OF_BOOT_TRAMPOLINE isn't selected */
|
||||||
trap
|
trap
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check for BootX signature when supporting PowerMac and branch to
|
* Check for BootX signature when supporting PowerMac and branch to
|
||||||
|
|
|
@ -1360,6 +1360,7 @@ _GLOBAL(__start_initialization_multiplatform)
|
||||||
b .__after_prom_start
|
b .__after_prom_start
|
||||||
|
|
||||||
_INIT_STATIC(__boot_from_prom)
|
_INIT_STATIC(__boot_from_prom)
|
||||||
|
#ifdef CONFIG_PPC_OF_BOOT_TRAMPOLINE
|
||||||
/* Save parameters */
|
/* Save parameters */
|
||||||
mr r31,r3
|
mr r31,r3
|
||||||
mr r30,r4
|
mr r30,r4
|
||||||
|
@ -1390,7 +1391,10 @@ _INIT_STATIC(__boot_from_prom)
|
||||||
/* Do all of the interaction with OF client interface */
|
/* Do all of the interaction with OF client interface */
|
||||||
mr r8,r26
|
mr r8,r26
|
||||||
bl .prom_init
|
bl .prom_init
|
||||||
/* We never return */
|
#endif /* #CONFIG_PPC_OF_BOOT_TRAMPOLINE */
|
||||||
|
|
||||||
|
/* We never return. We also hit that trap if trying to boot
|
||||||
|
* from OF while CONFIG_PPC_OF_BOOT_TRAMPOLINE isn't selected */
|
||||||
trap
|
trap
|
||||||
|
|
||||||
_STATIC(__after_prom_start)
|
_STATIC(__after_prom_start)
|
||||||
|
|
|
@ -12,7 +12,7 @@ config PPC_MPC5121
|
||||||
|
|
||||||
config MPC5121_ADS
|
config MPC5121_ADS
|
||||||
bool "Freescale MPC5121E ADS"
|
bool "Freescale MPC5121E ADS"
|
||||||
depends on PPC_MULTIPLATFORM && PPC32
|
depends on 6xx
|
||||||
select DEFAULT_UIMAGE
|
select DEFAULT_UIMAGE
|
||||||
select PPC_MPC5121
|
select PPC_MPC5121
|
||||||
select MPC5121_ADS_CPLD
|
select MPC5121_ADS_CPLD
|
||||||
|
@ -21,7 +21,7 @@ config MPC5121_ADS
|
||||||
|
|
||||||
config MPC5121_GENERIC
|
config MPC5121_GENERIC
|
||||||
bool "Generic support for simple MPC5121 based boards"
|
bool "Generic support for simple MPC5121 based boards"
|
||||||
depends on PPC_MULTIPLATFORM && PPC32
|
depends on 6xx
|
||||||
select DEFAULT_UIMAGE
|
select DEFAULT_UIMAGE
|
||||||
select PPC_MPC5121
|
select PPC_MPC5121
|
||||||
help
|
help
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config PPC_MPC52xx
|
config PPC_MPC52xx
|
||||||
bool "52xx-based boards"
|
bool "52xx-based boards"
|
||||||
depends on PPC_MULTIPLATFORM && PPC32
|
depends on 6xx
|
||||||
select PPC_CLOCK
|
select PPC_CLOCK
|
||||||
select PPC_PCI_CHOICE
|
select PPC_PCI_CHOICE
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
menuconfig PPC_82xx
|
menuconfig PPC_82xx
|
||||||
bool "82xx-based boards (PQ II)"
|
bool "82xx-based boards (PQ II)"
|
||||||
depends on 6xx && PPC_MULTIPLATFORM
|
depends on 6xx
|
||||||
|
|
||||||
if PPC_82xx
|
if PPC_82xx
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
menuconfig PPC_83xx
|
menuconfig PPC_83xx
|
||||||
bool "83xx-based boards"
|
bool "83xx-based boards"
|
||||||
depends on 6xx && PPC_MULTIPLATFORM
|
depends on 6xx
|
||||||
select PPC_UDBG_16550
|
select PPC_UDBG_16550
|
||||||
select PPC_PCI_CHOICE
|
select PPC_PCI_CHOICE
|
||||||
select FSL_PCI if PCI
|
select FSL_PCI if PCI
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
config PPC_86xx
|
config PPC_86xx
|
||||||
menuconfig PPC_86xx
|
menuconfig PPC_86xx
|
||||||
bool "86xx-based boards"
|
bool "86xx-based boards"
|
||||||
depends on 6xx && PPC_MULTIPLATFORM
|
depends on 6xx
|
||||||
select FSL_SOC
|
select FSL_SOC
|
||||||
select ALTIVEC
|
select ALTIVEC
|
||||||
help
|
help
|
||||||
|
|
|
@ -1,14 +1,5 @@
|
||||||
menu "Platform support"
|
menu "Platform support"
|
||||||
|
|
||||||
config PPC_MULTIPLATFORM
|
|
||||||
bool
|
|
||||||
depends on PPC64 || 6xx
|
|
||||||
default y
|
|
||||||
|
|
||||||
config CLASSIC32
|
|
||||||
def_bool y
|
|
||||||
depends on 6xx && PPC_MULTIPLATFORM
|
|
||||||
|
|
||||||
source "arch/powerpc/platforms/pseries/Kconfig"
|
source "arch/powerpc/platforms/pseries/Kconfig"
|
||||||
source "arch/powerpc/platforms/iseries/Kconfig"
|
source "arch/powerpc/platforms/iseries/Kconfig"
|
||||||
source "arch/powerpc/platforms/chrp/Kconfig"
|
source "arch/powerpc/platforms/chrp/Kconfig"
|
||||||
|
@ -32,12 +23,24 @@ source "arch/powerpc/platforms/amigaone/Kconfig"
|
||||||
|
|
||||||
config PPC_NATIVE
|
config PPC_NATIVE
|
||||||
bool
|
bool
|
||||||
depends on PPC_MULTIPLATFORM
|
depends on 6xx || PPC64
|
||||||
help
|
help
|
||||||
Support for running natively on the hardware, i.e. without
|
Support for running natively on the hardware, i.e. without
|
||||||
a hypervisor. This option is not user-selectable but should
|
a hypervisor. This option is not user-selectable but should
|
||||||
be selected by all platforms that need it.
|
be selected by all platforms that need it.
|
||||||
|
|
||||||
|
config PPC_OF_BOOT_TRAMPOLINE
|
||||||
|
bool "Support booting from Open Firmware or yaboot"
|
||||||
|
depends on 6xx || PPC64
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Support from booting from Open Firmware or yaboot using an
|
||||||
|
Open Firmware client interface. This enables the kernel to
|
||||||
|
communicate with open firmware to retrieve system informations
|
||||||
|
such as the device tree.
|
||||||
|
|
||||||
|
In case of doubt, say Y
|
||||||
|
|
||||||
config UDBG_RTAS_CONSOLE
|
config UDBG_RTAS_CONSOLE
|
||||||
bool "RTAS based debug console"
|
bool "RTAS based debug console"
|
||||||
depends on PPC_RTAS
|
depends on PPC_RTAS
|
||||||
|
@ -71,7 +74,7 @@ config PPC_I8259
|
||||||
|
|
||||||
config U3_DART
|
config U3_DART
|
||||||
bool
|
bool
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config PPC_RTAS
|
config PPC_RTAS
|
||||||
|
@ -188,7 +191,7 @@ config PPC601_SYNC_FIX
|
||||||
|
|
||||||
config TAU
|
config TAU
|
||||||
bool "On-chip CPU temperature sensor support"
|
bool "On-chip CPU temperature sensor support"
|
||||||
depends on CLASSIC32
|
depends on 6xx
|
||||||
help
|
help
|
||||||
G3 and G4 processors have an on-chip temperature sensor called the
|
G3 and G4 processors have an on-chip temperature sensor called the
|
||||||
'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
|
'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
|
||||||
|
|
|
@ -57,9 +57,17 @@ config E200
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
# Until we have a choice of exclusive CPU types on 64-bit, we always
|
||||||
|
# use PPC_BOOK3S. On 32-bit, this is equivalent to 6xx which is
|
||||||
|
# "classic" MMU
|
||||||
|
|
||||||
|
config PPC_BOOK3S
|
||||||
|
def_bool y
|
||||||
|
depends on PPC64 || 6xx
|
||||||
|
|
||||||
config POWER4_ONLY
|
config POWER4_ONLY
|
||||||
bool "Optimize for POWER4"
|
bool "Optimize for POWER4"
|
||||||
depends on PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
|
Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
|
||||||
|
@ -68,16 +76,16 @@ config POWER4_ONLY
|
||||||
|
|
||||||
config POWER3
|
config POWER3
|
||||||
bool
|
bool
|
||||||
depends on PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
default y if !POWER4_ONLY
|
default y if !POWER4_ONLY
|
||||||
|
|
||||||
config POWER4
|
config POWER4
|
||||||
depends on PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
||||||
config TUNE_CELL
|
config TUNE_CELL
|
||||||
bool "Optimize for Cell Broadband Engine"
|
bool "Optimize for Cell Broadband Engine"
|
||||||
depends on PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
help
|
help
|
||||||
Cause the compiler to optimize for the PPE of the Cell Broadband
|
Cause the compiler to optimize for the PPE of the Cell Broadband
|
||||||
Engine. This will make the code run considerably faster on Cell
|
Engine. This will make the code run considerably faster on Cell
|
||||||
|
@ -147,7 +155,7 @@ config PHYS_64BIT
|
||||||
|
|
||||||
config ALTIVEC
|
config ALTIVEC
|
||||||
bool "AltiVec Support"
|
bool "AltiVec Support"
|
||||||
depends on CLASSIC32 || POWER4
|
depends on 6xx || POWER4
|
||||||
---help---
|
---help---
|
||||||
This option enables kernel support for the Altivec extensions to the
|
This option enables kernel support for the Altivec extensions to the
|
||||||
PowerPC processor. The kernel currently supports saving and restoring
|
PowerPC processor. The kernel currently supports saving and restoring
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config AMIGAONE
|
config AMIGAONE
|
||||||
bool "Eyetech AmigaOne/MAI Teron"
|
bool "Eyetech AmigaOne/MAI Teron"
|
||||||
depends on PPC32 && BROKEN_ON_SMP && PPC_MULTIPLATFORM
|
depends on 6xx && BROKEN_ON_SMP
|
||||||
select PPC_I8259
|
select PPC_I8259
|
||||||
select PPC_INDIRECT_PCI
|
select PPC_INDIRECT_PCI
|
||||||
select PPC_UDBG_16550
|
select PPC_UDBG_16550
|
||||||
|
|
|
@ -23,7 +23,7 @@ config PPC_CELL_NATIVE
|
||||||
|
|
||||||
config PPC_IBM_CELL_BLADE
|
config PPC_IBM_CELL_BLADE
|
||||||
bool "IBM Cell Blade"
|
bool "IBM Cell Blade"
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
select PPC_CELL_NATIVE
|
select PPC_CELL_NATIVE
|
||||||
select MMIO_NVRAM
|
select MMIO_NVRAM
|
||||||
select PPC_UDBG_16550
|
select PPC_UDBG_16550
|
||||||
|
@ -31,7 +31,7 @@ config PPC_IBM_CELL_BLADE
|
||||||
|
|
||||||
config PPC_CELLEB
|
config PPC_CELLEB
|
||||||
bool "Toshiba's Cell Reference Set 'Celleb' Architecture"
|
bool "Toshiba's Cell Reference Set 'Celleb' Architecture"
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
select PPC_CELL_NATIVE
|
select PPC_CELL_NATIVE
|
||||||
select HAS_TXX9_SERIAL
|
select HAS_TXX9_SERIAL
|
||||||
select PPC_UDBG_BEAT
|
select PPC_UDBG_BEAT
|
||||||
|
@ -40,7 +40,7 @@ config PPC_CELLEB
|
||||||
|
|
||||||
config PPC_CELL_QPACE
|
config PPC_CELL_QPACE
|
||||||
bool "IBM Cell - QPACE"
|
bool "IBM Cell - QPACE"
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
select PPC_CELL_COMMON
|
select PPC_CELL_COMMON
|
||||||
|
|
||||||
config AXON_MSI
|
config AXON_MSI
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config PPC_CHRP
|
config PPC_CHRP
|
||||||
bool "Common Hardware Reference Platform (CHRP) based machines"
|
bool "Common Hardware Reference Platform (CHRP) based machines"
|
||||||
depends on PPC_MULTIPLATFORM && PPC32
|
depends on 6xx
|
||||||
select MPIC
|
select MPIC
|
||||||
select PPC_I8259
|
select PPC_I8259
|
||||||
select PPC_INDIRECT_PCI
|
select PPC_INDIRECT_PCI
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config EMBEDDED6xx
|
config EMBEDDED6xx
|
||||||
bool "Embedded 6xx/7xx/7xxx-based boards"
|
bool "Embedded 6xx/7xx/7xxx-based boards"
|
||||||
depends on PPC32 && BROKEN_ON_SMP && PPC_MULTIPLATFORM
|
depends on 6xx && BROKEN_ON_SMP
|
||||||
|
|
||||||
config LINKSTATION
|
config LINKSTATION
|
||||||
bool "Linkstation / Kurobox(HG) from Buffalo"
|
bool "Linkstation / Kurobox(HG) from Buffalo"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config PPC_ISERIES
|
config PPC_ISERIES
|
||||||
bool "IBM Legacy iSeries"
|
bool "IBM Legacy iSeries"
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
select PPC_INDIRECT_IO
|
select PPC_INDIRECT_IO
|
||||||
select PPC_PCI_CHOICE if EMBEDDED
|
select PPC_PCI_CHOICE if EMBEDDED
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
config PPC_MAPLE
|
config PPC_MAPLE
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
bool "Maple 970FX Evaluation Board"
|
bool "Maple 970FX Evaluation Board"
|
||||||
select PCI
|
select PCI
|
||||||
select MPIC
|
select MPIC
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
config PPC_PASEMI
|
config PPC_PASEMI
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
bool "PA Semi SoC-based platforms"
|
bool "PA Semi SoC-based platforms"
|
||||||
default n
|
default n
|
||||||
select MPIC
|
select MPIC
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config PPC_PMAC
|
config PPC_PMAC
|
||||||
bool "Apple PowerMac based machines"
|
bool "Apple PowerMac based machines"
|
||||||
depends on PPC_MULTIPLATFORM
|
depends on PPC_BOOK3S
|
||||||
select MPIC
|
select MPIC
|
||||||
select PCI
|
select PCI
|
||||||
select PPC_INDIRECT_PCI if PPC32
|
select PPC_INDIRECT_PCI if PPC32
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config PPC_PREP
|
config PPC_PREP
|
||||||
bool "PowerPC Reference Platform (PReP) based machines"
|
bool "PowerPC Reference Platform (PReP) based machines"
|
||||||
depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
|
depends on 6xx && BROKEN
|
||||||
select MPIC
|
select MPIC
|
||||||
select PPC_I8259
|
select PPC_I8259
|
||||||
select PPC_INDIRECT_PCI
|
select PPC_INDIRECT_PCI
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config PPC_PS3
|
config PPC_PS3
|
||||||
bool "Sony PS3"
|
bool "Sony PS3"
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
select PPC_CELL
|
select PPC_CELL
|
||||||
select USB_ARCH_HAS_OHCI
|
select USB_ARCH_HAS_OHCI
|
||||||
select USB_OHCI_LITTLE_ENDIAN
|
select USB_OHCI_LITTLE_ENDIAN
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
config PPC_PSERIES
|
config PPC_PSERIES
|
||||||
depends on PPC_MULTIPLATFORM && PPC64
|
depends on PPC64 && PPC_BOOK3S
|
||||||
bool "IBM pSeries & new (POWER5-based) iSeries"
|
bool "IBM pSeries & new (POWER5-based) iSeries"
|
||||||
select MPIC
|
select MPIC
|
||||||
select PPC_I8259
|
select PPC_I8259
|
||||||
|
|
Loading…
Reference in New Issue