Skip to content

Commit

Permalink
powerpc/kconfig: Kill PPC_MULTIPLATFORM
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Benjamin Herrenschmidt committed Mar 11, 2009
1 parent 9e5efaa commit 28794d3
Show file tree
Hide file tree
Showing 23 changed files with 60 additions and 42 deletions.
2 changes: 1 addition & 1 deletion arch/powerpc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE

config KEXEC
bool "kexec system call (EXPERIMENTAL)"
depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL
depends on BOOK3S && EXPERIMENTAL
help
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ config BDI_SWITCH

config BOOTX_TEXT
bool "Support for early boot text console (BootX or OpenFirmware only)"
depends on PPC_OF && PPC_MULTIPLATFORM
depends on PPC_OF && PPC_BOOK3S
help
Say Y here to see progress messages from the boot firmware in text
mode. Requires either BootX or Open Firmware.
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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_PPC64) += dma-iommu.o iommu.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_BOOTX_TEXT) += btext.o
obj-$(CONFIG_SMP) += smp.o
Expand Down
7 changes: 5 additions & 2 deletions arch/powerpc/kernel/head_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -108,18 +108,21 @@ __start:
* because OF may have I/O devices mapped into that area
* (particularly on CHRP).
*/
#ifdef CONFIG_PPC_MULTIPLATFORM
cmpwi 0,r5,0
beq 1f

#ifdef CONFIG_PPC_OF_BOOT_TRAMPOLINE
/* find out where we are now */
bcl 20,31,$+4
0: mflr r8 /* r8 = runtime addr here */
addis r8,r8,(_stext - 0b)@ha
addi r8,r8,(_stext - 0b)@l /* current runtime base addr */
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
#endif

/*
* Check for BootX signature when supporting PowerMac and branch to
Expand Down
6 changes: 5 additions & 1 deletion arch/powerpc/kernel/head_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -1360,6 +1360,7 @@ _GLOBAL(__start_initialization_multiplatform)
b .__after_prom_start

_INIT_STATIC(__boot_from_prom)
#ifdef CONFIG_PPC_OF_BOOT_TRAMPOLINE
/* Save parameters */
mr r31,r3
mr r30,r4
Expand Down Expand Up @@ -1390,7 +1391,10 @@ _INIT_STATIC(__boot_from_prom)
/* Do all of the interaction with OF client interface */
mr r8,r26
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

_STATIC(__after_prom_start)
Expand Down
4 changes: 2 additions & 2 deletions arch/powerpc/platforms/512x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ config PPC_MPC5121

config MPC5121_ADS
bool "Freescale MPC5121E ADS"
depends on PPC_MULTIPLATFORM && PPC32
depends on 6xx
select DEFAULT_UIMAGE
select PPC_MPC5121
select MPC5121_ADS_CPLD
Expand All @@ -21,7 +21,7 @@ config MPC5121_ADS

config MPC5121_GENERIC
bool "Generic support for simple MPC5121 based boards"
depends on PPC_MULTIPLATFORM && PPC32
depends on 6xx
select DEFAULT_UIMAGE
select PPC_MPC5121
help
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/52xx/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config PPC_MPC52xx
bool "52xx-based boards"
depends on PPC_MULTIPLATFORM && PPC32
depends on 6xx
select PPC_CLOCK
select PPC_PCI_CHOICE

Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/82xx/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
menuconfig PPC_82xx
bool "82xx-based boards (PQ II)"
depends on 6xx && PPC_MULTIPLATFORM
depends on 6xx

if PPC_82xx

Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/83xx/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
menuconfig PPC_83xx
bool "83xx-based boards"
depends on 6xx && PPC_MULTIPLATFORM
depends on 6xx
select PPC_UDBG_16550
select PPC_PCI_CHOICE
select FSL_PCI if PCI
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/86xx/Kconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
config PPC_86xx
menuconfig PPC_86xx
bool "86xx-based boards"
depends on 6xx && PPC_MULTIPLATFORM
depends on 6xx
select FSL_SOC
select ALTIVEC
help
Expand Down
27 changes: 15 additions & 12 deletions arch/powerpc/platforms/Kconfig
Original file line number Diff line number Diff line change
@@ -1,14 +1,5 @@
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/iseries/Kconfig"
source "arch/powerpc/platforms/chrp/Kconfig"
Expand All @@ -32,12 +23,24 @@ source "arch/powerpc/platforms/amigaone/Kconfig"

config PPC_NATIVE
bool
depends on PPC_MULTIPLATFORM
depends on 6xx || PPC64
help
Support for running natively on the hardware, i.e. without
a hypervisor. This option is not user-selectable but should
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
bool "RTAS based debug console"
depends on PPC_RTAS
Expand Down Expand Up @@ -71,7 +74,7 @@ config PPC_I8259

