diff options
author | Jie Zhang <jie.zhang@analog.com> | 2009-09-04 04:29:42 +0000 |
---|---|---|
committer | Jie Zhang <jie.zhang@analog.com> | 2009-09-04 04:29:42 +0000 |
commit | 66a6900a09dc32b8afc5bf61ee070084025232a7 (patch) | |
tree | 52817ad92869c78f8f890dff7ec0a364dc1331f2 /opcodes | |
parent | 7dd8f318c11c2ac7b92bd34474df5d6b075cf5a7 (diff) | |
download | gdb-66a6900a09dc32b8afc5bf61ee070084025232a7.zip gdb-66a6900a09dc32b8afc5bf61ee070084025232a7.tar.gz gdb-66a6900a09dc32b8afc5bf61ee070084025232a7.tar.bz2 |
gas/
* config/bfin-parse.y (asm_1): Implement HLT instruction.
Fix comments for DBGA, DBGAH and DBGAL.
* config/tc-bfin.c (bfin_gen_pseudodbg_assert): Change according
to the new encoding of DBGA, DBGAH, and DBGAL.
include/
* opcode/bfin.h (PseudoDbg_Assert): Add bits_grp and mask_grp.
(PseudoDbg_Assert_grp_bits, PseudoDbg_Assert_grp_mask): Define.
(PseudoDbg_Assert_dbgop_bits, PseudoDbg_Assert_dbgop_mask,
PseudoDbg_Assert_dontcare_bits, PseudoDbg_Assert_dontcare_mask):
Adjust accordingly.
(init_PseudoDbg_Assert): Add PseudoDbg_Assert_grp_bits and
PseudoDbg_Assert_grp_mask.
opcodes/
* bfin-dis.c (decode_pseudodbg_assert_0): Change according
to the new encoding of DBGA, DBGAH, and DBGAL.
(_print_insn_bfin): Likewise.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/bfin-dis.c | 13 |
2 files changed, 13 insertions, 6 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index c997714..e36675a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2009-09-04 Jie Zhang <jie.zhang@analog.com> + + * bfin-dis.c (decode_pseudodbg_assert_0): Change according + to the new encoding of DBGA, DBGAH, and DBGAL. + (_print_insn_bfin): Likewise. + 2009-09-03 Jie Zhang <jie.zhang@analog.com> * bfin-dis.c (_print_insn_bfin): Don't declare. diff --git a/opcodes/bfin-dis.c b/opcodes/bfin-dis.c index ee84525..d526a1a 100644 --- a/opcodes/bfin-dis.c +++ b/opcodes/bfin-dis.c @@ -4574,17 +4574,18 @@ decode_pseudodbg_assert_0 (TIword iw0, TIword iw1, disassemble_info *outf) { /* pseudodbg_assert +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+ - | 1 | 1 | 1 | 1 | 0 | - | - | - | - | - |.dbgop.....|.regtest...| + | 1 | 1 | 1 | 1 | 0 | - | - | - | dbgop |.grp.......|.regtest...| |.expected......................................................| +---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+ */ int expected = ((iw1 >> PseudoDbg_Assert_expected_bits) & PseudoDbg_Assert_expected_mask); int dbgop = ((iw0 >> (PseudoDbg_Assert_dbgop_bits - 16)) & PseudoDbg_Assert_dbgop_mask); + int grp = ((iw0 >> (PseudoDbg_Assert_grp_bits - 16)) & PseudoDbg_Assert_grp_mask); int regtest = ((iw0 >> (PseudoDbg_Assert_regtest_bits - 16)) & PseudoDbg_Assert_regtest_mask); if (dbgop == 0) { OUTS (outf, "DBGA ("); - OUTS (outf, dregs_lo (regtest)); + OUTS (outf, regs_lo (regtest, grp)); OUTS (outf, ", "); OUTS (outf, uimm16 (expected)); OUTS (outf, ")"); @@ -4592,7 +4593,7 @@ decode_pseudodbg_assert_0 (TIword iw0, TIword iw1, disassemble_info *outf) else if (dbgop == 1) { OUTS (outf, "DBGA ("); - OUTS (outf, dregs_hi (regtest)); + OUTS (outf, regs_hi (regtest, grp)); OUTS (outf, ", "); OUTS (outf, uimm16 (expected)); OUTS (outf, ")"); @@ -4600,7 +4601,7 @@ decode_pseudodbg_assert_0 (TIword iw0, TIword iw1, disassemble_info *outf) else if (dbgop == 2) { OUTS (outf, "DBGAL ("); - OUTS (outf, dregs (regtest)); + OUTS (outf, allregs (regtest, grp)); OUTS (outf, ", "); OUTS (outf, uimm16 (expected)); OUTS (outf, ")"); @@ -4608,7 +4609,7 @@ decode_pseudodbg_assert_0 (TIword iw0, TIword iw1, disassemble_info *outf) else if (dbgop == 3) { OUTS (outf, "DBGAH ("); - OUTS (outf, dregs (regtest)); + OUTS (outf, allregs (regtest, grp)); OUTS (outf, ", "); OUTS (outf, uimm16 (expected)); OUTS (outf, ")"); @@ -4712,7 +4713,7 @@ _print_insn_bfin (bfd_vma pc, disassemble_info *outf) else if ((iw0 & 0xFF00) == 0xF900) rv = decode_pseudoOChar_0 (iw0, iw1, pc, outf); #endif - else if ((iw0 & 0xFFC0) == 0xf000 && (iw1 & 0x0000) == 0x0000) + else if ((iw0 & 0xFF00) == 0xf000 && (iw1 & 0x0000) == 0x0000) rv = decode_pseudodbg_assert_0 (iw0, iw1, outf); return rv; |