mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
4e63f8edfe
commit
968219fa33
@ -319,17 +319,6 @@ config PPC_TRANSACTIONAL_MEM
|
||||
---help---
|
||||
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
|
||||
def_bool PPC64
|
||||
|
||||
|
@ -1396,8 +1396,7 @@ void performance_monitor_exception(struct pt_regs *regs)
|
||||
void SoftwareEmulation(struct pt_regs *regs)
|
||||
{
|
||||
extern int do_mathemu(struct pt_regs *);
|
||||
extern int Soft_emulate_8xx(struct pt_regs *);
|
||||
#if defined(CONFIG_MATH_EMULATION) || defined(CONFIG_8XX_MINIMAL_FPEMU)
|
||||
#if defined(CONFIG_MATH_EMULATION)
|
||||
int errcode;
|
||||
#endif
|
||||
|
||||
@ -1430,23 +1429,6 @@ void SoftwareEmulation(struct pt_regs *regs)
|
||||
_exception(SIGILL, regs, ILL_ILLOPC, regs->nip);
|
||||
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
|
||||
_exception(SIGILL, regs, ILL_ILLOPC, regs->nip);
|
||||
#endif
|
||||
@ -1796,8 +1778,6 @@ struct ppc_emulated ppc_emulated = {
|
||||
WARN_EMULATED_SETUP(unaligned),
|
||||
#ifdef CONFIG_MATH_EMULATION
|
||||
WARN_EMULATED_SETUP(math),
|
||||
#elif defined(CONFIG_8XX_MINIMAL_FPEMU)
|
||||
WARN_EMULATED_SETUP(8xx),
|
||||
#endif
|
||||
#ifdef CONFIG_VSX
|
||||
WARN_EMULATED_SETUP(vsx),
|
||||
|
Loading…
Reference in New Issue
Block a user