config U3_DART
bool
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64
default n

config PPC_RTAS
Expand Down Expand Up @@ -188,7 +191,7 @@ config PPC601_SYNC_FIX

config TAU
bool "On-chip CPU temperature sensor support"
depends on CLASSIC32
depends on 6xx
help
G3 and G4 processors have an on-chip temperature sensor called the
'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
Expand Down
18 changes: 13 additions & 5 deletions arch/powerpc/platforms/Kconfig.cputype
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,17 @@ config E200

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
bool "Optimize for POWER4"
depends on PPC64
depends on PPC64 && PPC_BOOK3S
default n
---help---
Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
Expand All @@ -68,16 +76,16 @@ config POWER4_ONLY

config POWER3
bool
depends on PPC64
depends on PPC64 && PPC_BOOK3S
default y if !POWER4_ONLY

config POWER4
depends on PPC64
depends on PPC64 && PPC_BOOK3S
def_bool y

config TUNE_CELL
bool "Optimize for Cell Broadband Engine"
depends on PPC64
depends on PPC64 && PPC_BOOK3S
help
Cause the compiler to optimize for the PPE of the Cell Broadband
Engine. This will make the code run considerably faster on Cell
Expand Down Expand Up @@ -147,7 +155,7 @@ config PHYS_64BIT

config ALTIVEC
bool "AltiVec Support"
depends on CLASSIC32 || POWER4
depends on 6xx || POWER4
---help---
This option enables kernel support for the Altivec extensions to the
PowerPC processor. The kernel currently supports saving and restoring
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/amigaone/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config AMIGAONE
bool "Eyetech AmigaOne/MAI Teron"
depends on PPC32 && BROKEN_ON_SMP && PPC_MULTIPLATFORM
depends on 6xx && BROKEN_ON_SMP
select PPC_I8259
select PPC_INDIRECT_PCI
select PPC_UDBG_16550
Expand Down
6 changes: 3 additions & 3 deletions arch/powerpc/platforms/cell/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@ config PPC_CELL_NATIVE

config PPC_IBM_CELL_BLADE
bool "IBM Cell Blade"
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
select PPC_CELL_NATIVE
select MMIO_NVRAM
select PPC_UDBG_16550
select UDBG_RTAS_CONSOLE

config PPC_CELLEB
bool "Toshiba's Cell Reference Set 'Celleb' Architecture"
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
select PPC_CELL_NATIVE
select HAS_TXX9_SERIAL
select PPC_UDBG_BEAT
Expand All @@ -40,7 +40,7 @@ config PPC_CELLEB

config PPC_CELL_QPACE
bool "IBM Cell - QPACE"
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
select PPC_CELL_COMMON

config AXON_MSI
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/chrp/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config PPC_CHRP
bool "Common Hardware Reference Platform (CHRP) based machines"
depends on PPC_MULTIPLATFORM && PPC32
depends on 6xx
select MPIC
select PPC_I8259
select PPC_INDIRECT_PCI
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/embedded6xx/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config EMBEDDED6xx
bool "Embedded 6xx/7xx/7xxx-based boards"
depends on PPC32 && BROKEN_ON_SMP && PPC_MULTIPLATFORM
depends on 6xx && BROKEN_ON_SMP

config LINKSTATION
bool "Linkstation / Kurobox(HG) from Buffalo"
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/iseries/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config PPC_ISERIES
bool "IBM Legacy iSeries"
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
select PPC_INDIRECT_IO
select PPC_PCI_CHOICE if EMBEDDED

Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/maple/Kconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
config PPC_MAPLE
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
bool "Maple 970FX Evaluation Board"
select PCI
select MPIC
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/pasemi/Kconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
config PPC_PASEMI
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
bool "PA Semi SoC-based platforms"
default n
select MPIC
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/powermac/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config PPC_PMAC
bool "Apple PowerMac based machines"
depends on PPC_MULTIPLATFORM
depends on PPC_BOOK3S
select MPIC
select PCI
select PPC_INDIRECT_PCI if PPC32
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/prep/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config PPC_PREP
bool "PowerPC Reference Platform (PReP) based machines"
depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
depends on 6xx && BROKEN
select MPIC
select PPC_I8259
select PPC_INDIRECT_PCI
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/ps3/Kconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
config PPC_PS3
bool "Sony PS3"
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
select PPC_CELL
select USB_ARCH_HAS_OHCI
select USB_OHCI_LITTLE_ENDIAN
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/pseries/Kconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
config PPC_PSERIES
depends on PPC_MULTIPLATFORM && PPC64
depends on PPC64 && PPC_BOOK3S
bool "IBM pSeries & new (POWER5-based) iSeries"
select MPIC
select PPC_I8259
Expand Down

0 comments on commit 28794d3

Please sign in to comment.