aboutsummaryrefslogtreecommitdiff
path: root/opcodes/or1k-opc.c
diff options
context:
space:
mode:
authorStefan Kristiansson <stefan.kristiansson@saunalahti.fi>2014-07-20 20:26:09 +0300
committerStefan Kristiansson <stefan.kristiansson@saunalahti.fi>2014-07-20 20:26:09 +0300
commit018dc9bedf40d528f1d05d56555e20ed54a77dc3 (patch)
tree3b00411c0efdc5c37291f60739bf6f28ea3c5980 /opcodes/or1k-opc.c
parent164224e96ca270d6cbb61d3e326fc1b0453b30a6 (diff)
downloadgdb-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.c22
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 },