diff --git a/bochs/cpu/fetchdecode.h b/bochs/cpu/fetchdecode.h index a3274cb68..75b428ebb 100755 --- a/bochs/cpu/fetchdecode.h +++ b/bochs/cpu/fetchdecode.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: fetchdecode.h,v 1.98 2010-02-08 15:22:53 sshwarts Exp $ +// $Id: fetchdecode.h,v 1.99 2010-02-15 14:04:48 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (c) 2005-2010 Stanislav Shwartsman @@ -573,8 +573,8 @@ static const BxOpcodeInfo_t BxOpcodeInfo64G5qR[8] = { static const BxOpcodeInfo_t BxOpcodeInfoG6[8] = { /* 0 */ { 0, BX_IA_SLDT_Ew }, /* 1 */ { 0, BX_IA_STR_Ew }, - /* 2 */ { BxTraceEnd, BX_IA_LLDT_Ew }, - /* 3 */ { BxTraceEnd, BX_IA_LTR_Ew }, + /* 2 */ { 0, BX_IA_LLDT_Ew }, + /* 3 */ { 0, BX_IA_LTR_Ew }, /* 4 */ { 0, BX_IA_VERR_Ew }, /* 5 */ { 0, BX_IA_VERW_Ew }, /* 6 */ { 0, BX_IA_ERROR }, @@ -661,8 +661,8 @@ static const BxOpcodeInfo_t BxOpcodeInfoG7M[8] = { // attributes defined in main area /* 0 */ { 0, BX_IA_SGDT_Ms }, /* 1 */ { 0, BX_IA_SIDT_Ms }, - /* 2 */ { BxTraceEnd, BX_IA_LGDT_Ms }, - /* 3 */ { BxTraceEnd, BX_IA_LIDT_Ms }, + /* 2 */ { 0, BX_IA_LGDT_Ms }, + /* 3 */ { 0, BX_IA_LIDT_Ms }, /* 4 */ { 0, BX_IA_SMSW_EwM }, /* 5 */ { 0, BX_IA_ERROR }, /* 6 */ { BxTraceEnd, BX_IA_LMSW_Ew }, @@ -673,8 +673,8 @@ static const BxOpcodeInfo_t BxOpcodeInfoG7M[8] = { static const BxOpcodeInfo_t BxOpcodeInfo64G7M[8] = { /* 0 */ { 0, BX_IA_SGDT64_Ms }, /* 1 */ { 0, BX_IA_SIDT64_Ms }, - /* 2 */ { BxTraceEnd, BX_IA_LGDT64_Ms }, - /* 3 */ { BxTraceEnd, BX_IA_LIDT64_Ms }, + /* 2 */ { 0, BX_IA_LGDT64_Ms }, + /* 3 */ { 0, BX_IA_LIDT64_Ms }, /* 4 */ { 0, BX_IA_SMSW_EwM }, /* 5 */ { 0, BX_IA_ERROR }, /* 6 */ { BxTraceEnd, BX_IA_LMSW_Ew }, @@ -765,8 +765,8 @@ static const BxOpcodeInfo_t BxOpcodeInfoG9M[8] = { /* 3 */ { 0, BX_IA_ERROR }, /* 4 */ { 0, BX_IA_ERROR }, /* 5 */ { 0, BX_IA_ERROR }, - /* 6 */ { BxTraceEnd | BxPrefixSSE, BX_IA_VMPTRLD_Mq, BxOpcodeGroupSSE_G9VMX6 }, - /* 7 */ { BxTraceEnd | BxPrefixSSE, BX_IA_VMPTRST_Mq, BxOpcodeGroupSSE_ERR } + /* 6 */ { BxPrefixSSE, BX_IA_VMPTRLD_Mq, BxOpcodeGroupSSE_G9VMX6 }, + /* 7 */ { BxPrefixSSE, BX_IA_VMPTRST_Mq, BxOpcodeGroupSSE_ERR } }; #if BX_SUPPORT_X86_64 @@ -777,8 +777,8 @@ static const BxOpcodeInfo_t BxOpcodeInfo64G9qM[8] = { /* 3 */ { 0, BX_IA_ERROR }, /* 4 */ { 0, BX_IA_ERROR }, /* 5 */ { 0, BX_IA_ERROR }, - /* 6 */ { BxTraceEnd | BxPrefixSSE, BX_IA_VMPTRLD_Mq, BxOpcodeGroupSSE_G9VMX6 }, - /* 7 */ { BxTraceEnd | BxPrefixSSE, BX_IA_VMPTRST_Mq, BxOpcodeGroupSSE_ERR } + /* 6 */ { BxPrefixSSE, BX_IA_VMPTRLD_Mq, BxOpcodeGroupSSE_G9VMX6 }, + /* 7 */ { BxPrefixSSE, BX_IA_VMPTRST_Mq, BxOpcodeGroupSSE_ERR } }; #endif diff --git a/bochs/cpu/proc_ctrl.cc b/bochs/cpu/proc_ctrl.cc index 3376c972a..1ea172aed 100644 --- a/bochs/cpu/proc_ctrl.cc +++ b/bochs/cpu/proc_ctrl.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: proc_ctrl.cc,v 1.310 2010-01-31 18:06:44 sshwarts Exp $ +// $Id: proc_ctrl.cc,v 1.311 2010-02-15 14:04:48 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001-2009 The Bochs Project @@ -1171,21 +1171,6 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::LOADALL(bxInstruction_c *i) BX_PANIC(("loadall: ES invalid")); } -#if 0 - BX_INFO(("cs.dpl = %02x", (unsigned) BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].cache.dpl)); - BX_INFO(("ss.dpl = %02x", (unsigned) BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].cache.dpl)); - BX_INFO(("BX_CPU_THIS_PTR sregs[BX_SEG_REG_DS].dpl = 0x%02x", (unsigned) BX_CPU_THIS_PTR ds.cache.dpl)); - BX_INFO(("BX_CPU_THIS_PTR sregs[BX_SEG_REG_ES].dpl = 0x%02x", (unsigned) BX_CPU_THIS_PTR es.cache.dpl)); - BX_INFO(("LOADALL: setting cs.selector.rpl to %u", - (unsigned) BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].selector.rpl)); - BX_INFO(("LOADALL: setting ss.selector.rpl to %u", - (unsigned) BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].selector.rpl)); - BX_INFO(("LOADALL: setting ds.selector.rpl to %u", - (unsigned) BX_CPU_THIS_PTR sregs[BX_SEG_REG_DS].selector.rpl)); - BX_INFO(("LOADALL: setting es.selector.rpl to %u", - (unsigned) BX_CPU_THIS_PTR sregs[BX_SEG_REG_ES].selector.rpl)); -#endif - BX_MEM(0)->readPhysicalPage(BX_CPU_THIS, 0x826, 2, &DI); BX_MEM(0)->readPhysicalPage(BX_CPU_THIS, 0x828, 2, &SI); BX_MEM(0)->readPhysicalPage(BX_CPU_THIS, 0x82a, 2, &BP); diff --git a/bochs/cpu/protect_ctrl.cc b/bochs/cpu/protect_ctrl.cc index 6485e60de..9d8d0c5de 100644 --- a/bochs/cpu/protect_ctrl.cc +++ b/bochs/cpu/protect_ctrl.cc @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////// -// $Id: protect_ctrl.cc,v 1.97 2009-12-04 16:53:12 sshwarts Exp $ +// $Id: protect_ctrl.cc,v 1.98 2010-02-15 14:04:48 sshwarts Exp $ ///////////////////////////////////////////////////////////////////////// // // Copyright (C) 2001-2009 The Bochs Project @@ -351,8 +351,6 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::LLDT_Ew(bxInstruction_c *i) raw_selector = read_virtual_word(i->seg(), eaddr); } - invalidate_prefetch_q(); - /* if selector is NULL, invalidate and done */ if ((raw_selector & 0xfffc) == 0) { BX_CPU_THIS_PTR ldtr.selector.value = raw_selector; @@ -440,8 +438,6 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::LTR_Ew(bxInstruction_c *i) raw_selector = read_virtual_word(i->seg(), eaddr); } - invalidate_prefetch_q(); - /* if selector is NULL, invalidate and done */ if ((raw_selector & BX_SELECTOR_RPL_MASK) == 0) { BX_ERROR(("LTR: loading with NULL selector!")); @@ -718,8 +714,6 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::LGDT_Ms(bxInstruction_c *i) exception(BX_GP_EXCEPTION, 0, 0); } - invalidate_prefetch_q(); - Bit32u eaddr = (Bit32u) BX_CPU_CALL_METHODR(i->ResolveModrm, (i)); Bit16u limit_16 = read_virtual_word_32(i->seg(), eaddr); @@ -745,8 +739,6 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::LIDT_Ms(bxInstruction_c *i) exception(BX_GP_EXCEPTION, 0, 0); } - invalidate_prefetch_q(); - Bit32u eaddr = (Bit32u) BX_CPU_CALL_METHODR(i->ResolveModrm, (i)); Bit32u base_32 = read_virtual_dword_32(i->seg(), eaddr + 2); @@ -795,8 +787,6 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::LGDT64_Ms(bxInstruction_c *i) exception(BX_GP_EXCEPTION, 0, 0); } - invalidate_prefetch_q(); - bx_address eaddr = BX_CPU_CALL_METHODR(i->ResolveModrm, (i)); Bit64u base_64 = read_virtual_qword_64(i->seg(), eaddr + 2); @@ -819,8 +809,6 @@ void BX_CPP_AttrRegparmN(1) BX_CPU_C::LIDT64_Ms(bxInstruction_c *i) exception(BX_GP_EXCEPTION, 0, 0); } - invalidate_prefetch_q(); - bx_address eaddr = BX_CPU_CALL_METHODR(i->ResolveModrm, (i)); Bit64u base_64 = read_virtual_qword_64(i->seg(), eaddr + 2);