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