bugfix
This commit is contained in:
parent
d1dff34997
commit
d49e60a6e1
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: exception.cc,v 1.140 2009-07-28 04:42:49 sshwarts Exp $
|
||||
// $Id: exception.cc,v 1.141 2009-10-03 07:25:03 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -461,16 +461,16 @@ void BX_CPU_C::protected_mode_int(Bit8u vector, unsigned is_INT, bx_bool push_er
|
||||
|
||||
BX_DEBUG(("interrupt(): INTERRUPT TO INNER PRIVILEGE"));
|
||||
|
||||
// check selector and descriptor for new stack in current TSS
|
||||
get_SS_ESP_from_TSS(cs_descriptor.dpl,
|
||||
&SS_for_cpl_x, &ESP_for_cpl_x);
|
||||
|
||||
if (is_v8086_mode && cs_descriptor.dpl != 0) {
|
||||
// if code segment DPL != 0 then #GP(new code segment selector)
|
||||
BX_ERROR(("interrupt(): code segment DPL(%d) != 0 in v8086 mode", cs_descriptor.dpl));
|
||||
exception(BX_GP_EXCEPTION, cs_selector.value & 0xfffc, 0);
|
||||
}
|
||||
|
||||
// check selector and descriptor for new stack in current TSS
|
||||
get_SS_ESP_from_TSS(cs_descriptor.dpl,
|
||||
&SS_for_cpl_x, &ESP_for_cpl_x);
|
||||
|
||||
// Selector must be non-null else #TS(EXT)
|
||||
if ((SS_for_cpl_x & 0xfffc) == 0) {
|
||||
BX_ERROR(("interrupt(): SS selector null"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user