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:
parent
b6254ced4d
commit
7d68c89169
2 changed files with 13 additions and 2 deletions
|
@ -394,6 +394,7 @@ Alignment:
|
||||||
. = 0x800
|
. = 0x800
|
||||||
DO_KVM 0x800
|
DO_KVM 0x800
|
||||||
FPUnavailable:
|
FPUnavailable:
|
||||||
|
#ifdef CONFIG_PPC_FPU
|
||||||
BEGIN_FTR_SECTION
|
BEGIN_FTR_SECTION
|
||||||
/*
|
/*
|
||||||
* Certain Freescale cores don't have a FPU and treat fp instructions
|
* 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
|
b fast_exception_return
|
||||||
1: addi r3,r1,STACK_FRAME_OVERHEAD
|
1: addi r3,r1,STACK_FRAME_OVERHEAD
|
||||||
EXC_XFER_LITE(0x800, kernel_fp_unavailable_exception)
|
EXC_XFER_LITE(0x800, kernel_fp_unavailable_exception)
|
||||||
|
#else
|
||||||
|
b ProgramCheck
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Decrementer */
|
/* Decrementer */
|
||||||
EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE)
|
EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE)
|
||||||
|
|
|
@ -32,7 +32,7 @@ choice
|
||||||
config PPC_BOOK3S_6xx
|
config PPC_BOOK3S_6xx
|
||||||
bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
|
bool "512x/52xx/6xx/7xx/74xx/82xx/83xx/86xx"
|
||||||
select PPC_BOOK3S_32
|
select PPC_BOOK3S_32
|
||||||
select PPC_FPU
|
imply PPC_FPU
|
||||||
select PPC_HAVE_PMU_SUPPORT
|
select PPC_HAVE_PMU_SUPPORT
|
||||||
select PPC_HAVE_KUEP
|
select PPC_HAVE_KUEP
|
||||||
select PPC_HAVE_KUAP
|
select PPC_HAVE_KUAP
|
||||||
|
@ -222,9 +222,16 @@ config PPC_FPU_REGS
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config PPC_FPU
|
config PPC_FPU
|
||||||
bool
|
bool "Support for Floating Point Unit (FPU)" if PPC_MPC832x
|
||||||
default y if PPC64
|
default y if PPC64
|
||||||
select PPC_FPU_REGS
|
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
|
config FSL_EMB_PERFMON
|
||||||
bool "Freescale Embedded Perfmon"
|
bool "Freescale Embedded Perfmon"
|
||||||
|
|
Loading…
Add table
Reference in a new issue