Enabled LAHF/SAHF for x86-64 mode
This commit is contained in:
parent
83300a66dd
commit
c8cd1f805a
@ -340,7 +340,11 @@ void BX_CPU_C::CPUID(bxInstruction_c *i)
|
|||||||
RDX = features | (1 << 29) | (1 << 27) | (1 << 25) |
|
RDX = features | (1 << 29) | (1 << 27) | (1 << 25) |
|
||||||
(1 << 22) | (1 << 20) | (1 << 11);
|
(1 << 22) | (1 << 20) | (1 << 11);
|
||||||
RBX = 0;
|
RBX = 0;
|
||||||
RCX = 0;
|
|
||||||
|
// RCX:
|
||||||
|
// [0:0] LAHF/SAHF available in 64-bit mode
|
||||||
|
// [1:31] Reserved
|
||||||
|
RCX = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Processor Brand String, use the value given
|
// Processor Brand String, use the value given
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
// $Id: fetchdecode64.cc,v 1.86 2005-11-11 22:02:42 sshwarts Exp $
|
// $Id: fetchdecode64.cc,v 1.87 2006-01-17 19:50:42 sshwarts Exp $
|
||||||
/////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||||
@ -686,8 +686,8 @@ static BxOpcodeInfo_t BxOpcodeInfo64[512*3] = {
|
|||||||
/* 9B */ { 0, &BX_CPU_C::FWAIT },
|
/* 9B */ { 0, &BX_CPU_C::FWAIT },
|
||||||
/* 9C */ { 0, &BX_CPU_C::PUSHF_Fw },
|
/* 9C */ { 0, &BX_CPU_C::PUSHF_Fw },
|
||||||
/* 9D */ { 0, &BX_CPU_C::POPF_Fw },
|
/* 9D */ { 0, &BX_CPU_C::POPF_Fw },
|
||||||
/* 9E */ { 0, &BX_CPU_C::BxError },
|
/* 9E */ { 0, &BX_CPU_C::SAHF },
|
||||||
/* 9F */ { 0, &BX_CPU_C::BxError },
|
/* 9F */ { 0, &BX_CPU_C::LAHF },
|
||||||
/* A0 */ { BxImmediate_O, &BX_CPU_C::MOV_ALOq },
|
/* A0 */ { BxImmediate_O, &BX_CPU_C::MOV_ALOq },
|
||||||
/* A1 */ { BxImmediate_O, &BX_CPU_C::MOV_AXOq },
|
/* A1 */ { BxImmediate_O, &BX_CPU_C::MOV_AXOq },
|
||||||
/* A2 */ { BxImmediate_O, &BX_CPU_C::MOV_OqAL },
|
/* A2 */ { BxImmediate_O, &BX_CPU_C::MOV_OqAL },
|
||||||
@ -1207,8 +1207,8 @@ static BxOpcodeInfo_t BxOpcodeInfo64[512*3] = {
|
|||||||
/* 9B */ { 0, &BX_CPU_C::FWAIT },
|
/* 9B */ { 0, &BX_CPU_C::FWAIT },
|
||||||
/* 9C */ { 0, &BX_CPU_C::PUSHF_Fq },
|
/* 9C */ { 0, &BX_CPU_C::PUSHF_Fq },
|
||||||
/* 9D */ { 0, &BX_CPU_C::POPF_Fq },
|
/* 9D */ { 0, &BX_CPU_C::POPF_Fq },
|
||||||
/* 9E */ { 0, &BX_CPU_C::BxError },
|
/* 9E */ { 0, &BX_CPU_C::SAHF },
|
||||||
/* 9F */ { 0, &BX_CPU_C::BxError },
|
/* 9F */ { 0, &BX_CPU_C::LAHF },
|
||||||
/* A0 */ { BxImmediate_O, &BX_CPU_C::MOV_ALOq },
|
/* A0 */ { BxImmediate_O, &BX_CPU_C::MOV_ALOq },
|
||||||
/* A1 */ { BxImmediate_O, &BX_CPU_C::MOV_EAXOq },
|
/* A1 */ { BxImmediate_O, &BX_CPU_C::MOV_EAXOq },
|
||||||
/* A2 */ { BxImmediate_O, &BX_CPU_C::MOV_OqAL },
|
/* A2 */ { BxImmediate_O, &BX_CPU_C::MOV_OqAL },
|
||||||
@ -1728,8 +1728,8 @@ static BxOpcodeInfo_t BxOpcodeInfo64[512*3] = {
|
|||||||
/* 9B */ { 0, &BX_CPU_C::FWAIT },
|
/* 9B */ { 0, &BX_CPU_C::FWAIT },
|
||||||
/* 9C */ { 0, &BX_CPU_C::PUSHF_Fq },
|
/* 9C */ { 0, &BX_CPU_C::PUSHF_Fq },
|
||||||
/* 9D */ { 0, &BX_CPU_C::POPF_Fq },
|
/* 9D */ { 0, &BX_CPU_C::POPF_Fq },
|
||||||
/* 9E */ { 0, &BX_CPU_C::BxError },
|
/* 9E */ { 0, &BX_CPU_C::SAHF },
|
||||||
/* 9F */ { 0, &BX_CPU_C::BxError },
|
/* 9F */ { 0, &BX_CPU_C::LAHF },
|
||||||
/* A0 */ { BxImmediate_O, &BX_CPU_C::MOV_ALOq },
|
/* A0 */ { BxImmediate_O, &BX_CPU_C::MOV_ALOq },
|
||||||
/* A1 */ { BxImmediate_O, &BX_CPU_C::MOV_RAXOq },
|
/* A1 */ { BxImmediate_O, &BX_CPU_C::MOV_RAXOq },
|
||||||
/* A2 */ { BxImmediate_O, &BX_CPU_C::MOV_OqAL },
|
/* A2 */ { BxImmediate_O, &BX_CPU_C::MOV_OqAL },
|
||||||
|
Loading…
Reference in New Issue
Block a user