VirtualBox

Changeset 27580 in vbox


Ignore:
Timestamp:
Mar 22, 2010 10:35:52 AM (15 years ago)
Author:
vboxsync
Message:

Ignore writes to ballooned pages.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp

    r27545 r27580  
    5353
    5454#ifndef IN_RING3
    55 
    56 /**
    57  * \#PF Handler callback for physical memory accesses without a RC/R0 handler.
    58  * This simply pushes everything to the HC handler.
    59  *
    60  * @returns VBox status code (appropritate for trap handling and GC return).
    61  * @param   pVM         VM Handle.
    62  * @param   uErrorCode  CPU Error code.
    63  * @param   pRegFrame   Trap register frame.
    64  * @param   pvFault     The fault address (cr2).
    65  * @param   GCPhysFault The GC physical address corresponding to pvFault.
    66  * @param   pvUser      User argument.
    67  */
    68 VMMDECL(int) pgmPhysHandlerRedirectToHC(PVM pVM, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
    69 {
    70     return (uErrorCode & X86_TRAP_PF_RW) ? VINF_IOM_HC_MMIO_WRITE : VINF_IOM_HC_MMIO_READ;
    71 }
    72 
    7355
    7456/**
     
    12671249        /*
    12681250         * If the page is shared, the zero page, or being write monitored
    1269          * it must be converted to an page that's writable if possible.
     1251         * it must be converted to a page that's writable if possible.
    12701252         */
    12711253        PPGMPAGE pPage = pTlbe->pPage;
     
    23682350 * Write to physical memory.
    23692351 *
    2370  * This API respects access handlers and MMIO. Use PGMPhysSimpleReadGCPhys() if you
     2352 * This API respects access handlers and MMIO. Use PGMPhysSimpleWriteGCPhys() if you
    23712353 * want to ignore those.
    23722354 *
     
    24372419                        memcpy(pvDst, pvBuf, cb);
    24382420                    else
     2421                    /* Ignore writes to ballooned pages. */
     2422                    if (!PGM_PAGE_IS_BALLOONED(pPage))
    24392423                        AssertLogRelMsgFailed(("pgmPhysGCPhys2CCPtrInternal failed on %RGp / %R[pgmpage] -> %Rrc\n",
    2440                                                pRam->GCPhys + off, pPage, rc));
     2424                                                pRam->GCPhys + off, pPage, rc));
    24412425                }
    24422426
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