vmx bugfix

This commit is contained in:
Stanislav Shwartsman 2009-10-10 13:45:39 +00:00
parent 3a558cbfee
commit 12e6a33436

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: vmexit.cc,v 1.8 2009-09-30 05:57:21 sshwarts Exp $
// $Id: vmexit.cc,v 1.9 2009-10-10 13:45:39 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2009 Stanislav Shwartsman
@ -303,9 +303,14 @@ void BX_CPU_C::VMexit_Event(bxInstruction_c *i, unsigned type, unsigned vector,
if (vector == BX_DF_EXCEPTION)
BX_CPU_THIS_PTR in_event = 0; // clear in_event indication on #DF
// qualifcation for debug exceptions similar to debug_trap field
if (vector == BX_DB_EXCEPTION)
if (vector == BX_DB_EXCEPTION) {
// qualifcation for debug exceptions similar to debug_trap field
qualification = BX_CPU_THIS_PTR debug_trap & 0x0000600f;
}
// clear debug_trap field
BX_CPU_THIS_PTR debug_trap = 0;
BX_CPU_THIS_PTR inhibit_mask = 0;
Bit32u interruption_info = vector | (type << 8);
if (errcode_valid)