[PATCH 3.16 153/366] powerpc/e500mc: Set assembler machine type to e500mc

Ben Hutchings ben at decadent.org.uk
Mon Nov 12 06:49:05 AEDT 2018


3.16.61-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Michael Jeanson <mjeanson at efficios.com>

commit 69a8405999aa1c489de4b8d349468f0c2b83f093 upstream.

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 at efficios.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
CC: Benjamin Herrenschmidt <benh at kernel.crashing.org>
CC: Paul Mackerras <paulus at samba.org>
CC: Michael Ellerman <mpe at ellerman.id.au>
CC: Kumar Gala <galak at kernel.crashing.org>
CC: Vakul Garg <vakul.garg at nxp.com>
CC: Scott Wood <swood at redhat.com>
CC: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
CC: linuxppc-dev at lists.ozlabs.org
CC: linux-kernel at vger.kernel.org
Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
 arch/powerpc/Makefile | 1 +
 1 file changed, 1 insertion(+)

--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -205,6 +205,7 @@ endif
 cpu-as-$(CONFIG_4xx)		+= -Wa,-m405
 cpu-as-$(CONFIG_ALTIVEC)	+= -Wa,-maltivec
 cpu-as-$(CONFIG_E200)		+= -Wa,-me200
+cpu-as-$(CONFIG_PPC_E500MC)	+= $(call as-option,-Wa$(comma)-me500mc)
 
 KBUILD_AFLAGS += $(cpu-as-y)
 KBUILD_CFLAGS += $(cpu-as-y)



More information about the Linuxppc-dev mailing list