mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-10 20:35:36 +00:00
first shot at getting FPIP working, need to remove all FP control instructions from being updated
This commit is contained in:
parent
adec227dad
commit
59b09a71bf
|
@ -991,7 +991,7 @@ void helper_fstenv(CPUX86State *env, target_ulong ptr, int data32)
|
|||
cpu_stl_data(env, ptr, env->fpuc);
|
||||
cpu_stl_data(env, ptr + 4, fpus);
|
||||
cpu_stl_data(env, ptr + 8, fptag);
|
||||
cpu_stl_data(env, ptr + 12, 0); /* fpip */
|
||||
cpu_stl_data(env, ptr + 12, env->fpip); /* fpip */
|
||||
cpu_stl_data(env, ptr + 16, 0); /* fpcs */
|
||||
cpu_stl_data(env, ptr + 20, 0); /* fpoo */
|
||||
cpu_stl_data(env, ptr + 24, 0); /* fpos */
|
||||
|
|
|
@ -248,6 +248,11 @@ static void gen_update_cc_op(DisasContext *s)
|
|||
}
|
||||
}
|
||||
|
||||
static void fpu_update_ip(CPUX86State *env)
|
||||
{
|
||||
env->fpip = env->eip;
|
||||
}
|
||||
|
||||
#ifdef TARGET_X86_64
|
||||
|
||||
#define NB_OP_SIZES 4
|
||||
|
@ -6065,6 +6070,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
|
|||
gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);
|
||||
break;
|
||||
}
|
||||
fpu_update_ip(env);
|
||||
modrm = cpu_ldub_code(env, s->pc++);
|
||||
mod = (modrm >> 6) & 3;
|
||||
rm = modrm & 7;
|
||||
|
|
Loading…
Reference in a new issue