powerpc/8xx: Remove 8xx specific "minimal FPU emulation"

This is duplicated code from math-emu and implements such a small
subset of the FPU (load/stores/fmr) that it's essentially pointless
nowdays.
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 4e63f8ed
...@@ -319,17 +319,6 @@ config PPC_TRANSACTIONAL_MEM ...@@ -319,17 +319,6 @@ config PPC_TRANSACTIONAL_MEM
---help--- ---help---
Support user-mode Transactional Memory on POWERPC. Support user-mode Transactional Memory on POWERPC.
config 8XX_MINIMAL_FPEMU
bool "Minimal math emulation for 8xx"
depends on 8xx && !MATH_EMULATION
help
Older arch/ppc kernels still emulated a few floating point
instructions such as load and store, even when full math
emulation is disabled. Say "Y" here if you want to preserve
this behavior.
It is recommended that you build a soft-float userspace instead.
config IOMMU_HELPER config IOMMU_HELPER
def_bool PPC64 def_bool PPC64
......
...@@ -1396,8 +1396,7 @@ void performance_monitor_exception(struct pt_regs *regs) ...@@ -1396,8 +1396,7 @@ void performance_monitor_exception(struct pt_regs *regs)
void SoftwareEmulation(struct pt_regs *regs) void SoftwareEmulation(struct pt_regs *regs)
{ {
extern int do_mathemu(struct pt_regs *); extern int do_mathemu(struct pt_regs *);
extern int Soft_emulate_8xx(struct pt_regs *); #if defined(CONFIG_MATH_EMULATION)
#if defined(CONFIG_MATH_EMULATION) || defined(CONFIG_8XX_MINIMAL_FPEMU)
int errcode; int errcode;
#endif #endif
...@@ -1430,23 +1429,6 @@ void SoftwareEmulation(struct pt_regs *regs) ...@@ -1430,23 +1429,6 @@ void SoftwareEmulation(struct pt_regs *regs)
_exception(SIGILL, regs, ILL_ILLOPC, regs->nip); _exception(SIGILL, regs, ILL_ILLOPC, regs->nip);
return; return;
} }
#elif defined(CONFIG_8XX_MINIMAL_FPEMU)
errcode = Soft_emulate_8xx(regs);
if (errcode >= 0)
PPC_WARN_EMULATED(8xx, regs);
switch (errcode) {
case 0:
emulate_single_step(regs);
return;
case 1:
_exception(SIGILL, regs, ILL_ILLOPC, regs->nip);
return;
case -EFAULT:
_exception(SIGSEGV, regs, SEGV_MAPERR, regs->nip);
return;
}
#else #else
_exception(SIGILL, regs, ILL_ILLOPC, regs->nip); _exception(SIGILL, regs, ILL_ILLOPC, regs->nip);
#endif #endif
...@@ -1796,8 +1778,6 @@ struct ppc_emulated ppc_emulated = { ...@@ -1796,8 +1778,6 @@ struct ppc_emulated ppc_emulated = {
WARN_EMULATED_SETUP(unaligned), WARN_EMULATED_SETUP(unaligned),
#ifdef CONFIG_MATH_EMULATION #ifdef CONFIG_MATH_EMULATION
WARN_EMULATED_SETUP(math), WARN_EMULATED_SETUP(math),
#elif defined(CONFIG_8XX_MINIMAL_FPEMU)
WARN_EMULATED_SETUP(8xx),
#endif #endif
#ifdef CONFIG_VSX #ifdef CONFIG_VSX
WARN_EMULATED_SETUP(vsx), WARN_EMULATED_SETUP(vsx),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment