VirtualBox

Changeset 72207 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
May 14, 2018 7:16:43 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
122646
Message:

NEM: Inject interrupts from the inner NEM loop, use interrupt windows. bugref:9044

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/NEMInternal.h

    r71293 r72207  
    7676
    7777/** The CPUMCTX_EXTRN_XXX mask for IEM. */
    78 # define NEM_WIN_CPUMCTX_EXTRN_MASK_FOR_IEM     CPUMCTX_EXTRN_ALL
     78# define NEM_WIN_CPUMCTX_EXTRN_MASK_FOR_IEM     (CPUMCTX_EXTRN_ALL | CPUMCTX_EXTRN_NEM_WIN_INHIBIT_INT | CPUMCTX_EXTRN_NEM_WIN_INHIBIT_NMI)
     79
     80/** @name Windows: Interrupt window flags (NEM_WIN_INTW_F_XXX).
     81 * @{  */
     82# define NEM_WIN_INTW_F_NMI             UINT8_C(0x01)
     83# define NEM_WIN_INTW_F_REGULAR         UINT8_C(0x02)
     84# define NEM_WIN_INTW_F_PRIO_MASK       UINT8_C(0x3c)
     85# define NEM_WIN_INTW_F_PRIO_SHIFT      2
     86/** @} */
    7987
    8088#endif /* RT_OS_WINDOWS */
     
    171179    uint32_t                    u32Magic;
    172180#ifdef RT_OS_WINDOWS
     181    /** The current state of the interrupt windows (NEM_WIN_INTW_F_XXX). */
     182    uint8_t                     fCurrentInterruptWindows;
     183    /** The desired state of the interrupt windows (NEM_WIN_INTW_F_XXX). */
     184    uint8_t                     fDesiredInterruptWindows;
     185    /** Last copy of HV_X64_VP_EXECUTION_STATE::InterruptShadow. */
     186    bool                        fLastInterruptShadow : 1;
     187    bool                        afPadding[1];
    173188# ifdef NEM_WIN_USE_OUR_OWN_RUN_API
    174189    /** Pending VERR_NEM_CHANGE_PGM_MODE or VERR_NEM_FLUSH_TLB. */
     
    218233    STAMCOUNTER                 StatExitMemIntercept;
    219234    STAMCOUNTER                 StatExitHalt;
     235    STAMCOUNTER                 StatExitInterruptWindow;
    220236    STAMCOUNTER                 StatGetMsgTimeout;
    221237    STAMCOUNTER                 StatStopCpuSuccess;
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