Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28794d34 authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt
Browse files

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: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 9e5efaa9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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.
+1 −1
Original line number Diff line number Diff line
@@ -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
+5 −2
Original line number Diff line number Diff line
@@ -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
+5 −1
Original line number Diff line number Diff line
@@ -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
@@ -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)
Loading