linux/arch/powerpc/platforms
Christophe Leroy 446cda1b21 powerpc/32: Don't always pass -mcpu=powerpc to the compiler
Since commit 4bf4f42a2f ("powerpc/kbuild: Set default generic
machine type for 32-bit compile"), when building a 32 bits kernel
with a bi-arch version of GCC, or when building a book3s/32 kernel,
the option -mcpu=powerpc is passed to GCC at all time, relying on it
being eventually overriden by a subsequent -mcpu=xxxx.

But when building the same kernel with a 32 bits only version of GCC,
that is not done, relying on gcc being built with the expected default
CPU.

This logic has two problems. First, it is a bit fragile to rely on
whether the GCC version is bi-arch or not, because today we can have
bi-arch versions of GCC configured with a 32 bits default. Second,
there are some versions of GCC which don't support -mcpu=powerpc,
for instance for e500 SPE-only versions.

So, stop relying on this approximative logic and allow the user to
decide whether he/she wants to use the toolchain's default CPU or if
he/she wants to set one, and allow only possible CPUs based on the
selected target.

Reported-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Tested-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/d4df724691351531bf46d685d654689e5dfa0d74.1657549153.git.christophe.leroy@csgroup.eu
2022-07-27 21:36:06 +10:00
..
4xx powerpc: Fix all occurences of duplicate words 2022-07-25 12:05:15 +10:00
8xx powerpc/8xx: Use kmalloced data structure instead of global static 2022-05-11 23:06:40 +10:00
40x powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
44x powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
52xx powerpc/52xx: Mark gpt driver as not removable 2022-07-18 23:35:25 +10:00
82xx powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
83xx powerpc/32: Remove the 'nobats' kernel parameter 2022-06-29 16:59:06 +10:00
85xx powerpc/85xx: Remove FSL_85XX_CACHE_SRAM 2022-05-22 15:58:30 +10:00
86xx powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
512x powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
amigaone powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
book3s powerpc: fix typos in comments 2022-05-05 22:12:44 +10:00
cell powerpc: Remove remaining parts of oprofile 2022-07-27 21:36:05 +10:00
chrp powerpc: Fix all occurences of "the the" 2022-05-22 15:59:43 +10:00
embedded6xx powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
maple powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
microwatt powerpc/microwatt: wire up rng during setup_arch() 2022-06-18 10:19:10 +10:00
pasemi powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
powermac powerpc/powermac: Remove empty function note_scsi_host() 2022-06-26 10:29:44 +10:00
powernv powerpc: Fix all occurences of duplicate words 2022-07-25 12:05:15 +10:00
ps3 powerpc: Remove remaining parts of oprofile 2022-07-27 21:36:05 +10:00
pseries powerpc/pseries/mobility: set NMI watchdog factor during an LPM 2022-07-27 21:36:03 +10:00
fsl_uli1575.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
Kconfig powerpc: Rename PPC_NATIVE to PPC_HASH_MMU_NATIVE 2021-12-02 22:57:22 +11:00
Kconfig.cputype powerpc/32: Don't always pass -mcpu=powerpc to the compiler 2022-07-27 21:36:06 +10:00
Makefile powerpc: Add Microwatt platform 2021-06-21 21:15:26 +10:00