2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-24 14:45:12 +08:00
linux-next/arch/powerpc
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
..
boot powerpc: dts: turris1x.dts: Add CPLD reboot node 2022-07-27 21:36:03 +10:00
configs powerpc: Restore CONFIG_DEBUG_INFO in defconfigs 2022-06-29 16:58:49 +10:00
crypto powerpc: Fix all occurences of duplicate words 2022-07-25 12:05:15 +10:00
include powerpc/ppc-opcode: Define and use PPC_RAW_SETB() 2022-07-27 21:36:05 +10:00
kernel powerpc: Remove remaining parts of oprofile 2022-07-27 21:36:05 +10:00
kexec powerpc: Include asm/firmware.h in all users of firmware_has_feature() 2022-06-29 16:45:05 +10:00
kvm powerpc: Fix all occurences of duplicate words 2022-07-25 12:05:15 +10:00
lib powerpc/ppc-opcode: Define and use PPC_RAW_SETB() 2022-07-27 21:36:05 +10:00
math-emu powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
mm powerpc/32s: Fix boot failure with KASAN + SMP + JUMP_LABEL_FEATURE_CHECK_DEBUG 2022-07-27 21:36:05 +10:00
net powerpc/bpf/32: Add instructions for atomic_[cmp]xchg 2022-06-29 19:37:08 +10:00
perf powerpc/perf: Use PVR rather than oprofile field to determine CPU version 2022-07-27 21:36:05 +10:00
platforms powerpc/32: Don't always pass -mcpu=powerpc to the compiler 2022-07-27 21:36:06 +10:00
purgatory powerpc/purgatory: Omit use of bin2c 2022-07-27 21:36:03 +10:00
sysdev powerpc/fsl-pci: Fix Class Code of PCIe Root Port 2022-07-27 21:36:03 +10:00
tools powerpc/64: Add UADDR64 relocation support 2022-03-09 21:47:53 +11:00
xmon powerpc/ppc-opcode: Define and use PPC_RAW_TRAP() and PPC_RAW_TW() 2022-07-27 21:36:05 +10:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig powerpc/pci: Add config option for using all 256 PCI buses 2022-07-27 21:36:04 +10:00
Kconfig.debug powerpc: Kconfig.debug: Remove extra empty line 2022-06-29 19:43:16 +10:00
Makefile powerpc/32: Don't always pass -mcpu=powerpc to the compiler 2022-07-27 21:36:06 +10:00
Makefile.postlink