VirtualBox

Changeset 515 in vbox for trunk/src


Ignore:
Timestamp:
Feb 1, 2007 5:20:03 PM (18 years ago)
Author:
vboxsync
Message:

Possibly dangerous change: stop monitoring IDT patch pages when too many invalid writes have been encountered.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PATM/PATM.cpp

    r453 r515  
    47254725                        if (pPatch->cInvalidWrites > PATM_MAX_INVALID_WRITES)
    47264726                        {
    4727                             LogRel(("PATM: Disable block at %VGv - invalid write %VGv-%VGv \n", pPatch->pPrivInstrGC, GCPtr, GCPtr+cbWrite));
    4728 
    4729                             PATMR3MarkDirtyPatch(pVM, pPatch);
    4730 
     4727                            /** @note possibly dangerous assumption that all future writes will be harmless. */
     4728                            if (pPatch->flags & PATMFL_IDTHANDLER)
     4729                            {
     4730                                LogRel(("PATM: Stop monitoring IDT handler pages at %VGv - invalid write %VGv-%VGv \n", pPatch->pPrivInstrGC, GCPtr, GCPtr+cbWrite));
     4731
     4732                                Assert(pPatch->flags & PATMFL_CODE_MONITORED);
     4733                                int rc = patmRemovePatchPages(pVM, pPatch);
     4734                                AssertRC(rc);
     4735                            }
     4736                            else
     4737                            {
     4738                                LogRel(("PATM: Disable block at %VGv - invalid write %VGv-%VGv \n", pPatch->pPrivInstrGC, GCPtr, GCPtr+cbWrite));
     4739                                PATMR3MarkDirtyPatch(pVM, pPatch);
     4740                            }
    47314741                            /** @note jump back to the start as the pPatchPage has been deleted or changed */
    47324742                            goto invalid_write_loop_start;
    47334743                        }
    4734                     }
     4744                    } /* for */
    47354745                }
    47364746            }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette