diff options
author | Paul Hua <paul.hua.gm@gmail.com> | 2019-02-19 17:57:16 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2019-02-19 17:57:16 +0000 |
commit | 6f2117ba3892110badc65a7126b19cec211acfa2 (patch) | |
tree | de74092f7e459a02ee1c1c04a2907250d2597650 /gas/doc/c-mips.texi | |
parent | 179f2db0d9c397d7dd8a59907b84208b79f7f48c (diff) | |
download | gdb-6f2117ba3892110badc65a7126b19cec211acfa2.zip gdb-6f2117ba3892110badc65a7126b19cec211acfa2.tar.gz gdb-6f2117ba3892110badc65a7126b19cec211acfa2.tar.bz2 |
Fix a potential deadlock in some older Loongson 3A1000 MIPS processors.
* NEWS: Mention -m[no-]fix-loongson3-llsc.
* configure.ac: Add --enable-mips-fix-loongson3-llsc.
Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC.
* config.in: Regenerated.
* configure: Likewise.
* config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc):
New variables.
(options): New OPTION_FIX_LOONGSON3_LLSC,
OPTION_NO_FIX_LOONGSON3_LLSC.
(md_longopts): Add -m[no-]fix-loongson3-llsc.
(md_begin): Initialize sync insn.
(fix_loongson3_llsc): New.
(append_insn): Call fix_loongson3_llsc.
(md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC,
OPTION_NO_FIX_LOONGSON3_LLSC.
(md_show_usage): Display -m[no-]fix-loongson3-llsc.
* doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc,
--enable-mips-fix-loongson3-llsc=[yes|no].
Diffstat (limited to 'gas/doc/c-mips.texi')
-rw-r--r-- | gas/doc/c-mips.texi | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gas/doc/c-mips.texi b/gas/doc/c-mips.texi index 8122803..1ef289a 100644 --- a/gas/doc/c-mips.texi +++ b/gas/doc/c-mips.texi @@ -308,6 +308,13 @@ Replace nops by @code{or at,at,zero} to work around the Loongson2F deadlock. The issue has been solved in later Loongson2F batches, but this fix has no side effect to them. +@item -mfix-loongson3-llsc +@itemx -mno-fix-loongson3-llsc +Insert @samp{sync} before @samp{ll} and @samp{lld} to work around +Loongson3 LLSC errata. Without it, under extrame cases, the CPU might +deadlock. The default can be controlled by the +@option{--enable-mips-fix-loongson3-llsc=[yes|no]} configure option. + @item -mfix-vr4120 @itemx -mno-fix-vr4120 Insert nops to work around certain VR4120 errata. This option is |