Enabled #AC exception, fixed PANIC message

This commit is contained in:
Stanislav Shwartsman 2008-04-14 21:48:37 +00:00
parent 9668e735cd
commit e4b41764d0
3 changed files with 7 additions and 10 deletions

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: exception.cc,v 1.106 2008-04-11 21:40:36 sshwarts Exp $
// $Id: exception.cc,v 1.107 2008-04-14 21:48:34 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -917,9 +917,7 @@ void BX_CPU_C::exception(unsigned vector, Bit16u error_code, bx_bool is_INT)
break;
#if BX_CPU_LEVEL >= 4
case BX_AC_EXCEPTION: // alignment check
BX_PANIC(("exception(): alignment-check, vector 17 not implemented"));
push_error = 1;
error_code = 0;
exception_class = BX_EXCEPTION_CLASS_FAULT;
exception_type = BX_ET_BENIGN;
break;

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: instr.h,v 1.10 2008-04-05 17:57:21 sshwarts Exp $
// $Id: instr.h,v 1.11 2008-04-14 21:48:35 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2008 Stanislav Shwartsman
@ -289,4 +289,6 @@ public:
};
// <TAG-CLASS-INSTRUCTION-END>
extern BxExecutePtr_tR BxOpcodesTable[];
#endif

View File

@ -1,5 +1,5 @@
////////////////////////////////////////////////////////////////////////
// $Id: iret.cc,v 1.30 2008-03-29 18:18:07 sshwarts Exp $
// $Id: iret.cc,v 1.31 2008-04-14 21:48:37 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2005 Stanislav Shwartsman
@ -382,11 +382,8 @@ BX_CPU_C::long_iret(bxInstruction_c *i)
top_nbytes_same = 6;
}
// if VM=1 in flags image on stack then STACK_RETURN_TO_V86
if (new_eflags & EFlagsVMMask) {
BX_PANIC(("iret64: no V86 mode in x86-64 LONG mode"));
new_eflags &= ~EFlagsVMMask;
}
// ignore VM flag in long mode
new_eflags &= ~EFlagsVMMask;
parse_selector(raw_cs_selector, &cs_selector);