VirtualBox

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


Ignore:
Timestamp:
Feb 12, 2025 3:35:15 PM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167502
Message:

VMM/IEM: Removed memory write stats since nobody is using the anymore (consumer was PATM); mark APIs as internal where possible. jiraref:VBP-1431

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

Legend:

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

    r106061 r108186  
    981981#endif
    982982
    983     VBOXSTRICTRC rc = IEMExecOneBypassEx(pVCpu, NULL /*pcbWritten*/);
     983    VBOXSTRICTRC rc = IEMExecOneBypass(pVCpu);
    984984    if (RT_UNLIKELY(   rc == VERR_IEM_ASPECT_NOT_IMPLEMENTED
    985985                    || rc == VERR_IEM_INSTR_NOT_IMPLEMENTED))
  • trunk/src/VBox/VMM/VMMAll/IEMAll-armv8.cpp

    r106061 r108186  
    4949*********************************************************************************************************************************/
    5050
    51 VMMDECL(VBOXSTRICTRC) IEMExecForExits(PVMCPUCC pVCpu, uint32_t fWillExit, uint32_t cMinInstructions, uint32_t cMaxInstructions,
    52                                       uint32_t cMaxInstructionsWithoutExits, PIEMEXECFOREXITSTATS pStats)
     51VMM_INT_DECL(VBOXSTRICTRC)
     52IEMExecForExits(PVMCPUCC pVCpu, uint32_t fWillExit, uint32_t cMinInstructions, uint32_t cMaxInstructions,
     53                uint32_t cMaxInstructionsWithoutExits, PIEMEXECFOREXITSTATS pStats)
    5354{
    5455    AssertReleaseFailed();
     
    5960
    6061
    61 VMMDECL(VBOXSTRICTRC) IEMExecLots(PVMCPUCC pVCpu, uint32_t cMaxInstructions, uint32_t cPollRate, uint32_t *pcInstructions)
     62VMM_INT_DECL(VBOXSTRICTRC) IEMExecLots(PVMCPUCC pVCpu, uint32_t cMaxInstructions, uint32_t cPollRate, uint32_t *pcInstructions)
    6263{
    6364    AssertReleaseFailed();
     
    6768
    6869
    69 VMMDECL(VBOXSTRICTRC) IEMExecOne(PVMCPUCC pVCpu)
     70VMM_INT_DECL(VBOXSTRICTRC) IEMExecOne(PVMCPUCC pVCpu)
    7071{
    7172    AssertReleaseFailed();
     
    7576
    7677
    77 VMMDECL(VBOXSTRICTRC) IEMExecOneWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
    78                                                    const void *pvOpcodeBytes, size_t cbOpcodeBytes)
     78VMM_INT_DECL(VBOXSTRICTRC) IEMExecOneWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
     79                                                        const void *pvOpcodeBytes, size_t cbOpcodeBytes)
    7980{
    8081    AssertReleaseFailed();
     
    8485
    8586
    86 VMMDECL(VBOXSTRICTRC) IEMExecOneBypassEx(PVMCPUCC pVCpu, uint32_t *pcbWritten)
     87VMM_INT_DECL(VBOXSTRICTRC) IEMExecOneBypass(PVMCPUCC pVCpu)
    8788{
    8889    AssertReleaseFailed();
    89     RT_NOREF(pVCpu, pcbWritten);
     90    RT_NOREF(pVCpu);
    9091    return VERR_NOT_IMPLEMENTED;
    9192}
    9293
    9394
    94 VMMDECL(VBOXSTRICTRC) IEMExecOneBypassWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
    95                                                          const void *pvOpcodeBytes, size_t cbOpcodeBytes)
     95VMM_INT_DECL(VBOXSTRICTRC) IEMExecOneBypassWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
     96                                                              const void *pvOpcodeBytes, size_t cbOpcodeBytes)
    9697{
    9798    AssertReleaseFailed();
     
    101102
    102103
    103 VMMDECL(VBOXSTRICTRC) IEMInjectTrpmEvent(PVMCPUCC pVCpu)
     104VMM_INT_DECL(VBOXSTRICTRC) IEMInjectTrpmEvent(PVMCPUCC pVCpu)
    104105{
    105106    AssertReleaseFailed();
  • trunk/src/VBox/VMM/VMMAll/IEMAll.cpp

    r107113 r108186  
    61216121#undef  LOG_GROUP
    61226122#define LOG_GROUP LOG_GROUP_IEM_MEM
    6123 
    6124 /**
    6125  * Updates the IEMCPU::cbWritten counter if applicable.
    6126  *
    6127  * @param   pVCpu               The cross context virtual CPU structure of the calling thread.
    6128  * @param   fAccess             The access being accounted for.
    6129  * @param   cbMem               The access size.
    6130  */
    6131 DECL_FORCE_INLINE(void) iemMemUpdateWrittenCounter(PVMCPUCC pVCpu, uint32_t fAccess, size_t cbMem)
    6132 {
    6133     if (   (fAccess & (IEM_ACCESS_WHAT_MASK | IEM_ACCESS_TYPE_WRITE)) == (IEM_ACCESS_WHAT_STACK | IEM_ACCESS_TYPE_WRITE)
    6134         || (fAccess & (IEM_ACCESS_WHAT_MASK | IEM_ACCESS_TYPE_WRITE)) == (IEM_ACCESS_WHAT_DATA  | IEM_ACCESS_TYPE_WRITE) )
    6135         pVCpu->iem.s.cbWritten += (uint32_t)cbMem;
    6136 }
    6137 
    61386123
    61396124/**
     
    67506735    pVCpu->iem.s.cActiveMappings++;
    67516736
    6752     iemMemUpdateWrittenCounter(pVCpu, fAccess, cbMem);
    67536737    *ppvMem = pbBuf;
    67546738    *pbUnmapInfo = iMemMap | 0x08 | ((fAccess & IEM_ACCESS_TYPE_MASK) << 4);
     
    68396823    pVCpu->iem.s.cActiveMappings++;
    68406824
    6841     iemMemUpdateWrittenCounter(pVCpu, fAccess, cbMem);
    68426825    *ppvMem = pbBuf;
    68436826    *pbUnmapInfo = iMemMap | 0x08 | ((fAccess & IEM_ACCESS_TYPE_MASK) << 4);
     
    72147197    pVCpu->iem.s.cActiveMappings += 1;
    72157198
    7216     iemMemUpdateWrittenCounter(pVCpu, fAccess, cbMem);
    72177199    *ppvMem = pvMem;
    72187200    *pbUnmapInfo = iMemMap | 0x08 | ((fAccess & IEM_ACCESS_TYPE_MASK) << 4);
     
    77107692    pVCpu->iem.s.iNextMapping = iMemMap + 1;
    77117693    pVCpu->iem.s.cActiveMappings++;
    7712 
    7713     iemMemUpdateWrittenCounter(pVCpu, fAccess, cbMem);
    77147694
    77157695    *pbUnmapInfo = iMemMap | 0x08 | ((fAccess & IEM_ACCESS_TYPE_MASK) << 4);
     
    97099689
    97109690/**
    9711  * The actual code execution bits of IEMExecOne, IEMExecOneEx, and
    9712  * IEMExecOneWithPrefetchedByPC.
     9691 * The actual code execution bits of IEMExecOne, IEMExecOneWithPrefetchedByPC,
     9692 * IEMExecOneBypass and friends.
    97139693 *
    97149694 * Similar code is found in IEMExecLots.
     
    98469826 * @param   pVCpu       The cross context virtual CPU structure of the calling EMT.
    98479827 */
    9848 VMMDECL(VBOXSTRICTRC) IEMExecOne(PVMCPUCC pVCpu)
     9828VMM_INT_DECL(VBOXSTRICTRC) IEMExecOne(PVMCPUCC pVCpu)
    98499829{
    98509830    AssertCompile(sizeof(pVCpu->iem.s) <= sizeof(pVCpu->iem.padding)); /* (tstVMStruct can't do it's job w/o instruction stats) */
     
    98699849
    98709850
    9871 VMMDECL(VBOXSTRICTRC) IEMExecOneEx(PVMCPUCC pVCpu, uint32_t *pcbWritten)
    9872 {
    9873     uint32_t const cbOldWritten = pVCpu->iem.s.cbWritten;
    9874     VBOXSTRICTRC rcStrict = iemInitDecoderAndPrefetchOpcodes(pVCpu, 0 /*fExecOpts*/);
    9875     if (rcStrict == VINF_SUCCESS)
    9876     {
    9877         rcStrict = iemExecOneInner(pVCpu, true, "IEMExecOneEx");
    9878         if (pcbWritten)
    9879             *pcbWritten = pVCpu->iem.s.cbWritten - cbOldWritten;
    9880     }
    9881     else if (pVCpu->iem.s.cActiveMappings > 0)
    9882         iemMemRollback(pVCpu);
    9883 
    9884     return rcStrict;
    9885 }
    9886 
    9887 
    9888 VMMDECL(VBOXSTRICTRC) IEMExecOneWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
    9889                                                    const void *pvOpcodeBytes, size_t cbOpcodeBytes)
     9851VMM_INT_DECL(VBOXSTRICTRC) IEMExecOneWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
     9852                                                        const void *pvOpcodeBytes, size_t cbOpcodeBytes)
    98909853{
    98919854    VBOXSTRICTRC rcStrict;
     
    99189881
    99199882
    9920 VMMDECL(VBOXSTRICTRC) IEMExecOneBypassEx(PVMCPUCC pVCpu, uint32_t *pcbWritten)
    9921 {
    9922     uint32_t const cbOldWritten = pVCpu->iem.s.cbWritten;
     9883VMM_INT_DECL(VBOXSTRICTRC) IEMExecOneBypass(PVMCPUCC pVCpu)
     9884{
    99239885    VBOXSTRICTRC rcStrict = iemInitDecoderAndPrefetchOpcodes(pVCpu, IEM_F_BYPASS_HANDLERS);
    99249886    if (rcStrict == VINF_SUCCESS)
    9925     {
    9926         rcStrict = iemExecOneInner(pVCpu, false, "IEMExecOneBypassEx");
    9927         if (pcbWritten)
    9928             *pcbWritten = pVCpu->iem.s.cbWritten - cbOldWritten;
    9929     }
     9887        rcStrict = iemExecOneInner(pVCpu, false, "IEMExecOneBypass");
    99309888    else if (pVCpu->iem.s.cActiveMappings > 0)
    99319889        iemMemRollback(pVCpu);
     
    99359893
    99369894
    9937 VMMDECL(VBOXSTRICTRC) IEMExecOneBypassWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
    9938                                                          const void *pvOpcodeBytes, size_t cbOpcodeBytes)
     9895VMM_INT_DECL(VBOXSTRICTRC) IEMExecOneBypassWithPrefetchedByPC(PVMCPUCC pVCpu, uint64_t OpcodeBytesPC,
     9896                                                              const void *pvOpcodeBytes, size_t cbOpcodeBytes)
    99399897{
    99409898    VBOXSTRICTRC rcStrict;
     
    99779935 * @param   pVCpu   The cross context virtual CPU structure of the calling EMT.
    99789936 */
    9979 VMMDECL(VBOXSTRICTRC) IEMExecOneIgnoreLock(PVMCPUCC pVCpu)
     9937VMM_INT_DECL(VBOXSTRICTRC) IEMExecOneIgnoreLock(PVMCPUCC pVCpu)
    99809938{
    99819939    /*
     
    1005210010
    1005310011
    10054 VMMDECL(VBOXSTRICTRC) IEMExecLots(PVMCPUCC pVCpu, uint32_t cMaxInstructions, uint32_t cPollRate, uint32_t *pcInstructions)
     10012VMM_INT_DECL(VBOXSTRICTRC) IEMExecLots(PVMCPUCC pVCpu, uint32_t cMaxInstructions, uint32_t cPollRate, uint32_t *pcInstructions)
    1005510013{
    1005610014    uint32_t const cInstructionsAtStart = pVCpu->iem.s.cInstructions;
     
    1022310181 * @param   pStats              Where to return statistics.
    1022410182 */
    10225 VMMDECL(VBOXSTRICTRC) IEMExecForExits(PVMCPUCC pVCpu, uint32_t fWillExit, uint32_t cMinInstructions, uint32_t cMaxInstructions,
    10226                                       uint32_t cMaxInstructionsWithoutExits, PIEMEXECFOREXITSTATS pStats)
     10183VMM_INT_DECL(VBOXSTRICTRC)
     10184IEMExecForExits(PVMCPUCC pVCpu, uint32_t fWillExit, uint32_t cMinInstructions, uint32_t cMaxInstructions,
     10185                uint32_t cMaxInstructionsWithoutExits, PIEMEXECFOREXITSTATS pStats)
    1022710186{
    1022810187    NOREF(fWillExit); /** @todo define flexible exit crits */
     
    1047010429 * @param   pVCpu               The cross context virtual CPU structure.
    1047110430 */
    10472 VMMDECL(VBOXSTRICTRC) IEMInjectTrpmEvent(PVMCPUCC pVCpu)
     10431VMM_INT_DECL(VBOXSTRICTRC) IEMInjectTrpmEvent(PVMCPUCC pVCpu)
    1047310432{
    1047410433#ifndef IEM_IMPLEMENTS_TASKSWITCH
Note: See TracChangeset for help on using the changeset viewer.

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