VirtualBox

Changeset 100230 in vbox for trunk


Ignore:
Timestamp:
Jun 20, 2023 11:09:44 PM (22 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
157940
Message:

VBox/vmm/vm.h: Corrected VMCPU_FF_HIGH_PRIORITY_POST_REPSTR_MASK to not include VMCPU_FF_PGM_SYNC_CR3 and VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL as these aren't relevant to IEM and not handled by the innermost loops, so we'd end up spinning in string instructions till something got us out to the main EM loop. bugref:10369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/vm.h

    r100000 r100230  
    669669/** VMCPU flags that cause the REP[|NE|E] STRINS loops to yield immediately. */
    670670#ifdef IN_RING3
    671 # define VMCPU_FF_HIGH_PRIORITY_POST_REPSTR_MASK (  VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_DBGF \
    672                                                   | VMCPU_FF_VMX_MTF )
    673 #else
    674 # define VMCPU_FF_HIGH_PRIORITY_POST_REPSTR_MASK (  VMCPU_FF_TO_R3 | VMCPU_FF_IEM | VMCPU_FF_IOM | VMCPU_FF_PGM_SYNC_CR3 \
    675                                                   | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_DBGF | VMCPU_FF_VMX_MTF )
     671# define VMCPU_FF_HIGH_PRIORITY_POST_REPSTR_MASK (VMCPU_FF_DBGF | VMCPU_FF_VMX_MTF)
     672#else
     673# define VMCPU_FF_HIGH_PRIORITY_POST_REPSTR_MASK (VMCPU_FF_TO_R3 | VMCPU_FF_IEM | VMCPU_FF_IOM | VMCPU_FF_DBGF | VMCPU_FF_VMX_MTF)
    676674#endif
    677675
     
    727725 * assisted execution. */
    728726#define VMCPU_FF_ALL_REM_MASK                   (~(VMCPU_FF_HIGH_PRIORITY_PRE_RAW_MASK | VMCPU_FF_PDM_CRITSECT | VMCPU_FF_TLB_FLUSH))
     727
     728#ifndef VBOX_FOR_DTRACE_LIB
     729AssertCompile(  ((VM_FF_HIGH_PRIORITY_POST_REPSTR_MASK | VM_FF_YIELD_REPSTR_MASK)
     730               & (VM_FF_HIGH_PRIORITY_PRE_RAW_MASK & ~VM_FF_ALL_REM_MASK)) == 0);
     731AssertCompile((VMCPU_FF_HIGH_PRIORITY_POST_REPSTR_MASK & (VMCPU_FF_HIGH_PRIORITY_PRE_RAW_MASK & ~VMCPU_FF_ALL_REM_MASK)) == 0);
     732#endif
     733
    729734/** @} */
    730735
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