VirtualBox

Changeset 103516 in vbox for trunk/include


Ignore:
Timestamp:
Feb 22, 2024 3:52:49 AM (11 months ago)
Author:
vboxsync
Message:

VMM/IEM,EM: Add all kind of exceptions to the exit history, adding a hack to supply the error code and cr2 when present. bugref:10376

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

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

    r99920 r103516  
    176176#define EMEXIT_F_KIND_SVM           UINT32_C(0x00002000)    /**< SVM exit codes. */
    177177#define EMEXIT_F_KIND_NEM           UINT32_C(0x00003000)    /**< NEMEXITTYPE */
    178 #define EMEXIT_F_KIND_XCPT          UINT32_C(0x00004000)    /**< Exception numbers (raw-mode). */
     178#define EMEXIT_F_KIND_IEM           UINT32_C(0x00004000)    /**< IEM specific stuff. */
     179#define EMEXIT_F_KIND_XCPT          UINT32_C(0x00005000)    /**< Exception numbers (IEM,raw-mode). */
    179180#define EMEXIT_F_KIND_MASK          UINT32_C(0x00007000)
    180181#define EMEXIT_F_CS_EIP             UINT32_C(0x00010000)    /**< The PC is EIP in the low dword and CS in the high. */
     
    182183/** HM is calling (from ring-0).  Preemption is currently disabled or we're using preemption hooks. */
    183184#define EMEXIT_F_HM                 UINT32_C(0x00040000)
     185#define EMEXIT_F_XCPT_ERRCD         UINT32_C(0x00000800)    /**< Additional record w/ the error code stored as PC. */
     186#define EMEXIT_F_XCPT_CR2           UINT32_C(0x00000400)    /**< Additional record w/ the CR3 value stored as PC. */
    184187/** Combines flags and exit type into EMHistoryAddExit() input. */
    185188#define EMEXIT_MAKE_FT(a_fFlags, a_uType)   ((a_fFlags) | (uint32_t)(a_uType))
  • trunk/include/VBox/vmm/iem.h

    r102663 r103516  
    215215VMMR3DECL(void)     IEMR3Relocate(PVM pVM);
    216216VMMR3_INT_DECL(VBOXSTRICTRC) IEMR3ProcessForceFlag(PVM pVM, PVMCPUCC pVCpu, VBOXSTRICTRC rcStrict);
     217VMMR3DECL(const char *) IEMR3GetExitName(uint32_t uExit);
    217218/** @} */
    218219
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