Commit 25c30003 authored by David Daney's avatar David Daney Committed by Ralf Baechle

MIPS: Override assembler target architecture for octeon.

Gas from binutils 2.19 fails to compile some cop1 instructions with
-march=octeon.  Since the cop1 instructions are present in mips1, use
that arch instead.  This will be fixed in binutils 2.20.
Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent ed918c2d
...@@ -1028,6 +1028,8 @@ do { \ ...@@ -1028,6 +1028,8 @@ do { \
__asm__ __volatile__( \ __asm__ __volatile__( \
".set\tpush\n\t" \ ".set\tpush\n\t" \
".set\treorder\n\t" \ ".set\treorder\n\t" \
/* gas fails to assemble cfc1 for some archs (octeon).*/ \
".set\tmips1\n\t" \
"cfc1\t%0,"STR(source)"\n\t" \ "cfc1\t%0,"STR(source)"\n\t" \
".set\tpop" \ ".set\tpop" \
: "=r" (__res)); \ : "=r" (__res)); \
......
...@@ -385,10 +385,14 @@ NESTED(nmi_handler, PT_SIZE, sp) ...@@ -385,10 +385,14 @@ NESTED(nmi_handler, PT_SIZE, sp)
.endm .endm
.macro __build_clear_fpe .macro __build_clear_fpe
.set push
/* gas fails to assemble cfc1 for some archs (octeon).*/ \
.set mips1
cfc1 a1, fcr31 cfc1 a1, fcr31
li a2, ~(0x3f << 12) li a2, ~(0x3f << 12)
and a2, a1 and a2, a1
ctc1 a2, fcr31 ctc1 a2, fcr31
.set pop
TRACE_IRQS_ON TRACE_IRQS_ON
STI STI
.endm .endm
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment