| From: Michael Jeanson <mjeanson@efficios.com> |
| Date: Thu, 14 Jun 2018 11:27:42 -0400 |
| Subject: powerpc/e500mc: Set assembler machine type to e500mc |
| |
| 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@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 |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| [bwh: Backported to 3.16: adjust context] |
| Signed-off-by: Ben Hutchings <ben@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) |