Made some very minor mods, to make CPUID aware of CMOV instructions
for BX_CPU_LEVEL >= 6, and to have the CMOV instructions generate an undefined opcode exception after printing info that they were called, if BX_CPU_LEVEL <= 5. I suppose we could have a separate configure option, but mirroring Intel, CMOV is available as of Pentium Pro. For now, you have to compile with --enable-cpu-level=6 for CMOV support to be compiled in.
This commit is contained in:
parent
7a8d2dc61e
commit
d52b23daf1
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer16.cc,v 1.6 2001-10-03 13:10:37 bdenney Exp $
|
||||
// $Id: data_xfer16.cc,v 1.7 2002-09-01 04:01:06 kevinlawton Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -377,6 +377,7 @@ BX_CPU_C::CMOV_GwEw(BxInstruction_t *i)
|
||||
BX_WRITE_16BIT_REG(i->nnn, op2_16);
|
||||
}
|
||||
#else
|
||||
BX_PANIC(("cmov_gwew called"));
|
||||
BX_INFO(("cmov_gwew called"));
|
||||
UndefinedOpcode(i);
|
||||
#endif
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: data_xfer32.cc,v 1.6 2001-10-03 13:10:37 bdenney Exp $
|
||||
// $Id: data_xfer32.cc,v 1.7 2002-09-01 04:01:13 kevinlawton Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -317,6 +317,7 @@ BX_CPU_C::CMOV_GdEd(BxInstruction_t *i)
|
||||
BX_WRITE_32BIT_REG(i->nnn, op2_32);
|
||||
}
|
||||
#else
|
||||
BX_PANIC(("cmov_gded called"));
|
||||
BX_INFO(("cmov_gded called"));
|
||||
UndefinedOpcode(i);
|
||||
#endif
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: proc_ctrl.cc,v 1.25 2002-08-10 12:06:26 cbothamy Exp $
|
||||
// $Id: proc_ctrl.cc,v 1.26 2002-09-01 04:01:14 kevinlawton Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2001 MandrakeSoft S.A.
|
||||
@ -1029,6 +1029,7 @@ BX_CPU_C::CPUID(BxInstruction_t *i)
|
||||
model = 1; // Pentium Pro
|
||||
stepping = 3; // ???
|
||||
features |= (1<<4); // implement TSC
|
||||
features |= (1<<15); // Implement CMOV instructions.
|
||||
# if BX_SUPPORT_APIC
|
||||
features |= (1<<9); // APIC on chip
|
||||
# endif
|
||||
|
Loading…
Reference in New Issue
Block a user