mirror of
https://github.com/reactos/reactos.git
synced 2025-07-16 05:54:06 +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;
|
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,
|
return FALSE;
|
||||||
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (Descriptor.Signature == FAST486_CALL_GATE_SIGNATURE)
|
|
||||||
{
|
|
||||||
/* Call gate */
|
|
||||||
|
|
||||||
// TODO: NOT IMPLEMENTED
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue