VirtualBox

Changeset 72642 in vbox for trunk/include/VBox/vmm/em.h


Ignore:
Timestamp:
Jun 21, 2018 3:41:14 PM (6 years ago)
Author:
vboxsync
Message:

EM,IEM,VMX: Working on configuring exit history optimziations. Currently enabled in ring-0 for NEM but disabled for HM. bugref:9198

File:
1 edited

Legend:

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

    r72636 r72642  
    2929#include <VBox/types.h>
    3030#include <VBox/vmm/trpm.h>
     31#include <VBox/vmm/vmapi.h>
    3132
    3233
     
    232233 *
    233234 * @{  */
    234 #define EMEXIT_F_TYPE_MASK      UINT32_C(0x00000fff)    /**< The exit type mask. */
    235 #define EMEXIT_F_KIND_EM        UINT32_C(0x00000000)    /**< EMEXITTYPE */
    236 #define EMEXIT_F_KIND_VMX       UINT32_C(0x00001000)    /**< VT-x exit codes. */
    237 #define EMEXIT_F_KIND_SVM       UINT32_C(0x00002000)    /**< SVM exit codes. */
    238 #define EMEXIT_F_KIND_NEM       UINT32_C(0x00003000)    /**< NEMEXITTYPE */
    239 #define EMEXIT_F_KIND_XCPT      UINT32_C(0x00004000)    /**< Exception numbers (raw-mode). */
    240 #define EMEXIT_F_KIND_MASK      UINT32_C(0x00007000)
    241 #define EMEXIT_F_CS_EIP         UINT32_C(0x00010000)    /**< The PC is EIP in the low dword and CS in the high. */
    242 #define EMEXIT_F_UNFLATTENED_PC UINT32_C(0x00020000)    /**< The PC hasn't had CS.BASE added to it. */
     235#define EMEXIT_F_TYPE_MASK          UINT32_C(0x00000fff)    /**< The exit type mask. */
     236#define EMEXIT_F_KIND_EM            UINT32_C(0x00000000)    /**< EMEXITTYPE */
     237#define EMEXIT_F_KIND_VMX           UINT32_C(0x00001000)    /**< VT-x exit codes. */
     238#define EMEXIT_F_KIND_SVM           UINT32_C(0x00002000)    /**< SVM exit codes. */
     239#define EMEXIT_F_KIND_NEM           UINT32_C(0x00003000)    /**< NEMEXITTYPE */
     240#define EMEXIT_F_KIND_XCPT          UINT32_C(0x00004000)    /**< Exception numbers (raw-mode). */
     241#define EMEXIT_F_KIND_MASK          UINT32_C(0x00007000)
     242#define EMEXIT_F_CS_EIP             UINT32_C(0x00010000)    /**< The PC is EIP in the low dword and CS in the high. */
     243#define EMEXIT_F_UNFLATTENED_PC     UINT32_C(0x00020000)    /**< The PC hasn't had CS.BASE added to it. */
     244/** Preemption is currently disabled (or we're using preemption hooks). */
     245#define EMEXIT_F_PREEMPT_DISABLED   UINT32_C(0x00040000)
    243246/** Combines flags and exit type into EMHistoryAddExit() input. */
    244247#define EMEXIT_MAKE_FLAGS_AND_TYPE(a_fFlags, a_uType)   ((a_fFlags) | (uint32_t)(a_uType))
     
    369372
    370373
     374#ifdef IN_RING0
     375/** @defgroup grp_em_r0     The EM Host Context Ring-0 API
     376 * @{ */
     377VMMR0_INT_DECL(int)             EMR0InitVM(PGVM pGVM, PVM pVM);
     378/** @} */
     379#endif
     380
     381
    371382#ifdef IN_RING3
    372383/** @defgroup grp_em_r3     The EM Host Context Ring-3 API
     
    400411
    401412VMMR3_INT_DECL(int)             EMR3Init(PVM pVM);
     413VMMR3_INT_DECL(int)             EMR3InitCompleted(PVM pVM, VMINITCOMPLETED enmWhat);
    402414VMMR3_INT_DECL(void)            EMR3Relocate(PVM pVM);
    403415VMMR3_INT_DECL(void)            EMR3ResetCpu(PVMCPU pVCpu);
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