From: Leon Alrae Date: Mon, 16 Mar 2015 16:29:34 +0000 (+0000) Subject: target-mips: save cpu state before calling MSA load and store helpers X-Git-Tag: qemu-xen-4.7.0-rc1~394^2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0af7a37054310384e00209e0a43efe95b7c19ef0;p=qemu-xen.git target-mips: save cpu state before calling MSA load and store helpers PC needs to be saved if an exception can be generated by an helper. This fixes a problem related to resuming the execution at unexpected address after an exception (caused by MSA load/store instruction) has been serviced. Signed-off-by: Leon Alrae --- diff --git a/target-mips/translate.c b/target-mips/translate.c index a91e5037f5..fd063a2aae 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -18414,12 +18414,14 @@ static void gen_msa(CPUMIPSState *env, DisasContext *ctx) case OPC_LD_H: case OPC_LD_W: case OPC_LD_D: + save_cpu_state(ctx, 1); gen_helper_msa_ld_df(cpu_env, tdf, twd, trs, ts10); break; case OPC_ST_B: case OPC_ST_H: case OPC_ST_W: case OPC_ST_D: + save_cpu_state(ctx, 1); gen_helper_msa_st_df(cpu_env, tdf, twd, trs, ts10); break; }