Changeset 4057 in vbox for trunk/src/VBox/VMM/PATM
- Timestamp:
- Aug 7, 2007 10:05:48 AM (17 years ago)
- Location:
- trunk/src/VBox/VMM/PATM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PATM/PATM.cpp
r3696 r4057 1757 1757 1758 1758 /* Not an exit point for IDT handler or function replacement patches */ 1759 /* Note: keep IOPL in mind when changing any of this!! (see comments in PATMA.asm, PATMPopf32Replacement) */ 1759 1760 if (pPatch->flags & (PATMFL_IDTHANDLER|PATMFL_DUPLICATE_FUNCTION)) 1760 1761 fGenerateJmpBack = false; -
trunk/src/VBox/VMM/PATM/PATMA.asm
r3696 r4057 737 737 738 738 PATMPopf32_Ok: 739 pop dword [ss:PATM_VMFLAGS] 740 push dword [ss:PATM_VMFLAGS] 739 ; Note: we don't allow popf instructions to change the current IOPL; we simply ignore such changes (!!!) 740 ; In this particular patch it's rather unlikely the pushf was included, so we have no way to check if the flags on the stack are correctly synched 741 ; PATMPopf32Replacement_NoExit is different, because it's only used in IDT and function patches 741 742 742 743 ; if interrupts are pending, then we must go back to the host context to handle them! … … 776 777 DD PATMPopf32End - PATMPopf32Start 777 778 %ifdef PATM_LOG_PATCHINSTR 778 DD 1 3779 DD 11 779 780 %else 780 DD 1 2781 DD 10 781 782 %endif 782 783 DD PATM_INTERRUPTFLAG … … 787 788 %endif 788 789 DD PATM_INTERRUPTFLAG 789 DD 0790 DD PATM_VMFLAGS791 DD 0792 DD PATM_VMFLAGS793 790 DD 0 794 791 DD PATM_VM_FORCEDACTIONS -
trunk/src/VBox/VMM/PATM/PATMPatch.cpp
r3020 r4057 475 475 Log(("patmPatchGenPopf at %VGv\n", pReturnAddrGC)); 476 476 477 /* * @todo check if we mess up IOPL here (theoretical possibility afaik) */477 /* Note: keep IOPL in mind when changing any of this!! (see comments in PATMA.asm, PATMPopf32Replacement) */ 478 478 if (fSizeOverride == true) 479 479 {
Note:
See TracChangeset
for help on using the changeset viewer.