mirror of
https://github.com/reactos/reactos.git
synced 2025-01-04 21:38:43 +00:00
[FAST486]
Fix LTR. svn path=/trunk/; revision=67623
This commit is contained in:
parent
25427ebb72
commit
4b508e967a
1 changed files with 16 additions and 1 deletions
|
@ -1945,7 +1945,10 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
|
|||
return;
|
||||
}
|
||||
|
||||
if (GdtEntry.Signature != FAST486_TSS_SIGNATURE)
|
||||
if (GdtEntry.Signature != FAST486_TSS_SIGNATURE
|
||||
&& GdtEntry.Signature != FAST486_BUSY_TSS_SIGNATURE
|
||||
&& GdtEntry.Signature != FAST486_TSS_16_SIGNATURE
|
||||
&& GdtEntry.Signature != FAST486_BUSY_TSS_16_SIGNATURE)
|
||||
{
|
||||
/* This is not a TSS descriptor */
|
||||
Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_GP, Selector);
|
||||
|
@ -1963,6 +1966,18 @@ FAST486_OPCODE_HANDLER(Fast486ExtOpcodeGroup0F00)
|
|||
State->TaskReg.Limit |= 0x00000FFF;
|
||||
}
|
||||
|
||||
if (GdtEntry.Signature != FAST486_BUSY_TSS_SIGNATURE
|
||||
&& GdtEntry.Signature != FAST486_BUSY_TSS_16_SIGNATURE)
|
||||
{
|
||||
/* Set the busy bit of this TSS descriptor and write it back */
|
||||
GdtEntry.Signature |= 2;
|
||||
|
||||
Fast486WriteLinearMemory(State,
|
||||
State->Gdtr.Address + GET_SEGMENT_INDEX(Selector),
|
||||
&GdtEntry,
|
||||
sizeof(GdtEntry));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue