Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 968219fa authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt
Browse files

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
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -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

+1 −21
Original line number Diff line number Diff line
@@ -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),