cleanup + small optimization

This commit is contained in:
Stanislav Shwartsman 2009-10-27 18:30:13 +00:00
parent 54cdee30c1
commit 5ab53ac4b0
4 changed files with 5878 additions and 19636 deletions

25487
bochs/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ dnl // Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
AC_INIT(bochs.h)
AC_REVISION([[$Id: configure.in,v 1.411 2009-10-02 16:11:06 sshwarts Exp $]])
AC_REVISION([[$Id: configure.in,v 1.412 2009-10-27 18:30:13 sshwarts Exp $]])
AC_CONFIG_HEADER(config.h)
AC_CONFIG_HEADER(ltdlconf.h)
@ -2898,7 +2898,7 @@ AC_ARG_ENABLE(daz,
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(for VME support)
AC_MSG_CHECKING(for VME support (deprecated))
AC_ARG_ENABLE(vme,
[ --enable-vme virtual 8086 mode extensions (deprecated)],
[AC_MSG_RESULT($enableval)

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: mult64.cc,v 1.35 2009-10-24 17:23:19 sshwarts Exp $
// $Id: mult64.cc,v 1.36 2009-10-27 18:30:13 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -253,10 +253,9 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::IMUL_RAXEqR(bxInstruction_c *i)
* RDX:RAX = sign-extend of RAX
*/
SET_FLAGS_OSZAPC_LOGIC_64(product_128.lo);
if(!(((Bit64s)(product_128.lo) >= 0 && product_128.hi == 0) ||
((Bit64s)(product_128.lo) < 0 && product_128.hi == (Bit64s) BX_CONST64(0xffffffffffffffff))))
{
/* magic compare between RDX:RAX and sign extended RAX */
if (((Bit64u)(product_128.hi) + (product_128.lo >> 63)) != 0) {
ASSERT_FLAGS_OxxxxC();
}
}
@ -346,9 +345,8 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::IMUL_GqEqIdR(bxInstruction_c *i)
BX_WRITE_64BIT_REG(i->nnn(), product_128.lo);
SET_FLAGS_OSZAPC_LOGIC_64(product_128.lo);
if(!(((Bit64s)(product_128.lo) >= 0 && product_128.hi == 0) ||
((Bit64s)(product_128.lo) < 0 && product_128.hi == (Bit64s) BX_CONST64(0xffffffffffffffff))))
{
if (((Bit64u)(product_128.hi) + (product_128.lo >> 63)) != 0) {
ASSERT_FLAGS_OxxxxC();
}
}
@ -366,9 +364,8 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::IMUL_GqEqR(bxInstruction_c *i)
BX_WRITE_64BIT_REG(i->nnn(), product_128.lo);
SET_FLAGS_OSZAPC_LOGIC_64(product_128.lo);
if(!(((Bit64s)(product_128.lo) >= 0 && product_128.hi == 0) ||
((Bit64s)(product_128.lo) < 0 && product_128.hi == (Bit64s) BX_CONST64(0xffffffffffffffff))))
{
if (((Bit64u)(product_128.hi) + (product_128.lo >> 63)) != 0) {
ASSERT_FLAGS_OxxxxC();
}
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: xsave.cc,v 1.20 2009-10-18 17:33:35 sshwarts Exp $
// $Id: xsave.cc,v 1.21 2009-10-27 18:30:13 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2008-2009 Stanislav Shwartsman
@ -319,7 +319,7 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::XSETBV(bxInstruction_c *i)
{
#if BX_SUPPORT_XSAVE
if (v8086_mode()) {
BX_ERROR(("XSETBV: not recognized in real or virtual-8086 mode"));
BX_ERROR(("XSETBV: not recognized in virtual-8086 mode"));
exception(BX_UD_EXCEPTION, 0, 0);
}