summaryrefslogtreecommitdiffstats
path: root/target/mips/translate.c
diff options
context:
space:
mode:
authorFredrik Noring2018-10-21 17:35:56 +0200
committerAleksandar Markovic2018-10-24 15:20:30 +0200
commitf08099ad7a4dd32e12a3f9d4b4b04c32d7522b03 (patch)
tree3506c8371d4c824196dfade5deb661a4df91a8b8 /target/mips/translate.c
parenttarget/mips: Add a placeholder for R5900 SQ, handle user mode RDHWR (diff)
downloadqemu-f08099ad7a4dd32e12a3f9d4b4b04c32d7522b03.tar.gz
qemu-f08099ad7a4dd32e12a3f9d4b4b04c32d7522b03.tar.xz
qemu-f08099ad7a4dd32e12a3f9d4b4b04c32d7522b03.zip
target/mips: Add a placeholder for R5900 LQ
Add a placeholder for LQ instruction. Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Signed-off-by: Fredrik Noring <noring@nocrew.org> Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Diffstat (limited to 'target/mips/translate.c')
-rw-r--r--target/mips/translate.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/target/mips/translate.c b/target/mips/translate.c
index 19a8abad54..2318116d31 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -24420,6 +24420,11 @@ static void decode_opc_special3_legacy(CPUMIPSState *env, DisasContext *ctx)
}
}
+static void decode_tx79_lq(CPUMIPSState *env, DisasContext *ctx)
+{
+ generate_exception_end(ctx, EXCP_RI); /* TODO: TX79_LQ */
+}
+
static void gen_tx79_sq(DisasContext *ctx, int base, int rt, int offset)
{
generate_exception_end(ctx, EXCP_RI); /* TODO: TX79_SQ */
@@ -26425,8 +26430,12 @@ static void decode_opc(CPUMIPSState *env, DisasContext *ctx)
}
break;
case OPC_MSA: /* OPC_MDMX */
- /* MDMX: Not implemented. */
- gen_msa(env, ctx);
+ if (ctx->insn_flags & INSN_R5900) {
+ decode_tx79_lq(env, ctx); /* TX79_LQ */
+ } else {
+ /* MDMX: Not implemented. */
+ gen_msa(env, ctx);
+ }
break;
case OPC_PCREL:
check_insn(ctx, ISA_MIPS32R6);