linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] powerpc/math-emu: two minor cleanup patches for math.c
@ 2013-07-10 11:34 Kevin Hao
  2013-07-10 11:34 ` [PATCH v2 1/2] powerpc/math-emu: remove the dead code in math.c Kevin Hao
  2013-07-10 11:34 ` [PATCH v2 2/2] powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION " Kevin Hao
  0 siblings, 2 replies; 3+ messages in thread
From: Kevin Hao @ 2013-07-10 11:34 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc

v2:
Update the patch 1 commit log as requested by Michael.

v1:
Just remove some dead or unneeded codes in math.c. No function change.

Kevin Hao (2):
  powerpc/math-emu: remove the dead code in math.c
  powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION
    in     math.c

 arch/powerpc/math-emu/math.c | 46 --------------------------------------------
 1 file changed, 46 deletions(-)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2 1/2] powerpc/math-emu: remove the dead code in math.c
  2013-07-10 11:34 [PATCH v2 0/2] powerpc/math-emu: two minor cleanup patches for math.c Kevin Hao
@ 2013-07-10 11:34 ` Kevin Hao
  2013-07-10 11:34 ` [PATCH v2 2/2] powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION " Kevin Hao
  1 sibling, 0 replies; 3+ messages in thread
From: Kevin Hao @ 2013-07-10 11:34 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc

The math.c is only built when CONFIG_MATH_EMULATION is enabled.
So we would never get into the case that CONFIG_MATH_EMULATION
is not defined in this file.

It seems that these codes have been there for a very long time.
Benjamin Herrenschmidt has gave a detailed background of them.
  This is ancient code that was meant to emulate only load/stores/fmr
  without the rest of the emulation. The goal was to be able to boot
  userspace that was compiled without -msoft-float to *some* extent
  (bcs it would potentially use fp load/stores for things like memcpy)
  on small CPUs where the kernel footprint was critical.

  It's been obsolete for a while now.

Signed-off-by: Kevin Hao <haokexin@gmail.com>
---
v2: Update the commit log as requested by Michael.

 arch/powerpc/math-emu/math.c | 42 ------------------------------------------
 1 file changed, 42 deletions(-)

diff --git a/arch/powerpc/math-emu/math.c b/arch/powerpc/math-emu/math.c
index 0328e66..cefb4f2 100644
--- a/arch/powerpc/math-emu/math.c
+++ b/arch/powerpc/math-emu/math.c
@@ -231,47 +231,6 @@ do_mathemu(struct pt_regs *regs)
 	if (get_user(insn, (u32 *)pc))
 		return -EFAULT;
 
-#ifndef CONFIG_MATH_EMULATION
-	switch (insn >> 26) {
-	case LFD:
-		idx = (insn >> 16) & 0x1f;
-		sdisp = (insn & 0xffff);
-		op0 = (void *)&current->thread.TS_FPR((insn >> 21) & 0x1f);
-		op1 = (void *)((idx ? regs->gpr[idx] : 0) + sdisp);
-		lfd(op0, op1, op2, op3);
-		break;
-	case LFDU:
-		idx = (insn >> 16) & 0x1f;
-		sdisp = (insn & 0xffff);
-		op0 = (void *)&current->thread.TS_FPR((insn >> 21) & 0x1f);
-		op1 = (void *)((idx ? regs->gpr[idx] : 0) + sdisp);
-		lfd(op0, op1, op2, op3);
-		regs->gpr[idx] = (unsigned long)op1;
-		break;
-	case STFD:
-		idx = (insn >> 16) & 0x1f;
-		sdisp = (insn & 0xffff);
-		op0 = (void *)&current->thread.TS_FPR((insn >> 21) & 0x1f);
-		op1 = (void *)((idx ? regs->gpr[idx] : 0) + sdisp);
-		stfd(op0, op1, op2, op3);
-		break;
-	case STFDU:
-		idx = (insn >> 16) & 0x1f;
-		sdisp = (insn & 0xffff);
-		op0 = (void *)&current->thread.TS_FPR((insn >> 21) & 0x1f);
-		op1 = (void *)((idx ? regs->gpr[idx] : 0) + sdisp);
-		stfd(op0, op1, op2, op3);
-		regs->gpr[idx] = (unsigned long)op1;
-		break;
-	case OP63:
-		op0 = (void *)&current->thread.TS_FPR((insn >> 21) & 0x1f);
-		op1 = (void *)&current->thread.TS_FPR((insn >> 11) & 0x1f);
-		fmr(op0, op1, op2, op3);
-		break;
-	default:
-		goto illegal;
-	}
-#else /* CONFIG_MATH_EMULATION */
 	switch (insn >> 26) {
 	case LFS:	func = lfs;	type = D;	break;
 	case LFSU:	func = lfs;	type = DU;	break;
@@ -485,7 +444,6 @@ do_mathemu(struct pt_regs *regs)
 	default:
 		break;
 	}
-#endif /* CONFIG_MATH_EMULATION */
 
 	regs->nip += 4;
 	return 0;
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2 2/2] powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION in math.c
  2013-07-10 11:34 [PATCH v2 0/2] powerpc/math-emu: two minor cleanup patches for math.c Kevin Hao
  2013-07-10 11:34 ` [PATCH v2 1/2] powerpc/math-emu: remove the dead code in math.c Kevin Hao
@ 2013-07-10 11:34 ` Kevin Hao
  1 sibling, 0 replies; 3+ messages in thread
From: Kevin Hao @ 2013-07-10 11:34 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc

The math.c is only built when CONFIG_MATH_EMULATION is enabled.
So the #ifdef check for CONFIG_MATH_EMULATION in it seems redundant.
Drop all of them.

Signed-off-by: Kevin Hao <haokexin@gmail.com>
---
v2: No change.

 arch/powerpc/math-emu/math.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/arch/powerpc/math-emu/math.c b/arch/powerpc/math-emu/math.c
index cefb4f2..3fe8e35 100644
--- a/arch/powerpc/math-emu/math.c
+++ b/arch/powerpc/math-emu/math.c
@@ -154,7 +154,6 @@ FLOATFUNC(fsqrts);
 #define XEU	15
 #define XFLB	10
 
-#ifdef CONFIG_MATH_EMULATION
 static int
 record_exception(struct pt_regs *regs, int eflag)
 {
@@ -212,7 +211,6 @@ record_exception(struct pt_regs *regs, int eflag)
 
 	return (fpscr & FPSCR_FEX) ? 1 : 0;
 }
-#endif /* CONFIG_MATH_EMULATION */
 
 int
 do_mathemu(struct pt_regs *regs)
@@ -222,11 +220,9 @@ do_mathemu(struct pt_regs *regs)
 	signed short sdisp;
 	u32 insn = 0;
 	int idx = 0;
-#ifdef CONFIG_MATH_EMULATION
 	int (*func)(void *, void *, void *, void *);
 	int type = 0;
 	int eflag, trap;
-#endif
 
 	if (get_user(insn, (u32 *)pc))
 		return -EFAULT;
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-07-10 11:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-10 11:34 [PATCH v2 0/2] powerpc/math-emu: two minor cleanup patches for math.c Kevin Hao
2013-07-10 11:34 ` [PATCH v2 1/2] powerpc/math-emu: remove the dead code in math.c Kevin Hao
2013-07-10 11:34 ` [PATCH v2 2/2] powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION " Kevin Hao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).