- Timestamp:
- Sep 12, 2008 2:53:22 PM (16 years ago)
- Location:
- trunk/src/recompiler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/VBoxRecompiler.c
r12308 r12427 1981 1981 */ 1982 1982 pVM->rem.s.Env.exception_is_int = 1; 1983 pVM->rem.s.Env.exception_next_eip = pCtx-> eip + 2;1983 pVM->rem.s.Env.exception_next_eip = pCtx->rip + 2; 1984 1984 /* int 3 may be generated by one-byte 0xcc */ 1985 1985 if (u8TrapNo == 3) 1986 1986 { 1987 if (read_byte(&pVM->rem.s.Env, pVM->rem.s.Env.segs[R_CS].base + pCtx-> eip) == 0xcc)1988 pVM->rem.s.Env.exception_next_eip = pCtx-> eip + 1;1987 if (read_byte(&pVM->rem.s.Env, pVM->rem.s.Env.segs[R_CS].base + pCtx->rip) == 0xcc) 1988 pVM->rem.s.Env.exception_next_eip = pCtx->rip + 1; 1989 1989 } 1990 1990 /* int 4 may be generated by one-byte 0xce */ 1991 1991 else if (u8TrapNo == 4) 1992 1992 { 1993 if (read_byte(&pVM->rem.s.Env, pVM->rem.s.Env.segs[R_CS].base + pCtx-> eip) == 0xce)1994 pVM->rem.s.Env.exception_next_eip = pCtx-> eip + 1;1993 if (read_byte(&pVM->rem.s.Env, pVM->rem.s.Env.segs[R_CS].base + pCtx->rip) == 0xce) 1994 pVM->rem.s.Env.exception_next_eip = pCtx->rip + 1; 1995 1995 } 1996 1996 } -
trunk/src/recompiler/target-i386/helper.c
r12240 r12427 965 965 uint32_t e1, e2, e3, ss; 966 966 target_ulong old_eip, esp, offset; 967 968 #ifdef VBOX 969 if (remR3NotifyTrap(env, intno, error_code, next_eip) != VINF_SUCCESS) 970 cpu_loop_exit(); 971 #endif 967 972 968 973 has_error_code = 0;
Note:
See TracChangeset
for help on using the changeset viewer.