@Sir Richard, While fixing trunk breakage, I also fixed another bug in KiTrap0DHandler, which was always only checking one prefix. I attached the patch.
Regards, Timo
Index: traphdlr.c =================================================================== --- traphdlr.c (Revision 45057) +++ traphdlr.c (Arbeitskopie) @@ -1103,19 +1103,23 @@ /* Skip prefix instructions */ for (j = 0; j < sizeof(KiTrapPrefixTable); j++) { - /* Is this NOT a prefix instruction? */ - if (Instructions[i] != KiTrapPrefixTable[j]) + /* Is this a prefix instruction? */ + if (Instructions[i] == KiTrapPrefixTable[j]) { - /* We can go ahead and handle the fault now */ - Instruction = Instructions[i]; + /* Stop looking */ break; } } - /* Do we need to keep looking? */ - if (Instruction) break; + /* Is this NOT any prefix instruction? */ + if (Instructions[i] != KiTrapPrefixTable[j]) + { + /* We can go ahead and handle the fault now */ + Instruction = Instructions[i]; + break; + } } - + /* If all we found was prefixes, then this instruction is too long */ if (!Instruction) {
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev