VirtualBox

Changeset 13085 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Oct 8, 2008 3:12:13 PM (16 years ago)
Author:
vboxsync
Message:

#1865: More PGM changes.

Location:
trunk/src/VBox/VMM/VMMAll
Files:
3 edited

Legend:

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

    r13073 r13085  
    353353{
    354354    LogFlow(("PGMTrap0eHandler: uErr=%RGu pvFault=%VGv eip=%VGv\n", uErr, pvFault, pRegFrame->rip));
    355     STAM_PROFILE_START(&pVM->pgm.s.StatGCTrap0e, a);
     355    STAM_PROFILE_START(&pVM->pgm.s.StatRZTrap0e, a);
    356356    STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = NULL; } );
    357357
     
    366366        {
    367367            if (uErr & X86_TRAP_PF_RW)
    368                 STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eUSNotPresentWrite);
     368                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eUSNotPresentWrite);
    369369            else
    370                 STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eUSNotPresentRead);
     370                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eUSNotPresentRead);
    371371        }
    372372        else if (uErr & X86_TRAP_PF_RW)
    373             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eUSWrite);
     373            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eUSWrite);
    374374        else if (uErr & X86_TRAP_PF_RSVD)
    375             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eUSReserved);
     375            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eUSReserved);
    376376        else if (uErr & X86_TRAP_PF_ID)
    377             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eUSNXE);
     377            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eUSNXE);
    378378        else
    379             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eUSRead);
     379            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eUSRead);
    380380    }
    381381    else
     
    384384        {
    385385            if (uErr & X86_TRAP_PF_RW)
    386                 STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eSVNotPresentWrite);
     386                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eSVNotPresentWrite);
    387387            else
    388                 STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eSVNotPresentRead);
     388                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eSVNotPresentRead);
    389389        }
    390390        else if (uErr & X86_TRAP_PF_RW)
    391             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eSVWrite);
     391            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eSVWrite);
    392392        else if (uErr & X86_TRAP_PF_ID)
    393             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eSNXE);
     393            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eSNXE);
    394394        else if (uErr & X86_TRAP_PF_RSVD)
    395             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eSVReserved);
     395            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eSVReserved);
    396396    }
    397397#endif
     
    404404        rc = VINF_SUCCESS;
    405405    STAM_STATS({ if (!pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution))
    406                     pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eMisc; });
    407     STAM_PROFILE_STOP_EX(&pVM->pgm.s.StatGCTrap0e, pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution), a);
     406                    pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2Misc; });
     407    STAM_PROFILE_STOP_EX(&pVM->pgm.s.StatRZTrap0e, pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution), a);
    408408    return rc;
    409409}
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r13067 r13085  
    128128        LogFlow(("Trap0eHandler: guest iPDSrc=%u not present CR3=%VGp\n", iPDSrc, CPUMGetGuestCR3(pVM) & X86_CR3_PAGE_MASK));
    129129#    endif
    130         STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eGuestTrap; });
     130        STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2GuestTrap; });
    131131        TRPMSetErrorCode(pVM, uErr);
    132132        return VINF_EM_RAW_GUEST_TRAP;
     
    188188     * tracking, or this page fault is a genuine one, then return immediately.
    189189     */
    190     STAM_PROFILE_START(&pVM->pgm.s.StatCheckPageFault, e);
     190    STAM_PROFILE_START(&pVM->pgm.s.StatRZTrap0eTimeCheckPageFault, e);
    191191    rc = PGM_BTH_NAME(CheckPageFault)(pVM, uErr, &pPDDst->a[iPDDst], &pPDSrc->a[iPDSrc], (RTGCUINTPTR)pvFault);
    192     STAM_PROFILE_STOP(&pVM->pgm.s.StatCheckPageFault, e);
     192    STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeCheckPageFault, e);
    193193    if (    rc == VINF_PGM_HANDLED_DIRTY_BIT_FAULT
    194194        ||  rc == VINF_EM_RAW_GUEST_TRAP)
    195195    {
    196196        STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution)
    197                      = rc == VINF_PGM_HANDLED_DIRTY_BIT_FAULT ? &pVM->pgm.s.StatTrap0eDirtyAndAccessedBits : &pVM->pgm.s.StatTrap0eGuestTrap; });
     197                     = rc == VINF_PGM_HANDLED_DIRTY_BIT_FAULT ? &pVM->pgm.s.StatRZTrap0eTime2DirtyAndAccessed : &pVM->pgm.s.StatRZTrap0eTime2GuestTrap; });
    198198        LogBird(("Trap0eHandler: returns %s\n", rc == VINF_PGM_HANDLED_DIRTY_BIT_FAULT ? "VINF_SUCCESS" : "VINF_EM_RAW_GUEST_TRAP"));
    199199        return rc == VINF_PGM_HANDLED_DIRTY_BIT_FAULT ? VINF_SUCCESS : rc;
    200200    }
    201201
    202     STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0ePD[iPDSrc]);
     202    STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0ePD[iPDSrc]);
    203203#  endif /* PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) */
    204204
     
    230230
    231231    {
    232         STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eSyncPT; });
    233         STAM_PROFILE_START(&pVM->pgm.s.StatLazySyncPT, f);
     232        STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2SyncPT; });
     233        STAM_PROFILE_START(&pVM->pgm.s.StatRZTrap0eTimeSyncPT, f);
    234234        LogFlow(("=>SyncPT %04x = %08x\n", iPDSrc, PdeSrc.au32[0]));
    235235        rc = PGM_BTH_NAME(SyncPT)(pVM, iPDSrc, pPDSrc, (RTGCUINTPTR)pvFault);
    236236        if (VBOX_SUCCESS(rc))
    237237        {
    238             STAM_PROFILE_STOP(&pVM->pgm.s.StatLazySyncPT, f);
     238            STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeSyncPT, f);
    239239            return rc;
    240240        }
    241241        Log(("SyncPT: %d failed!! rc=%d\n", iPDSrc, rc));
    242242        VM_FF_SET(pVM, VM_FF_PGM_SYNC_CR3); /** @todo no need to do global sync, right? */
    243         STAM_PROFILE_STOP(&pVM->pgm.s.StatLazySyncPT, f);
     243        STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeSyncPT, f);
    244244        return VINF_PGM_SYNC_CR3;
    245245    }
     
    255255    if (pgmMapAreMappingsEnabled(&pVM->pgm.s))
    256256    {
    257         STAM_PROFILE_START(&pVM->pgm.s.StatMapping, a);
     257        STAM_PROFILE_START(&pVM->pgm.s.StatRZTrap0eTimeMapping, a);
    258258        PPGMMAPPING pMapping = pVM->pgm.s.CTX_SUFF(pMappings);
    259259        for ( ; pMapping; pMapping = pMapping->CTX_SUFF(pNext))
     
    272272                        if (pPDSrc->a[iPDSrc + iPT].n.u1Present)
    273273                        {
    274                             STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eConflicts);
     274                            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eConflicts);
    275275                            Log(("Trap0e: Detected Conflict %VGv-%VGv\n", pMapping->GCPtr, pMapping->GCPtrLast));
    276276                            VM_FF_SET(pVM, VM_FF_PGM_SYNC_CR3); /** @todo no need to do global sync,right? */
    277                             STAM_PROFILE_STOP(&pVM->pgm.s.StatMapping, a);
     277                            STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeMapping, a);
    278278                            return VINF_PGM_SYNC_CR3;
    279279                        }
     
    296296                    rc = VINF_EM_RAW_EMULATE_INSTR; /* can't happen with VMX */
    297297#   endif
    298                     STAM_COUNTER_INC(&pVM->pgm.s.StatTrap0eMapHandler);
    299                     STAM_PROFILE_STOP(&pVM->pgm.s.StatMapping, a);
     298                    STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersMapping);
     299                    STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeMapping, a);
    300300                    return rc;
    301301                }
     
    305305                 */
    306306                TRPMSetErrorCode(pVM, uErr & ~X86_TRAP_PF_P);
    307                 STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eMap);
     307                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eGuestPFMapping);
    308308                LogFlow(("PGM: Mapping access -> route trap to recompiler!\n"));
    309                 STAM_PROFILE_STOP(&pVM->pgm.s.StatMapping, a);
     309                STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeMapping, a);
    310310                return VINF_EM_RAW_GUEST_TRAP;
    311311            }
    312312        }
    313         STAM_PROFILE_STOP(&pVM->pgm.s.StatMapping, a);
     313        STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeMapping, a);
    314314    } /* pgmAreMappingsEnabled(&pVM->pgm.s) */
    315315#  endif /* PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) */
     
    358358        if (GCPhys != NIL_RTGCPHYS)
    359359        {
    360             STAM_PROFILE_START(&pVM->pgm.s.StatHandlers, b);
     360            STAM_PROFILE_START(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
    361361
    362362            PPGMPAGE pPage;
     
    392392                                {
    393393                                    AssertRC(rc);
    394                                     STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersOutOfSync);
    395                                     STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    396                                     STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eOutOfSyncHndPhys; });
     394                                    STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersOutOfSync);
     395                                    STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     396                                    STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2OutOfSyncHndPhys; });
    397397                                    return rc;
    398398                                }
     
    414414# endif
    415415                                rc = VINF_EM_RAW_EMULATE_INSTR;
    416                             STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersPhysical);
    417                             STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    418                             STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eHndPhys; });
     416                            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersPhysical);
     417                            STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     418                            STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2HndPhys; });
    419419                            return rc;
    420420                        }
     
    438438                            {
    439439                                AssertRC(rc);
    440                                 STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersOutOfSync);
    441                                 STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    442                                 STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eOutOfSyncHndVirt; });
     440                                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersOutOfSync);
     441                                STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     442                                STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2OutOfSyncHndVirt; });
    443443                                return rc;
    444444                            }
     
    475475                                rc = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
    476476#   endif
    477                                 STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersVirtual);
    478                                 STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    479                                 STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eHndVirt; });
     477                                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersVirtual);
     478                                STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     479                                STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2HndVirt; });
    480480                                return rc;
    481481                            }
     
    504504                                rc = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
    505505#   endif
    506                                 STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersVirtualByPhys);
    507                                 STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    508                                 STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eHndVirt; });
     506                                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersVirtualByPhys);
     507                                STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     508                                STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2HndVirt; });
    509509                                return rc;
    510510                            }
     
    521521                     * write access handlers. Restart the instruction if it wasn't a write access.
    522522                     */
    523                     STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersUnhandled);
     523                    STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersUnhandled);
    524524
    525525                    if (    !PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage)
     
    532532                        {
    533533                            AssertRC(rc);
    534                             STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersOutOfSync);
    535                             STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    536                             STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eOutOfSyncHndPhys; });
     534                            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersOutOfSync);
     535                            STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     536                            STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2OutOfSyncHndPhys; });
    537537                            return rc;
    538538                        }
     
    547547                             PGM_PAGE_HAS_ANY_PHYSICAL_HANDLERS(pPage) ? " phys" : "",
    548548                             PGM_PAGE_HAS_ANY_VIRTUAL_HANDLERS(pPage)  ? " virt" : ""));
    549                     STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    550                     STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eHndUnhandled; });
     549                    STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     550                    STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2HndUnhandled; });
    551551                    return rc;
    552552                } /* if any kind of handler */
     
    582582                            rc = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
    583583#   endif
    584                             STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersVirtualUnmarked);
    585                             STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
    586                             STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eHndVirt; });
     584                            STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersVirtualUnmarked);
     585                            STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
     586                            STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2HndVirt; });
    587587                            return rc;
    588588                        }
     
    597597                 */
    598598                LogFlow(("pgmPhysGetPageEx %VGp failed with %Vrc\n", GCPhys, rc));
    599                 STAM_COUNTER_INC(&pVM->pgm.s.StatHandlersInvalid);
    600                 STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
     599                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eHandlersInvalid);
     600                STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
    601601                return VINF_EM_RAW_EMULATE_INSTR;
    602602            }
    603603
    604             STAM_PROFILE_STOP(&pVM->pgm.s.StatHandlers, b);
     604            STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeHandlers, b);
    605605
    606606#  ifdef PGM_OUT_OF_SYNC_IN_GC
     
    610610             * Check it for page out-of-sync situation.
    611611             */
    612             STAM_PROFILE_START(&pVM->pgm.s.StatOutOfSync, c);
     612            STAM_PROFILE_START(&pVM->pgm.s.StatRZTrap0eTimeOutOfSync, c);
    613613
    614614            if (!(uErr & X86_TRAP_PF_P))
     
    663663                                AssertRC(rc2);
    664664
    665                                 STAM_PROFILE_STOP(&pVM->pgm.s.StatOutOfSync, c);
    666                                 STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eCSAM; });
     665                                STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeOutOfSync, c);
     666                                STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2CSAM; });
    667667                                return rc;
    668668                            }
     
    714714                {
    715715                    /* The page was successfully synced, return to the guest. */
    716                     STAM_PROFILE_STOP(&pVM->pgm.s.StatOutOfSync, c);
    717                     STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eOutOfSync; });
     716                    STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeOutOfSync, c);
     717                    STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2OutOfSync; });
    718718                    return VINF_SUCCESS;
    719719                }
     
    754754                        AssertMsg(VBOX_SUCCESS(rc) && fPageShw & X86_PTE_RW, ("rc=%Vrc fPageShw=%VX64\n", rc, fPageShw));
    755755#   endif /* VBOX_STRICT */
    756                         STAM_PROFILE_STOP(&pVM->pgm.s.StatOutOfSync, c);
    757                         STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatTrap0eOutOfSyncObsHnd; });
     756                        STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeOutOfSync, c);
     757                        STAM_STATS({ pVM->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVM->pgm.s.StatRZTrap0eTime2OutOfSyncHndObs; });
    758758                        return VINF_SUCCESS;
    759759                    }
     
    761761                    /* Check to see if we need to emulate the instruction as X86_CR0_WP has been cleared. */
    762762                    if (    CPUMGetGuestCPL(pVM, pRegFrame) == 0
    763                         &&  ((CPUMGetGuestCR0(pVM) & (X86_CR0_WP|X86_CR0_PG)) == X86_CR0_PG)
     763                        &&  ((CPUMGetGuestCR0(pVM) & (X86_CR0_WP | X86_CR0_PG)) == X86_CR0_PG)
    764764                        &&  (uErr & (X86_TRAP_PF_RW | X86_TRAP_PF_P)) == (X86_TRAP_PF_RW | X86_TRAP_PF_P))
    765765                    {
     
    771771                            rc = PGMInterpretInstruction(pVM, pRegFrame, pvFault);
    772772                            if (VBOX_SUCCESS(rc))
    773                                 STAM_COUNTER_INC(&pVM->pgm.s.StatTrap0eWPEmulGC);
     773                                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eWPEmulInRZ);
    774774                            else
    775                                 STAM_COUNTER_INC(&pVM->pgm.s.StatTrap0eWPEmulR3);
     775                                STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eWPEmulToR3);
    776776                            return rc;
    777777                        }
    778                         else
    779                             AssertMsgFailed(("Unexpected r/w page %x flag=%x\n", pvFault, (uint32_t)fPageGst));
     778                        AssertMsgFailed(("Unexpected r/w page %RGv flag=%x rc=%Rrc\n", pvFault, (uint32_t)fPageGst, rc));
    780779                    }
    781 
    782780                }
    783781
     
    813811#   endif /* PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) */
    814812            }
    815             STAM_PROFILE_STOP(&pVM->pgm.s.StatOutOfSync, c);
     813            STAM_PROFILE_STOP(&pVM->pgm.s.StatRZTrap0eTimeOutOfSync, c);
    816814#  endif /* PGM_OUT_OF_SYNC_IN_GC */
    817815        }
     
    841839     */
    842840    LogFlow(("PGM: Unhandled #PF -> route trap to recompiler!\n"));
    843     STAM_COUNTER_INC(&pVM->pgm.s.StatGCTrap0eUnhandled);
     841    STAM_COUNTER_INC(&pVM->pgm.s.StatRZTrap0eGuestPF);
    844842    return VINF_EM_RAW_GUEST_TRAP;
    845843#  else
  • trunk/src/VBox/VMM/VMMAll/PGMAllHandler.cpp

    r13062 r13085  
    807807                 * Set the flags and flush shadow PT entries.
    808808                 */
    809                 STAM_COUNTER_INC(&pVM->pgm.s.StatHandlePhysicalReset);
     809                STAM_COUNTER_INC(&pVM->pgm.s.CTX_MID_Z(Stat,PhysHandlerReset));
    810810                PPGMRAMRANGE pRam = pgmPhysGetRange(&pVM->pgm.s, GCPhys);
    811811                Assert(pRam);
     
    997997int pgmHandlerVirtualFindByPhysAddr(PVM pVM, RTGCPHYS GCPhys, PPGMVIRTHANDLER *ppVirt, unsigned *piPage)
    998998{
    999     STAM_PROFILE_START(CTXSUFF(&pVM->pgm.s.StatVirtHandleSearchByPhys), a);
     999    STAM_PROFILE_START(&pVM->pgm.s.CTX_MID_Z(Stat,VirtHandlerSearchByPhys), a);
    10001000    Assert(ppVirt);
    10011001
     
    10121012
    10131013        LogFlow(("PHYS2VIRT: found match for %RGp -> %RGv *piPage=%#x\n", GCPhys, (*ppVirt)->Core.Key, *piPage));
    1014         STAM_PROFILE_STOP(CTXSUFF(&pVM->pgm.s.StatVirtHandleSearchByPhys), a);
     1014        STAM_PROFILE_STOP(&pVM->pgm.s.CTX_MID_Z(Stat,VirtHandlerSearchByPhys), a);
    10151015        return VINF_SUCCESS;
    10161016    }
    10171017
    10181018    *ppVirt = NULL;
    1019     STAM_PROFILE_STOP(CTXSUFF(&pVM->pgm.s.StatVirtHandleSearchByPhys), a);
     1019    STAM_PROFILE_STOP(&pVM->pgm.s.CTX_MID_Z(Stat,VirtHandlerSearchByPhys), a);
    10201020    return VERR_PGM_HANDLER_NOT_FOUND;
    10211021}
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