cleanups
This commit is contained in:
parent
1dbe51a2fb
commit
af9a14ff3b
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: flag_ctrl.cc,v 1.30 2007-11-20 23:00:44 sshwarts Exp $
|
// $Id: flag_ctrl.cc,v 1.31 2007-11-22 21:52:55 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||||
@ -177,7 +177,6 @@ void BX_CPU_C::PUSHF_Fw(bxInstruction_c *i)
|
|||||||
if ((BX_CPU_THIS_PTR get_IOPL() < 3) && (CR4_VME_ENABLED == 0)) {
|
if ((BX_CPU_THIS_PTR get_IOPL() < 3) && (CR4_VME_ENABLED == 0)) {
|
||||||
BX_DEBUG(("PUSHFW: #GP(0) in v8086 (no VME) mode"));
|
BX_DEBUG(("PUSHFW: #GP(0) in v8086 (no VME) mode"));
|
||||||
exception(BX_GP_EXCEPTION, 0, 0);
|
exception(BX_GP_EXCEPTION, 0, 0);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
#if BX_SUPPORT_VME
|
#if BX_SUPPORT_VME
|
||||||
if (CR4_VME_ENABLED && BX_CPU_THIS_PTR get_IOPL() < 3) {
|
if (CR4_VME_ENABLED && BX_CPU_THIS_PTR get_IOPL() < 3) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: protect_ctrl.cc,v 1.65 2007-11-18 18:24:46 sshwarts Exp $
|
// $Id: protect_ctrl.cc,v 1.66 2007-11-22 21:52:55 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -656,30 +656,25 @@ void BX_CPU_C::LGDT_Ms(bxInstruction_c *i)
|
|||||||
|
|
||||||
invalidate_prefetch_q();
|
invalidate_prefetch_q();
|
||||||
|
|
||||||
|
Bit16u limit_16;
|
||||||
|
Bit32u base_32;
|
||||||
|
|
||||||
#if BX_CPU_LEVEL >= 3
|
#if BX_CPU_LEVEL >= 3
|
||||||
if (i->os32L()) {
|
if (i->os32L()) {
|
||||||
Bit16u limit_16;
|
|
||||||
Bit32u base0_31;
|
|
||||||
|
|
||||||
read_virtual_word(i->seg(), RMAddr(i), &limit_16);
|
read_virtual_word(i->seg(), RMAddr(i), &limit_16);
|
||||||
read_virtual_dword(i->seg(), RMAddr(i) + 2, &base0_31);
|
read_virtual_dword(i->seg(), RMAddr(i) + 2, &base_32);
|
||||||
|
|
||||||
BX_CPU_THIS_PTR gdtr.limit = limit_16;
|
BX_CPU_THIS_PTR gdtr.limit = limit_16;
|
||||||
BX_CPU_THIS_PTR gdtr.base = base0_31;
|
BX_CPU_THIS_PTR gdtr.base = base_32;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
Bit16u limit_16, base0_15;
|
|
||||||
Bit8u base16_23;
|
|
||||||
|
|
||||||
read_virtual_word(i->seg(), RMAddr(i), &limit_16);
|
read_virtual_word(i->seg(), RMAddr(i), &limit_16);
|
||||||
read_virtual_word(i->seg(), RMAddr(i) + 2, &base0_15);
|
read_virtual_dword(i->seg(), RMAddr(i) + 2, &base_32);
|
||||||
read_virtual_byte(i->seg(), RMAddr(i) + 4, &base16_23);
|
|
||||||
|
|
||||||
/* ignore high 8 bits */
|
|
||||||
BX_CPU_THIS_PTR gdtr.limit = limit_16;
|
BX_CPU_THIS_PTR gdtr.limit = limit_16;
|
||||||
BX_CPU_THIS_PTR gdtr.base = (base16_23 << 16) | base0_15;
|
BX_CPU_THIS_PTR gdtr.base = base_32 & 0x00ffffff; /* ignore upper 8 bits */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: stack64.cc,v 1.27 2007-11-22 17:33:06 sshwarts Exp $
|
// $Id: stack64.cc,v 1.28 2007-11-22 21:52:55 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -64,7 +64,7 @@ void BX_CPU_C::POP_RRX(bxInstruction_c *i)
|
|||||||
{
|
{
|
||||||
Bit64u rrx;
|
Bit64u rrx;
|
||||||
pop_64(&rrx);
|
pop_64(&rrx);
|
||||||
BX_CPU_THIS_PTR gen_reg[i->opcodeReg()].rrx = rrx;
|
BX_WRITE_64BIT_REG(i->opcodeReg(), rrx);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BX_CPU_C::PUSH64_FS(bxInstruction_c *i)
|
void BX_CPU_C::PUSH64_FS(bxInstruction_c *i)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user