mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 04:45:43 +00:00
[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:
parent
5e54387a9c
commit
bbc9efd2d9
5 changed files with 32 additions and 21 deletions
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue