VirtualBox

Changeset 44146 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Dec 17, 2012 3:29:40 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
82807
Message:

VMM: HM bits.

File:
1 edited

Legend:

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

    r44096 r44146  
    455455#define VMX_EXIT_INVALID            -1
    456456/** 0 Exception or non-maskable interrupt (NMI). */
    457 #define VMX_EXIT_EXCEPTION_NMI      0
     457#define VMX_EXIT_XCPT_NMI           0
    458458/** 1 External interrupt. */
    459 #define VMX_EXIT_EXTERNAL_IRQ       1
     459#define VMX_EXIT_EXT_INT            1
    460460/** 2 Triple fault. */
    461461#define VMX_EXIT_TRIPLE_FAULT       2
     
    468468/** 6 Other SMI. */
    469469#define VMX_EXIT_SMI_IRQ            6
    470 /** 7 Interrupt window. */
    471 #define VMX_EXIT_IRQ_WINDOW         7
     470/** 7 Interrupt window exiting. */
     471#define VMX_EXIT_INT_WINDOW         7
    472472/** 9 Task switch. */
    473473#define VMX_EXIT_TASK_SWITCH        9
     
    843843#define VMX_VMCS32_CTRL_ENTRY_CONTROLS                          0x4012
    844844#define VMX_VMCS32_CTRL_ENTRY_MSR_LOAD_COUNT                    0x4014
    845 #define VMX_VMCS32_CTRL_ENTRY_IRQ_INFO                          0x4016
     845#define VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO                 0x4016
    846846#define VMX_VMCS32_CTRL_ENTRY_EXCEPTION_ERRCODE                 0x4018
    847847#define VMX_VMCS32_CTRL_ENTRY_INSTR_LENGTH                      0x401A
     
    869869 */
    870870/** VM Exit as soon as RFLAGS.IF=1 and no blocking is active. */
    871 #define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT        RT_BIT(2)
     871#define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT        RT_BIT(2)
    872872/** Use timestamp counter offset. */
    873873#define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET             RT_BIT(3)
     
    972972#define VMX_VMCS_CTRL_EXIT_CONTROLS_LOAD_PERF_MSR               RT_BIT(12)
    973973/** Acknowledge external interrupts with the irq controller if one caused a VM-exit. */
    974 #define VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ            RT_BIT(15)
     974#define VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT_INT                 RT_BIT(15)
    975975/** This control determines whether the guest IA32_PAT MSR is saved on VM exit. */
    976976#define VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_GUEST_PAT_MSR          RT_BIT(18)
     
    998998/** @} */
    999999
    1000 /** @name VMX_VMCS_RO_EXIT_INTERRUPTION_INFO
    1001  * @{
    1002  */
    1003 #define VMX_EXIT_INTERRUPTION_INFO_VECTOR(a)            (a & 0xff)
    1004 #define VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT           8
    1005 #define VMX_EXIT_INTERRUPTION_INFO_TYPE(a)              ((a >> VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
    1006 #define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID       RT_BIT(11)
    1007 #define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(a) (a & VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID)
    1008 #define VMX_EXIT_INTERRUPTION_INFO_NMI_UNBLOCK(a)       (a & RT_BIT(12))
    1009 #define VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT          31
    1010 #define VMX_EXIT_INTERRUPTION_INFO_VALID(a)             (a & RT_BIT(31))
     1000/** @name VMX_VMCS32_RO_EXIT_REASON
     1001 * @{
     1002 */
     1003#define VMX_EXIT_REASON_BASIC(a)                                  (a & 0xffff)
     1004#define VMX_EXIT_REASON_VMENTRY_FAILED(a)                         (a & RT_BIT(31))
     1005/** @} */
     1006
     1007/** @name VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO
     1008 * @{
     1009 */
     1010#define VMX_EXIT_INTERRUPTION_INFO_VECTOR(a)                      (a & 0xff)
     1011#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT                     8
     1012#define VMX_EXIT_INTERRUPTION_INFO_TYPE(a)                        ((a >> VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
     1013#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID               RT_BIT(11)
     1014#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(a)         (a & VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID)
     1015#define VMX_EXIT_INTERRUPTION_INFO_NMI_UNBLOCK(a)                 (a & RT_BIT(12))
     1016#define VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT                    31
     1017#define VMX_EXIT_INTERRUPTION_INFO_VALID(a)                       (a & RT_BIT(31))
    10111018/** Construct an irq event injection value from the exit interruption info value (same except that bit 12 is reserved). */
    1012 #define VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(a)      (a & ~RT_BIT(12))
     1019#define VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(a)        (a & ~RT_BIT(12))
    10131020/** @} */
    10141021
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