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