(cpu64) Merged vm8086.cc.

This commit is contained in:
Kevin Lawton 2002-09-13 22:02:11 +00:00
parent 0585191e49
commit b1e787cdc6
2 changed files with 7 additions and 3 deletions

View File

@ -59,7 +59,6 @@ OBJS32 = \
stack_pro.o \
lazy_flags.o \
paging.o \
vm8086.o \
debugstuff.o \
arith32.o \
mult32.o \
@ -103,6 +102,7 @@ OBJSXX = \
protect_ctrl_pro.o \
mult8.o \
data_xfer8.o \
vm8086.o \
# Objects which are only used for x86-64 code, but which have been

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: vm8086.cc,v 1.12 2002-09-13 00:15:23 kevinlawton Exp $
// $Id: vm8086.cc,v 1.13 2002-09-13 22:02:11 kevinlawton Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -116,7 +116,11 @@ BX_CPU_C::stack_return_to_v86(Bit32u new_eip, Bit32u raw_cs_selector,
BX_CPU_THIS_PTR sregs[BX_SEG_REG_FS].selector.value = raw_fs_selector;
BX_CPU_THIS_PTR sregs[BX_SEG_REG_GS].selector.value = raw_gs_selector;
BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].selector.value = raw_ss_selector;
#if BX_SUPPORT_X86_64
RSP = new_esp;
#else
ESP = new_esp; // Full 32bits are loaded.
#endif
init_v8086_mode();
}
@ -130,7 +134,7 @@ BX_CPU_C::stack_return_from_v86(BxInstruction_t *i)
BX_DEBUG(("IRET in vm86 with IOPL != 3"));
exception(BX_GP_EXCEPTION, 0, 0);
return;
}
}
if (i->os_32) {
Bit32u eip, ecs_raw, eflags_tmp;