VirtualBox

Changeset 13043 in vbox


Ignore:
Timestamp:
Oct 7, 2008 12:50:25 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
37498
Message:

EPT updates

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/hwacc_vmx.h

    r13041 r13043  
    598598/** @} */
    599599
     600/** @name Extended Page Table Pointer (EPTP)
     601 * @{
     602 */
     603/** Uncachable EPT paging structure memory type. */
     604#define VMX_EPT_MEMTYPE_UC                                  0
     605/** Write-back EPT paging structure memory type. */
     606#define VMX_EPT_MEMTYPE_WB                                  6
     607/** Shift value to get the EPT page walk length (bits 5-3) */
     608#define VMX_EPT_PAGE_WALK_LENGTH_SHIFT                      3
     609/** Mask value to get the EPT page walk length (bits 5-3) */
     610#define VMX_EPT_PAGE_WALK_LENGTH_MASK                       7
     611/** Default EPT page walk length */
     612#define VMX_EPT_PAGE_WALK_LENGTH_DEFAULT                    3
     613/** @} */
     614
    600615
    601616/** @name VMCS field encoding - 16 bits guest fields
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r13037 r13043  
    348348     */
    349349    val  = pVM->hwaccm.s.vmx.msr.vmx_exit.n.disallowed0;
     350
     351    /* Save debug controls (dr7 & IA32_DEBUGCTL_MSR) (forced to 1 on the 'first' VT-x capable CPUs) */
     352    val |= VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_DEBUG;
    350353#if HC_ARCH_BITS == 64
    351354    val |= VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_AMD64;
     
    11221125        if (pVM->hwaccm.s.fNestedPaging)
    11231126        {
     1127            Assert(!(val & 0xfff));
     1128            /** @todo Check the IA32_VMX_EPT_VPID_CAP MSR for other supported memory types. */
     1129            val |=   VMX_EPT_MEMTYPE_WB
     1130                  | (VMX_EPT_PAGE_WALK_LENGTH_DEFAULT << VMX_EPT_PAGE_WALK_LENGTH_SHIFT);
    11241131#if HC_ARCH_BITS == 64
    11251132            rc = VMXWriteVMCS(VMX_VMCS_CTRL_EPTP_FULL, val);
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