VirtualBox

Changeset 81238 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Oct 14, 2019 6:51:37 AM (5 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Nits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r81237 r81238  
    92399239            &&  (u64GuestCr0 & X86_CR0_PG)
    92409240            && !(u64GuestCr0 & X86_CR0_PE))
    9241         {
    92429241            HMVMX_ERROR_BREAK(VMX_IGS_CR0_PG_PE_COMBO);
    9243         }
    92449242
    92459243        /*
     
    92849282        if (   !fLongModeGuest
    92859283            || !pCtx->cs.Attr.n.u1Long)
    9286         {
    92879284            HMVMX_CHECK_BREAK(!(u64Val & UINT64_C(0xffffffff00000000)), VMX_IGS_LONGMODE_RIP_INVALID);
    9288         }
    92899285        /** @todo If the processor supports N < 64 linear-address bits, bits 63:N
    92909286         *        must be identical if the "IA-32e mode guest" VM-entry
     
    93249320        if (   !fLongModeGuest
    93259321            && (u64GuestCr4 & X86_CR4_PCIDE))
    9326         {
    93279322            HMVMX_ERROR_BREAK(VMX_IGS_CR4_PCIDE);
    9328         }
    93299323
    93309324        /** @todo CR3 field must be such that bits 63:52 and bits in the range
     
    93339327        if (   (pVmcsInfo->u32EntryCtls & VMX_ENTRY_CTLS_LOAD_DEBUG)
    93349328            && (pCtx->dr[7] & X86_DR7_MBZ_MASK))
    9335         {
    93369329            HMVMX_ERROR_BREAK(VMX_IGS_DR7_RESERVED);
    9337         }
    93389330
    93399331        rc = VMXReadVmcsNw(VMX_VMCS_HOST_SYSENTER_ESP, &u64Val);
     
    93739365                    && u8Val != 6 /* WB */
    93749366                    && u8Val != 7 /* UC- */)
    9375                 {
    93769367                    HMVMX_ERROR_BREAK(VMX_IGS_PAT_MSR_INVALID);
    9377                 }
    93789368                u64Val >>= 8;
    93799369            }
     
    94349424            if (   !(pCtx->cr0 & X86_CR0_PE)
    94359425                || pCtx->cs.Attr.n.u4Type == 3)
    9436             {
    94379426                HMVMX_CHECK_BREAK(!pCtx->ss.Attr.n.u2Dpl, VMX_IGS_SS_ATTR_DPL_INVALID);
    9438             }
     9427
    94399428            if (!(pCtx->ss.Attr.u & X86DESCATTR_UNUSABLE))
    94409429            {
     
    95899578        HMVMX_CHECK_BREAK(X86_IS_CANONICAL(pCtx->tr.u64Base), VMX_IGS_TR_BASE_NOT_CANONICAL);
    95909579        if (fLongModeGuest)
    9591         {
    95929580            HMVMX_CHECK_BREAK(pCtx->tr.Attr.n.u4Type == 11,           /* 64-bit busy TSS. */
    95939581                              VMX_IGS_LONGMODE_TR_ATTR_TYPE_INVALID);
    9594         }
    95959582        else
    9596         {
    95979583            HMVMX_CHECK_BREAK(   pCtx->tr.Attr.n.u4Type == 3          /* 16-bit busy TSS. */
    95989584                              || pCtx->tr.Attr.n.u4Type == 11,        /* 32-bit busy TSS.*/
    95999585                              VMX_IGS_TR_ATTR_TYPE_INVALID);
    9600         }
    96019586        HMVMX_CHECK_BREAK(!pCtx->tr.Attr.n.u1DescType, VMX_IGS_TR_ATTR_S_INVALID);
    96029587        HMVMX_CHECK_BREAK(pCtx->tr.Attr.n.u1Present, VMX_IGS_TR_ATTR_P_INVALID);
     
    96449629        if (   u32IntrState == VMX_VMCS_GUEST_INT_STATE_BLOCK_MOVSS
    96459630            || u32IntrState == VMX_VMCS_GUEST_INT_STATE_BLOCK_STI)
    9646         {
    96479631            HMVMX_CHECK_BREAK(u32ActivityState == VMX_VMCS_GUEST_ACTIVITY_ACTIVE, VMX_IGS_ACTIVITY_STATE_ACTIVE_INVALID);
    9648         }
    96499632
    96509633        /** @todo Activity state and injecting interrupts. Left as a todo since we
     
    96839666        if (   (pVmcsInfo->u32PinCtls & VMX_PIN_CTLS_VIRT_NMI)
    96849667            && VMX_ENTRY_INT_INFO_IS_XCPT_NMI(u32EntryInfo))
    9685         {
    9686             HMVMX_CHECK_BREAK(!(u32IntrState & VMX_VMCS_GUEST_INT_STATE_BLOCK_NMI),
    9687                               VMX_IGS_INTERRUPTIBILITY_STATE_NMI_INVALID);
    9688         }
     9668            HMVMX_CHECK_BREAK(!(u32IntrState & VMX_VMCS_GUEST_INT_STATE_BLOCK_NMI), VMX_IGS_INTERRUPTIBILITY_STATE_NMI_INVALID);
    96899669
    96909670        /* Pending debug exceptions. */
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