Changeset 44146 in vbox for trunk/include/VBox
- Timestamp:
- Dec 17, 2012 3:29:40 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 82807
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_vmx.h
r44096 r44146 455 455 #define VMX_EXIT_INVALID -1 456 456 /** 0 Exception or non-maskable interrupt (NMI). */ 457 #define VMX_EXIT_ EXCEPTION_NMI0457 #define VMX_EXIT_XCPT_NMI 0 458 458 /** 1 External interrupt. */ 459 #define VMX_EXIT_EXT ERNAL_IRQ1459 #define VMX_EXIT_EXT_INT 1 460 460 /** 2 Triple fault. */ 461 461 #define VMX_EXIT_TRIPLE_FAULT 2 … … 468 468 /** 6 Other SMI. */ 469 469 #define VMX_EXIT_SMI_IRQ 6 470 /** 7 Interrupt window . */471 #define VMX_EXIT_I RQ_WINDOW 7470 /** 7 Interrupt window exiting. */ 471 #define VMX_EXIT_INT_WINDOW 7 472 472 /** 9 Task switch. */ 473 473 #define VMX_EXIT_TASK_SWITCH 9 … … 843 843 #define VMX_VMCS32_CTRL_ENTRY_CONTROLS 0x4012 844 844 #define VMX_VMCS32_CTRL_ENTRY_MSR_LOAD_COUNT 0x4014 845 #define VMX_VMCS32_CTRL_ENTRY_I RQ_INFO0x4016845 #define VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO 0x4016 846 846 #define VMX_VMCS32_CTRL_ENTRY_EXCEPTION_ERRCODE 0x4018 847 847 #define VMX_VMCS32_CTRL_ENTRY_INSTR_LENGTH 0x401A … … 869 869 */ 870 870 /** VM Exit as soon as RFLAGS.IF=1 and no blocking is active. */ 871 #define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_I RQ_WINDOW_EXIT RT_BIT(2)871 #define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT RT_BIT(2) 872 872 /** Use timestamp counter offset. */ 873 873 #define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET RT_BIT(3) … … 972 972 #define VMX_VMCS_CTRL_EXIT_CONTROLS_LOAD_PERF_MSR RT_BIT(12) 973 973 /** Acknowledge external interrupts with the irq controller if one caused a VM-exit. */ 974 #define VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT ERNAL_IRQRT_BIT(15)974 #define VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT_INT RT_BIT(15) 975 975 /** This control determines whether the guest IA32_PAT MSR is saved on VM exit. */ 976 976 #define VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_GUEST_PAT_MSR RT_BIT(18) … … 998 998 /** @} */ 999 999 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)) 1011 1018 /** 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)) 1013 1020 /** @} */ 1014 1021
Note:
See TracChangeset
for help on using the changeset viewer.