diff options
author | Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> | 2014-07-20 20:26:09 +0300 |
---|---|---|
committer | Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> | 2014-07-20 20:26:09 +0300 |
commit | 018dc9bedf40d528f1d05d56555e20ed54a77dc3 (patch) | |
tree | 3b00411c0efdc5c37291f60739bf6f28ea3c5980 /opcodes/or1k-opc.c | |
parent | 164224e96ca270d6cbb61d3e326fc1b0453b30a6 (diff) | |
download | gdb-018dc9bedf40d528f1d05d56555e20ed54a77dc3.zip gdb-018dc9bedf40d528f1d05d56555e20ed54a77dc3.tar.gz gdb-018dc9bedf40d528f1d05d56555e20ed54a77dc3.tar.bz2 |
or1k: add missing l.msync, l.psync and l.psync instructions.
Even though the opcodes were defined for these instructions,
the actual instruction definitions were lacking.
cpu/
* or1korbis.cpu (l-msync, l-psync, l-csync): New instructions.
opcodes/
* or1k-desc.c, * or1k-desc.h, * or1k-opc.c, * or1k-opc.h,
* or1k-opinst.c: Regenerate.
Diffstat (limited to 'opcodes/or1k-opc.c')
-rw-r--r-- | opcodes/or1k-opc.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/opcodes/or1k-opc.c b/opcodes/or1k-opc.c index 1ec127f..3e1df59 100644 --- a/opcodes/or1k-opc.c +++ b/opcodes/or1k-opc.c @@ -59,6 +59,10 @@ static const CGEN_IFMT ifmt_l_trap ATTRIBUTE_UNUSED = { 32, 32, 0xffff0000, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_5) }, { F (F_UIMM16) }, { 0 } } }; +static const CGEN_IFMT ifmt_l_msync ATTRIBUTE_UNUSED = { + 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_OP_25_5) }, { F (F_RESV_20_21) }, { 0 } } +}; + static const CGEN_IFMT ifmt_l_rfe ATTRIBUTE_UNUSED = { 32, 32, 0xffffffff, { { F (F_OPCODE) }, { F (F_RESV_25_26) }, { 0 } } }; @@ -226,6 +230,24 @@ static const CGEN_OPCODE or1k_cgen_insn_opcode_table[MAX_INSNS] = { { MNEM, ' ', OP (UIMM16), 0 } }, & ifmt_l_trap, { 0x20000000 } }, +/* l.msync */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_l_msync, { 0x22000000 } + }, +/* l.psync */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_l_msync, { 0x22800000 } + }, +/* l.csync */ + { + { 0, 0, 0, 0 }, + { { MNEM, 0 } }, + & ifmt_l_msync, { 0x23000000 } + }, /* l.rfe */ { { 0, 0, 0, 0 }, |