powerpc/32s: Allow deselecting CONFIG_PPC_FPU on mpc832x

The e300c2 core which is embedded in mpc832x CPU doesn't have
an FPU.

Make it possible to not select CONFIG_PPC_FPU when building a
kernel dedicated to that target.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/fcdc60d85baf80eaa0a7f3261d9d889282068216.1597770847.git.christophe.leroy@csgroup.eu
This commit is contained in:
Christophe Leroy 2020-08-18 17:19:18 +00:00 committed by Michael Ellerman
parent b6254ced4d
commit 7d68c89169
2 changed files with 13 additions and 2 deletions

View File

@ -394,6 +394,7 @@ Alignment:
. = 0x800
DO_KVM 0x800
FPUnavailable:
#ifdef CONFIG_PPC_FPU
BEGIN_FTR_SECTION
/*
* Certain Freescale cores don't have a FPU and treat fp instructions
@ -407,6 +408,9 @@ END_FTR_SECTION_IFSET(CPU_FTR_FPU_UNAVAILABLE)
b fast_exception_return
1: addi r3,r1,STACK_FRAME_OVERHEAD
EXC_XFER_LITE(0x800, kernel_fp_unavailable_exception)
#else
b ProgramCheck
#endif
/* Decrementer */
EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE)

View File

@ -32,7 +32,7 @@ choice
config PPC_BOOK3S_6xx
bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
select PPC_BOOK3S_32
select PPC_FPU
imply PPC_FPU
select PPC_HAVE_PMU_SUPPORT
select PPC_HAVE_KUEP
select PPC_HAVE_KUAP
@ -222,9 +222,16 @@ config PPC_FPU_REGS
bool
config PPC_FPU
bool
bool "Support for Floating Point Unit (FPU)" if PPC_MPC832x
default y if PPC64
select PPC_FPU_REGS
help
This must be enabled to support the Floating Point Unit
Most 6xx have an FPU but e300c2 core (mpc832x) don't have
an FPU, so when building an embedded kernel for that target
you can disable FPU support.
If unsure say Y.
config FSL_EMB_PERFMON
bool "Freescale Embedded Perfmon"