diff options
author | Nick Clifton <nickc@redhat.com> | 2010-02-25 11:15:48 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2010-02-25 11:15:48 +0000 |
commit | c67a084a243288154497d1433b8ebfc556bac45c (patch) | |
tree | 717c30484d83c48801922f3370a2200e7c9135c8 /gas/doc | |
parent | 67ec7d0b4d224add89ee66128777748f3f4eacb3 (diff) | |
download | gdb-c67a084a243288154497d1433b8ebfc556bac45c.zip gdb-c67a084a243288154497d1433b8ebfc556bac45c.tar.gz gdb-c67a084a243288154497d1433b8ebfc556bac45c.tar.bz2 |
* config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop,
mips_fix_loongson2f_jump): New variables.
(md_longopts): Add New options -mfix-loongson2f-nop/jump,
-mno-fix-loongson2f-nop/jump.
(md_parse_option): Initialize variables via above options.
(options): New enums for the above options.
(md_begin): Initialize nop_insn from LOONGSON2F_NOP_INSN.
(fix_loongson2f, fix_loongson2f_nop, fix_loongson2f_jump):
New functions.
(append_insn): call fix_loongson2f().
(mips_handle_align): Replace the implicit nops.
* config/tc-mips.h (MAX_MEM_FOR_RS_ALIGN_CODE): Modified
for the new mips_handle_align().
* doc/c-mips.texi: Document the new options.
* gas/mips/loongson-2f-2.s: New test of -mfix-loongson2f-nop.
* gas/mips/loongson-2f-2.d: Likewise.
* gas/mips/loongson-2f-3.s: New test of -mfix-loongson2f-jump.
* gas/mips/loongson-2f-3.d: Likewise.
* gas/mips/mips.exp: Run the new tests.
* opcode/mips.h (LOONGSON2F_NOP_INSN): New macro.
Diffstat (limited to 'gas/doc')
-rw-r--r-- | gas/doc/c-mips.texi | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gas/doc/c-mips.texi b/gas/doc/c-mips.texi index 34fa694..641e60f 100644 --- a/gas/doc/c-mips.texi +++ b/gas/doc/c-mips.texi @@ -1,5 +1,5 @@ @c Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001, -@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 @c Free Software Foundation, Inc. @c This is part of the GAS manual. @c For copying conditions, see the file as.texinfo. @@ -78,7 +78,7 @@ VxWorks-style position-independent macro expansions. @itemx -mips2 @itemx -mips3 @itemx -mips4 -@itemx -mips5 +@itemx -mips5xo @itemx -mips32 @itemx -mips32r2 @itemx -mips64 @@ -172,6 +172,20 @@ This tells the assembler to accept MT instructions. Cause nops to be inserted if the read of the destination register of an mfhi or mflo instruction occurs in the following two instructions. +@item -mfix-loongson2f-jump +@itemx -mno-fix-loongson2f-jump +Eliminate instruction fetch from outside 256M region to work around the +Loongson2F @samp{jump} instructions. Without it, under extreme cases, +the kernel may crash. The issue has been solved in latest processor +batches, but this fix has no side effect to them. + +@item -mfix-loongson2f-nop +@itemx -mno-fix-loongson2f-nop +Replace nops by @code{or at,at,zero} to work around the Loongson2F +@samp{nop} errata. Without it, under extreme cases, cpu might +deadlock. The issue has been solved in latest loongson2f batches, but +this fix has no side effect to them. + @item -mfix-vr4120 @itemx -mno-fix-vr4120 Insert nops to work around certain VR4120 errata. This option is |