[FAST486]

- Fix the privilege checks.
- Store the CPL in a special field, so that it doesn't get mixed up
  with the lowest 2 bits of real mode selectors while switching
  into protected mode.
- Reset the exception count after a successful ISR call.
- In Fast486OpcodeGroup0F01, check for prefix overrides after parsing
  the Mod-Reg-R/M, which might add a SS: prefix override in some cases.


svn path=/branches/ntvdm/; revision=60995
This commit is contained in:
Aleksandar Andrejevic 2013-11-15 02:32:08 +00:00
parent 5e54387a9c
commit bbc9efd2d9
5 changed files with 32 additions and 21 deletions

View file

@ -1668,6 +1668,12 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0F01)
NO_LOCK_PREFIX();
TOGGLE_ADSIZE(AddressSize);
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{
/* Exception occurred */
return FALSE;
}
/* Check for the segment override */
if (State->PrefixFlags & FAST486_PREFIX_SEG)
{
@ -1675,12 +1681,6 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup0F01)
Segment = State->SegmentOverride;
}
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
{
/* Exception occurred */
return FALSE;
}
/* Check which operation this is */
switch (ModRegRm.Register)
{