* [PATCH 0/2] powerpc/math-emu: two minor cleanup patches for math.c
@ 2013-07-10 1:43 Kevin Hao
2013-07-10 1:43 ` [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c Kevin Hao
2013-07-10 1:43 ` [PATCH 2/2] powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION " Kevin Hao
0 siblings, 2 replies; 8+ messages in thread
From: Kevin Hao @ 2013-07-10 1:43 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc
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] 8+ messages in thread
* [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c
2013-07-10 1:43 [PATCH 0/2] powerpc/math-emu: two minor cleanup patches for math.c Kevin Hao
@ 2013-07-10 1:43 ` Kevin Hao
2013-07-10 2:01 ` Michael Ellerman
2013-07-10 1:43 ` [PATCH 2/2] powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION " Kevin Hao
1 sibling, 1 reply; 8+ messages in thread
From: Kevin Hao @ 2013-07-10 1:43 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.
Signed-off-by: Kevin Hao <haokexin@gmail.com>
---
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 *)¤t->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 *)¤t->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 *)¤t->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 *)¤t->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 *)¤t->thread.TS_FPR((insn >> 21) & 0x1f);
- op1 = (void *)¤t->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] 8+ messages in thread
* [PATCH 2/2] powerpc/math-emu: remove the unneeded check for CONFIG_MATH_EMULATION in math.c
2013-07-10 1:43 [PATCH 0/2] powerpc/math-emu: two minor cleanup patches for math.c Kevin Hao
2013-07-10 1:43 ` [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c Kevin Hao
@ 2013-07-10 1:43 ` Kevin Hao
1 sibling, 0 replies; 8+ messages in thread
From: Kevin Hao @ 2013-07-10 1:43 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>
---
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] 8+ messages in thread
* Re: [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c
2013-07-10 1:43 ` [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c Kevin Hao
@ 2013-07-10 2:01 ` Michael Ellerman
2013-07-10 2:23 ` Kevin Hao
0 siblings, 1 reply; 8+ messages in thread
From: Michael Ellerman @ 2013-07-10 2:01 UTC (permalink / raw)
To: Kevin Hao; +Cc: linuxppc
On Wed, Jul 10, 2013 at 09:43:42AM +0800, Kevin Hao wrote:
> 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.
Any idea why we have that there? ie. have the config symbols changed
over time or was this always dead code?
cheers
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c
2013-07-10 2:01 ` Michael Ellerman
@ 2013-07-10 2:23 ` Kevin Hao
2013-07-10 3:25 ` Michael Ellerman
0 siblings, 1 reply; 8+ messages in thread
From: Kevin Hao @ 2013-07-10 2:23 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc
[-- Attachment #1: Type: text/plain, Size: 626 bytes --]
On Wed, Jul 10, 2013 at 12:01:33PM +1000, Michael Ellerman wrote:
> On Wed, Jul 10, 2013 at 09:43:42AM +0800, Kevin Hao wrote:
> > 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.
>
> Any idea why we have that there? ie. have the config symbols changed
> over time or was this always dead code?
No idea. I tried to trace this before submitting the patch. But it has
been there since the begin of the git history. So I just assume that it is
always dead code. :-)
Thanks,
Kevin
>
> cheers
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c
2013-07-10 2:23 ` Kevin Hao
@ 2013-07-10 3:25 ` Michael Ellerman
2013-07-10 3:46 ` Kevin Hao
2013-07-10 3:48 ` Benjamin Herrenschmidt
0 siblings, 2 replies; 8+ messages in thread
From: Michael Ellerman @ 2013-07-10 3:25 UTC (permalink / raw)
To: Kevin Hao; +Cc: linuxppc
On Wed, Jul 10, 2013 at 10:23:07AM +0800, Kevin Hao wrote:
> On Wed, Jul 10, 2013 at 12:01:33PM +1000, Michael Ellerman wrote:
> > On Wed, Jul 10, 2013 at 09:43:42AM +0800, Kevin Hao wrote:
> > > 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.
> >
> > Any idea why we have that there? ie. have the config symbols changed
> > over time or was this always dead code?
>
> No idea. I tried to trace this before submitting the patch. But it has
> been there since the begin of the git history. So I just assume that it is
> always dead code. :-)
Yeah looks like it. Even in the git-huge tree I see it in the initial
commit.
You should say that in the commit message though. Otherwise it's not
clear if you're fixing a recent breakage or not.
cheers
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c
2013-07-10 3:25 ` Michael Ellerman
@ 2013-07-10 3:46 ` Kevin Hao
2013-07-10 3:48 ` Benjamin Herrenschmidt
1 sibling, 0 replies; 8+ messages in thread
From: Kevin Hao @ 2013-07-10 3:46 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc
[-- Attachment #1: Type: text/plain, Size: 1192 bytes --]
On Wed, Jul 10, 2013 at 01:25:33PM +1000, Michael Ellerman wrote:
> On Wed, Jul 10, 2013 at 10:23:07AM +0800, Kevin Hao wrote:
> > On Wed, Jul 10, 2013 at 12:01:33PM +1000, Michael Ellerman wrote:
> > > On Wed, Jul 10, 2013 at 09:43:42AM +0800, Kevin Hao wrote:
> > > > 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.
> > >
> > > Any idea why we have that there? ie. have the config symbols changed
> > > over time or was this always dead code?
> >
> > No idea. I tried to trace this before submitting the patch. But it has
> > been there since the begin of the git history. So I just assume that it is
> > always dead code. :-)
>
> Yeah looks like it. Even in the git-huge tree I see it in the initial
> commit.
Thanks for the confirmation.
>
> You should say that in the commit message though. Otherwise it's not
> clear if you're fixing a recent breakage or not.
Indeed. I will wait a little to see if there are any other comments. Then
respin a new version to capture such info in the commit log.
Thanks,
Kevin
>
> cheers
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c
2013-07-10 3:25 ` Michael Ellerman
2013-07-10 3:46 ` Kevin Hao
@ 2013-07-10 3:48 ` Benjamin Herrenschmidt
1 sibling, 0 replies; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2013-07-10 3:48 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc, Kevin Hao
On Wed, 2013-07-10 at 13:25 +1000, Michael Ellerman wrote:
> > > Any idea why we have that there? ie. have the config symbols changed
> > > over time or was this always dead code?
> >
> > No idea. I tried to trace this before submitting the patch. But it has
> > been there since the begin of the git history. So I just assume that it is
> > always dead code. :-)
>
> Yeah looks like it. Even in the git-huge tree I see it in the initial
> commit.
>
> You should say that in the commit message though. Otherwise it's not
> clear if you're fixing a recent breakage or not.
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.
Cheers,
Ben.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-07-10 3:49 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-10 1:43 [PATCH 0/2] powerpc/math-emu: two minor cleanup patches for math.c Kevin Hao
2013-07-10 1:43 ` [PATCH 1/2] powerpc/math-emu: remove the dead code in math.c Kevin Hao
2013-07-10 2:01 ` Michael Ellerman
2013-07-10 2:23 ` Kevin Hao
2013-07-10 3:25 ` Michael Ellerman
2013-07-10 3:46 ` Kevin Hao
2013-07-10 3:48 ` Benjamin Herrenschmidt
2013-07-10 1:43 ` [PATCH 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).