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:
Родитель
b6254ced4d
Коммит
7d68c89169
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
|
|
Загрузка…
Ссылка в новой задаче