diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-06-04 17:02:19 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-06-04 17:02:19 +0000 |
commit | db620f46a8c8b168831812eabd7428a952964334 (patch) | |
tree | 755a1cb01456c96211ca74ca7e048811655fe9c1 /target-i386/translate.c | |
parent | 3cd9acb410f313b03ad9348f36d86ad8d3bf703f (diff) |
reworked SVM interrupt handling logic - fixed vmrun EIP saved value - reworked cr8 handling - added CPUState.hflags2
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4662 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/translate.c')
-rw-r--r-- | target-i386/translate.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/target-i386/translate.c b/target-i386/translate.c index 40a85f8111..fb695003d5 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -6569,10 +6569,11 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base); break; } else { - tcg_gen_helper_0_1(helper_vmrun, - tcg_const_i32(s->aflag)); - s->cc_op = CC_OP_EFLAGS; - gen_eob(s); + tcg_gen_helper_0_2(helper_vmrun, + tcg_const_i32(s->aflag), + tcg_const_i32(s->pc - pc_start)); + tcg_gen_exit_tb(0); + s->is_jmp = 3; } break; case 1: /* VMMCALL */ |