[OE-core] [oe-core][PATCH] binutils: fix the incorrect assembling for ppc wait instruction
Zhenhua Luo
zhenhua.luo at nxp.com
Thu Jun 16 06:04:21 UTC 2016
I will send the patch to binutils upstream.
Best Regards,
Zhenhua
> -----Original Message-----
> From: Khem Raj [mailto:raj.khem at gmail.com]
> Sent: Thursday, June 16, 2016 5:13 AM
> To: Zhenhua Luo <zhenhua.luo at nxp.com>
> Cc: Patches and discussions about the oe-core layer <openembedded-
> core at lists.openembedded.org>
> Subject: Re: [OE-core] [oe-core][PATCH] binutils: fix the incorrect assembling
> for ppc wait instruction
>
> On Sun, Jun 12, 2016 at 2:02 AM, Zhenhua Luo <zhenhua.luo at nxp.com> wrote:
> > The wait mnemonic for ppc targets is incorrectly assembled into
> > 0x7c00003c due to duplicated address definition with waitasec
> > instruction. The issue causes kernel boot calltrace for ppc targets when wait
> instruction is executed.
> >
> > Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
> > ---
> > meta/recipes-devtools/binutils/binutils-2.26.inc | 1 +
> > ...ncorrect-assembling-for-ppc-wait-mnemonic.patch | 36
> > ++++++++++++++++++++++
> > 2 files changed, 37 insertions(+)
> > create mode 100644
> > meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assembl
> > ing-for-ppc-wait-mnemonic.patch
> >
> > diff --git a/meta/recipes-devtools/binutils/binutils-2.26.inc
> > b/meta/recipes-devtools/binutils/binutils-2.26.inc
> > index 6d535fc..6d77452 100644
> > --- a/meta/recipes-devtools/binutils/binutils-2.26.inc
> > +++ b/meta/recipes-devtools/binutils/binutils-2.26.inc
> > @@ -34,6 +34,7 @@ SRC_URI = "\
> > file://0012-Add-support-for-Netlogic-XLP.patch \
> > file://0013-Fix-GOT-address-computations-in-initial-PLT-entries-.patch \
> > file://0014-Correct-nios2-_gp-address-computation.patch \
> > +
> > + file://0015-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch
> > + \
> > "
> > S = "${WORKDIR}/git"
> >
> > diff --git
> > a/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assem
> > bling-for-ppc-wait-mnemonic.patch
> > b/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-assem
> > bling-for-ppc-wait-mnemonic.patch
> > new file mode 100644
> > index 0000000..5aa5e31
> > --- /dev/null
> > +++ b/meta/recipes-devtools/binutils/binutils/0015-fix-the-incorrect-a
> > +++ ssembling-for-ppc-wait-mnemonic.patch
> > @@ -0,0 +1,36 @@
> > +From 78decbeb84fb60db4e549ad3e8eb34e030e96d39 Mon Sep 17 00:00:00
> > +2001
> > +From: Zhenhua Luo <zhenhua.luo at nxp.com>
> > +Date: Sat, 11 Jun 2016 22:08:29 -0500
> > +Subject: [PATCH] fix the incorrect assembling for ppc wait mnemonic
> > +
> > +Signed-off-by: Zhenhua Luo <zhenhua.luo at nxp.com>
> > +
> > +Upstream-Status: Pending
> > +---
> > + opcodes/ppc-opc.c | 3 +--
> > + 1 file changed, 1 insertion(+), 2 deletions(-)
> > +
> > +diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index
> > +e8c92f6..a9de474 100644
> > +--- a/opcodes/ppc-opc.c
> > ++++ b/opcodes/ppc-opc.c
> > +@@ -4777,7 +4777,6 @@ const struct powerpc_opcode powerpc_opcodes[]
> = {
> > + {"ldepx", X(31,29), X_MASK, E500MC|PPCA2|PPCVLE, PPCNONE,
> {RT, RA0, RB}},
> > +
> > + {"waitasec", X(31,30), XRTRARB_MASK,POWER8, POWER9, {0}},
> > +-{"wait", X(31,30), XWC_MASK, POWER9, PPCNONE, {WC}},
> > +
> > + {"lwepx", X(31,31), X_MASK, E500MC|PPCA2|PPCVLE, PPCNONE,
> {RT, RA0, RB}},
> > +
> > +@@ -4831,7 +4830,7 @@ const struct powerpc_opcode powerpc_opcodes[]
> =
> > +{
> > +
> > + {"waitrsv", X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, PPCNONE, {0}},
> > + {"waitimpl", X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, PPCNONE, {0}},
> > +-{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|PPCVLE, PPCNONE,
> {WC}},
> > ++{"wait", X(31,62), XWC_MASK, E500MC|PPCA2|PPCVLE|POWER9,
> PPCNONE, {WC}},
>
> please submit it to binutils upstream too.
>
> > +
> > + {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC|PPCA2|PPCVLE,
> PPCNONE, {RA0, RB}},
> > +
> > +--
> > +2.5.0
> > +
> > --
> > 2.4.11
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list