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:
Benjamin Herrenschmidt 2009-03-10 17:53:27 +00:00
parent 9e5efaa936
commit 28794d34ec
23 changed files with 60 additions and 42 deletions

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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