VirtualBox

Changeset 73311 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Jul 23, 2018 7:29:34 AM (7 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Nested VMX: bugref:9180 Cleanups, add new VMCS bits.

File:
1 edited

Legend:

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

    r73310 r73311  
    10381038
    10391039
    1040 /** @name VM Instruction Errors
     1040/** @name VM Instruction Errors.
    10411041 * @{
    10421042 */
     
    10951095
    10961096
    1097 /** @name VMX MSRs - Basic VMX information.
     1097/** @name VMX MSR - Basic VMX information.
    10981098 * @{
    10991099 */
     
    11291129
    11301130
    1131 /** @name VMX MSRs - Misc VMX info.
     1131/** @name VMX MSR - Misc VMX info.
    11321132 * @{
    11331133 */
     
    11541154
    11551155
    1156 /** @name VMX MSRs - VMCS enumeration field info
     1156/** @name VMX MSR - VMCS enumeration field info
    11571157 * @{
    11581158 */
     
    11621162
    11631163
    1164 /** @name MSR_IA32_VMX_EPT_VPID_CAPS; EPT capabilities MSR
     1164/** @name VMX MSR - EPT/VPID capabilities.
    11651165 * @{
    11661166 */
     
    11811181#define MSR_IA32_VMX_EPT_VPID_CAP_INVVPID_SINGLE_CONTEXT_RETAIN_GLOBALS  RT_BIT_64(43)
    11821182/** @} */
     1183
    11831184
    11841185/** @name Extended Page Table Pointer (EPTP)
     
    14741475
    14751476
    1476 /** @name VMX_VMCS_CTRL_PIN_EXEC
     1477/** @name Pin-based VM-execution controls.
    14771478 * @{
    14781479 */
     
    14931494
    14941495
    1495 /** @name VMX_VMCS_CTRL_PROC_EXEC
     1496/** @name Processor-based VM-execution controls.
    14961497 * @{
    14971498 */
     
    15431544
    15441545
    1545 /** @name VMX_VMCS_CTRL_PROC_EXEC2
     1546/** @name Secondary Processor-based VM-execution controls.
    15461547 * @{
    15471548 */
     
    15931594
    15941595
    1595 /** @name VMX_VMCS_CTRL_ENTRY
     1596/** @name VM-entry controls.
    15961597 * @{
    15971598 */
     
    16141615
    16151616
    1616 /** @name VMX_VMCS_CTRL_EXIT
     1617/** @name VM-exit controls.
    16171618 * @{
    16181619 */
     
    16391640
    16401641
    1641 /** @name VMX_VMCS_CTRL_VMFUNC
     1642/** @name VM function controls.
    16421643 * @{
    16431644 */
     
    16471648
    16481649
    1649 /** @name VMX_VMCS32_RO_EXIT_REASON
     1650/** @name VM-exit reason.
    16501651 * @{
    16511652 */
     
    16541655
    16551656
    1656 /** @name VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO
     1657/** @name VM-entry interruption information.
    16571658 * @{
    16581659 */
     
    16631664
    16641665
    1665 /** @name VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO
     1666/** @name VM-exit interruption information.
    16661667 * @{
    16671668 */
     
    16811682
    16821683
    1683 /** @name VMX_VMCS_RO_EXIT_INTERRUPTION_INFO_TYPE
     1684/** @name VM-exit interruption information types.
    16841685 * @{
    16851686 */
     
    16931694
    16941695
    1695 /** @name VMX_VMCS32_RO_IDT_VECTORING_INFO
     1696/** @name IDT-vectoring information.
    16961697 * @{
    16971698 */
     
    17061707
    17071708
    1708 /** @name VMX_VMCS_RO_IDT_VECTORING_INFO_TYPE
     1709/** @name IDT-vectoring information vector types.
    17091710 * @{
    17101711 */
     
    17181719
    17191720
    1720 /** @name VMX_VMCS_GUEST_ACTIVITY_STATE
     1721/** @name Guest-activity states.
    17211722 * @{
    17221723 */
     
    17321733
    17331734
    1734 /** @name VMX_VMCS32_GUEST_INT_STATE
     1735/** @name Guest-interruptibility states.
    17351736 * @{
    17361737 */
     
    17421743
    17431744
    1744 /** @name VMX_VMCS_RO_EXIT_QUALIFICATION
     1745/** @name Exit qualification for Mov DRx.
    17451746 * @{
    17461747 */
     
    17591760
    17601761
    1761 /** @name VMX_EXIT_QUAL_DRX_DIRECTION values
     1762/** @name Exit qualification for debug exceptions types.
    17621763 * @{
    17631764 */
     
    17671768
    17681769
    1769 /** @name CRx accesses
     1770/** @name Exit qualification for control-register accesses.
    17701771 * @{
    17711772 */
     
    17881789
    17891790
    1790 /** @name VMX_EXIT_QUAL_CRX_ACCESS
     1791/** @name Exit qualification for control-register access types.
    17911792 * @{
    17921793 */
     
    17981799
    17991800
    1800 /** @name VMX_EXIT_QUAL_TASK_SWITCH
     1801/** @name Exit qualification for task switch.
    18011802 * @{
    18021803 */
     
    18141815
    18151816
    1816 /** @name VMX_EXIT_EPT_VIOLATION
     1817/** @name Exit qualification for EPT violations.
    18171818 * @{
    18181819 */
     
    18391840
    18401841
    1841 /** @name VMX_EXIT_PORT_IO
     1842/** @name Exit qualification for I/O instructions.
    18421843 * @{
    18431844 */
     
    18581859
    18591860
    1860 /** @name VMX_EXIT_QUAL_IO_DIRECTION
     1861/** @name Exit qualification for I/O instruction types.
    18611862 * @{
    18621863 */
     
    18661867
    18671868
    1868 /** @name VMX_EXIT_QUAL_IO_ENCODING
     1869/** @name Exit qualification for I/O instruction encoding.
    18691870 * @{
    18701871 */
     
    18741875
    18751876
    1876 /** @name VMX_EXIT_APIC_ACCESS
     1877/** @name Exit qualification for APIC-access VM-exits from linear and
     1878 *        guest-physical accesses.
    18771879 * @{
    18781880 */
     
    18861888
    18871889
    1888 /** @name VMX_EXIT_QUAL_APIC_ACCESS_TYPE return values
     1890/** @name Exit qualification for linear address APIC-access types.
    18891891 * @{
    18901892 */
     
    20142016
    20152017
    2016 /** @name VMX_VMCS_GUEST_DEBUG_EXCEPTIONS
    2017  * Bits 4-11, 13 and 15-63 are reserved.
     2018/** @name Format of Pending-Debug-Exceptions.
     2019 * Bits 4-11, 13, 15 and 17-63 are reserved.
    20182020 * @{
    20192021 */
    20202022/** Hardware breakpoint 0 was met. */
    2021 #define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS_B0                      RT_BIT(0)
     2023#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP0                   RT_BIT(0)
    20222024/** Hardware breakpoint 1 was met. */
    2023 #define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS_B1                      RT_BIT(1)
     2025#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP1                   RT_BIT(1)
    20242026/** Hardware breakpoint 2 was met. */
    2025 #define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS_B2                      RT_BIT(2)
     2027#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP2                   RT_BIT(2)
    20262028/** Hardware breakpoint 3 was met. */
    2027 #define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS_B3                      RT_BIT(3)
     2029#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BP3                   RT_BIT(3)
    20282030/** At least one data or IO breakpoint was hit. */
    2029 #define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS_BREAKPOINT_ENABLED      RT_BIT(12)
     2031#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_EN_BP                 RT_BIT(12)
    20302032/** A debug exception would have been triggered by single-step execution mode. */
    2031 #define VMX_VMCS_GUEST_DEBUG_EXCEPTIONS_BS                      RT_BIT(14)
     2033#define VMX_VMCS_GUEST_PENDING_DEBUG_XCPT_BS                    RT_BIT(14)
     2034/** A debug exception occurred inside an RTM region.   */
     2035#define VMX_VMCS_GUEST_PENDING_DEBUG_RTM                        RT_BIT(16)
    20322036/** @} */
    20332037
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