diff --git a/bochs/cpu/iret.cc b/bochs/cpu/iret.cc index 1f8350d01..5752feb4f 100755 --- a/bochs/cpu/iret.cc +++ b/bochs/cpu/iret.cc @@ -1,5 +1,5 @@ //////////////////////////////////////////////////////////////////////// -// $Id: iret.cc,v 1.39 2008-09-06 17:44:02 sshwarts Exp $ +// $Id: iret.cc,v 1.40 2009-01-13 19:00:30 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (c) 2005 Stanislav Shwartsman @@ -143,7 +143,7 @@ BX_CPU_C::iret_protected(bxInstruction_c *i) // if VM=1 in flags image on stack then STACK_RETURN_TO_V86 if (new_eflags & EFlagsVMMask) { if (CPL == 0) { - BX_CPU_THIS_PTR stack_return_to_v86(new_eip, raw_cs_selector, new_eflags); + stack_return_to_v86(new_eip, raw_cs_selector, new_eflags); return; } else BX_INFO(("iret: VM set on stack, CPL!=0")); diff --git a/bochs/cpu/segment_ctrl_pro.cc b/bochs/cpu/segment_ctrl_pro.cc index e33b50e98..4d1d78fbc 100644 --- a/bochs/cpu/segment_ctrl_pro.cc +++ b/bochs/cpu/segment_ctrl_pro.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: segment_ctrl_pro.cc,v 1.103 2008-12-06 18:52:02 sshwarts Exp $ +// $Id: segment_ctrl_pro.cc,v 1.104 2009-01-13 19:00:30 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -522,7 +522,7 @@ bx_bool BX_CPU_C::set_segment_ar_data(bx_segment_reg_t *seg, bx_bool valid, break; default: - BX_PANIC(("set_segment_ar_data(): case %u unsupported", (unsigned) d->type)); + BX_PANIC(("set_segment_ar_data(): case %u unsupported, valid=%d", (unsigned) d->type, d->valid)); } } diff --git a/bochs/cpu/vm8086.cc b/bochs/cpu/vm8086.cc index 39d2df7e2..ffe474587 100644 --- a/bochs/cpu/vm8086.cc +++ b/bochs/cpu/vm8086.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: vm8086.cc,v 1.50 2009-01-10 10:37:23 sshwarts Exp $ +// $Id: vm8086.cc,v 1.51 2009-01-13 19:00:30 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001 MandrakeSoft S.A. @@ -223,6 +223,7 @@ void BX_CPU_C::init_v8086_mode(void) BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].selector.rpl = 3; updateFetchModeMask(); + handleCpuModeChange(); #if BX_CPU_LEVEL >= 4 && BX_SUPPORT_ALIGNMENT_CHECK handleAlignmentCheck(); // CPL was modified