[FAST486]

Allow direct calls/jumps to TSS selectors in Fast486ProcessGate.


svn path=/trunk/; revision=65262
This commit is contained in:
Aleksandar Andrejevic 2014-11-05 00:50:11 +00:00
parent b452f14184
commit a57f40f992

View file

@ -702,26 +702,38 @@ Fast486ProcessGate(PFAST486_STATE State, USHORT Selector, ULONG Offset, BOOLEAN
return FALSE; return FALSE;
} }
if (Descriptor.Signature == FAST486_TASK_GATE_SIGNATURE) switch (Descriptor.Signature)
{
case FAST486_TASK_GATE_SIGNATURE:
{ {
/* Task gate */
Fast486TaskSwitch(State, Fast486TaskSwitch(State,
Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP, Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP,
((PFAST486_IDT_ENTRY)&Descriptor)->Selector); ((PFAST486_IDT_ENTRY)&Descriptor)->Selector);
return FALSE; return FALSE;
} }
else if (Descriptor.Signature == FAST486_CALL_GATE_SIGNATURE)
{
/* Call gate */
case FAST486_TSS_SIGNATURE:
{
Fast486TaskSwitch(State,
Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP,
Selector);
return FALSE;
}
case FAST486_CALL_GATE_SIGNATURE:
{
// TODO: NOT IMPLEMENTED // TODO: NOT IMPLEMENTED
UNIMPLEMENTED; UNIMPLEMENTED;
} }
default:
{
return TRUE; return TRUE;
} }
}
}
FORCEINLINE FORCEINLINE
BOOLEAN BOOLEAN