mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 07:32:57 +00:00
[FAST486]
Implement the CLTS instruction. svn path=/branches/ntvdm/; revision=60752
This commit is contained in:
parent
1525a235a2
commit
dfd1c031d6
2 changed files with 19 additions and 1 deletions
|
@ -45,7 +45,7 @@ Fast486ExtendedHandlers[FAST486_NUM_OPCODE_HANDLERS] =
|
||||||
NULL, // TODO: OPCODE 0x03 NOT IMPLEMENTED
|
NULL, // TODO: OPCODE 0x03 NOT IMPLEMENTED
|
||||||
NULL, // TODO: OPCODE 0x04 NOT IMPLEMENTED
|
NULL, // TODO: OPCODE 0x04 NOT IMPLEMENTED
|
||||||
NULL, // TODO: OPCODE 0x05 NOT IMPLEMENTED
|
NULL, // TODO: OPCODE 0x05 NOT IMPLEMENTED
|
||||||
NULL, // TODO: OPCODE 0x06 NOT IMPLEMENTED
|
Fast486ExtOpcodeClts,
|
||||||
NULL, // TODO: OPCODE 0x07 NOT IMPLEMENTED
|
NULL, // TODO: OPCODE 0x07 NOT IMPLEMENTED
|
||||||
NULL, // TODO: OPCODE 0x08 NOT IMPLEMENTED
|
NULL, // TODO: OPCODE 0x08 NOT IMPLEMENTED
|
||||||
NULL, // TODO: OPCODE 0x09 NOT IMPLEMENTED
|
NULL, // TODO: OPCODE 0x09 NOT IMPLEMENTED
|
||||||
|
@ -299,6 +299,23 @@ Fast486ExtendedHandlers[FAST486_NUM_OPCODE_HANDLERS] =
|
||||||
|
|
||||||
/* PUBLIC FUNCTIONS ***********************************************************/
|
/* PUBLIC FUNCTIONS ***********************************************************/
|
||||||
|
|
||||||
|
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeClts)
|
||||||
|
{
|
||||||
|
NO_LOCK_PREFIX();
|
||||||
|
|
||||||
|
/* The current privilege level must be zero */
|
||||||
|
if (Fast486GetCurrentPrivLevel(State) != 0)
|
||||||
|
{
|
||||||
|
Fast486Exception(State, FAST486_EXCEPTION_GP);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Clear the task switch bit */
|
||||||
|
State->ControlRegisters[FAST486_REG_CR0] &= ~FAST486_CR0_TS;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreControlReg)
|
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreControlReg)
|
||||||
{
|
{
|
||||||
BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size;
|
BOOLEAN AddressSize = State->SegmentRegs[FAST486_REG_CS].Size;
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#define _EXTRAOPS_H_
|
#define _EXTRAOPS_H_
|
||||||
|
|
||||||
/* DEFINES ********************************************************************/
|
/* DEFINES ********************************************************************/
|
||||||
|
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeClts);
|
||||||
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreControlReg);
|
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreControlReg);
|
||||||
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreDebugReg);
|
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeStoreDebugReg);
|
||||||
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadControlReg);
|
FAST486_OPCODE_HANDLER(Fast486ExtOpcodeLoadControlReg);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue