mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
[FAST486]
Allow direct calls/jumps to TSS selectors in Fast486ProcessGate. svn path=/trunk/; revision=65262
This commit is contained in:
parent
b452f14184
commit
a57f40f992
1 changed files with 27 additions and 15 deletions
|
@ -702,25 +702,37 @@ Fast486ProcessGate(PFAST486_STATE State, USHORT Selector, ULONG Offset, BOOLEAN
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (Descriptor.Signature == FAST486_TASK_GATE_SIGNATURE)
|
||||
switch (Descriptor.Signature)
|
||||
{
|
||||
/* Task gate */
|
||||
case FAST486_TASK_GATE_SIGNATURE:
|
||||
{
|
||||
Fast486TaskSwitch(State,
|
||||
Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP,
|
||||
((PFAST486_IDT_ENTRY)&Descriptor)->Selector);
|
||||
|
||||
Fast486TaskSwitch(State,
|
||||
Call ? FAST486_TASK_CALL : FAST486_TASK_JUMP,
|
||||
((PFAST486_IDT_ENTRY)&Descriptor)->Selector);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
else if (Descriptor.Signature == FAST486_CALL_GATE_SIGNATURE)
|
||||
{
|
||||
/* Call gate */
|
||||
|
||||
// TODO: NOT IMPLEMENTED
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
|
|
Loading…
Reference in a new issue