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=65262&r1=65261&r2=65262&view=diff
==============================================================================
--- 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


Reply via email to