diff mbox series

powerpc/e500mc: Set assembler machine type to e500mc

Message ID 20180614152742.21075-1-mjeanson@efficios.com (mailing list archive)
State Accepted
Commit 69a8405999aa1c489de4b8d349468f0c2b83f093
Headers show
Series powerpc/e500mc: Set assembler machine type to e500mc | expand

Commit Message

Michael Jeanson June 14, 2018, 3:27 p.m. UTC
In binutils 2.26 a new opcode for the "wait" instruction was added for the
POWER9 and has precedence over the one specific to the e500mc. Commit
ebf714ff3756 ("powerpc/e500mc: Add support for the wait instruction in
e500_idle") uses this instruction specifically on the e500mc to work around
an erratum.

This results in an invalid instruction in idle_e500 when we build for the
e500mc on bintutils >= 2.26 with the default assembler machine type.

Since multiplatform between e500 and non-e500 is not supported, set the
assembler machine type globaly when CONFIG_PPC_E500MC=y.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Paul Mackerras <paulus@samba.org>
CC: Michael Ellerman <mpe@ellerman.id.au>
CC: Kumar Gala <galak@kernel.crashing.org>
CC: Vakul Garg <vakul.garg@nxp.com>
CC: Scott Wood <swood@redhat.com>
CC: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: linuxppc-dev@lists.ozlabs.org
CC: linux-kernel@vger.kernel.org
CC: stable@vger.kernel.org
---
 arch/powerpc/Makefile | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Ellerman June 19, 2018, 11:21 p.m. UTC | #1
On Thu, 2018-06-14 at 15:27:42 UTC, Michael Jeanson wrote:
> In binutils 2.26 a new opcode for the "wait" instruction was added for the
> POWER9 and has precedence over the one specific to the e500mc. Commit
> ebf714ff3756 ("powerpc/e500mc: Add support for the wait instruction in
> e500_idle") uses this instruction specifically on the e500mc to work around
> an erratum.
> 
> This results in an invalid instruction in idle_e500 when we build for the
> e500mc on bintutils >= 2.26 with the default assembler machine type.
> 
> Since multiplatform between e500 and non-e500 is not supported, set the
> assembler machine type globaly when CONFIG_PPC_E500MC=y.
> 
> Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
> Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> CC: Paul Mackerras <paulus@samba.org>
> CC: Michael Ellerman <mpe@ellerman.id.au>
> CC: Kumar Gala <galak@kernel.crashing.org>
> CC: Vakul Garg <vakul.garg@nxp.com>
> CC: Scott Wood <swood@redhat.com>
> CC: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: linuxppc-dev@lists.ozlabs.org
> CC: linux-kernel@vger.kernel.org
> CC: stable@vger.kernel.org

Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/69a8405999aa1c489de4b8d349468f

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 95813df90801..bb2523b4bd8f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -251,6 +251,7 @@  cpu-as-$(CONFIG_4xx)		+= -Wa,-m405
 cpu-as-$(CONFIG_ALTIVEC)	+= $(call as-option,-Wa$(comma)-maltivec)
 cpu-as-$(CONFIG_E200)		+= -Wa,-me200
 cpu-as-$(CONFIG_PPC_BOOK3S_64)	+= -Wa,-mpower4
+cpu-as-$(CONFIG_PPC_E500MC)	+= $(call as-option,-Wa$(comma)-me500mc)
 
 KBUILD_AFLAGS += $(cpu-as-y)
 KBUILD_CFLAGS += $(cpu-as-y)