Author: aandrejevic Date: Wed Nov 5 00:50:11 2014 New Revision: 65262
URL: http://svn.reactos.org/svn/reactos?rev=65262&view=rev Log: [FAST486] Allow direct calls/jumps to TSS selectors in Fast486ProcessGate.
Modified: trunk/reactos/lib/fast486/common.inl
Modified: trunk/reactos/lib/fast486/common.inl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fast486/common.inl?rev=... ============================================================================== --- trunk/reactos/lib/fast486/common.inl [iso-8859-1] (original) +++ trunk/reactos/lib/fast486/common.inl [iso-8859-1] Wed Nov 5 00:50:11 2014 @@ -702,25 +702,37 @@ return FALSE; }
- if (Descriptor.Signature == FAST486_TASK_GATE_SIGNATURE) - { - /* Task gate */ - - Fast486TaskSwitch(State, - Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP, - ((PFAST486_IDT_ENTRY)&Descriptor)->Selector); - - return FALSE; - } - else if (Descriptor.Signature == FAST486_CALL_GATE_SIGNATURE) - { - /* Call gate */ - - // TODO: NOT IMPLEMENTED - UNIMPLEMENTED; - } - - return TRUE; + switch (Descriptor.Signature) + { + case FAST486_TASK_GATE_SIGNATURE: + { + Fast486TaskSwitch(State, + Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP, + ((PFAST486_IDT_ENTRY)&Descriptor)->Selector); + + return FALSE; + } + + case FAST486_TSS_SIGNATURE: + { + Fast486TaskSwitch(State, + Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP, + Selector); + + return FALSE; + } + + case FAST486_CALL_GATE_SIGNATURE: + { + // TODO: NOT IMPLEMENTED + UNIMPLEMENTED; + } + + default: + { + return TRUE; + } + } }
FORCEINLINE