VirtualBox

Changeset 1252 in vbox


Ignore:
Timestamp:
Mar 6, 2007 9:13:53 AM (18 years ago)
Author:
vboxsync
Message:

Setup cr0 and cr4

File:
1 edited

Legend:

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

    r1249 r1252  
    29782978        SYNC_SEL(pHyperCtx, tr);
    29792979
     2980        pHyperCtx->cr0 = X86_CR0_PE | X86_CR0_WP | X86_CR0_PG | X86_CR0_TS | X86_CR0_ET | X86_CR0_NE | X86_CR0_MP;
     2981        pHyperCtx->cr4 = X86_CR4_PGE | X86_CR4_OSFSXR | X86_CR4_OSXMMEEXCPT;
     2982
     2983        PGMMODE enmShadowMode = PGMGetShadowMode(pVM);
     2984        switch(enmShadowMode)
     2985        {
     2986        case PGMMODE_REAL:
     2987        case PGMMODE_PROTECTED:     /* Protected mode, no paging. */
     2988        case PGMMODE_AMD64:         /* 64-bit AMD paging (long mode). */
     2989        case PGMMODE_AMD64_NX:      /* 64-bit AMD paging (long mode) with NX enabled. */
     2990        default:                   /* shut up gcc */
     2991            AssertFailed();
     2992            return VERR_PGM_UNSUPPORTED_HOST_PAGING_MODE;
     2993
     2994        case PGMMODE_32_BIT:        /* 32-bit paging. */
     2995            break;
     2996
     2997        case PGMMODE_PAE:           /* PAE paging. */
     2998        case PGMMODE_PAE_NX:        /* PAE paging with NX enabled. */
     2999            pHyperCtx->cr4 |= X86_CR4_PAE;
     3000            break;
     3001        }
     3002
     3003
    29803004        /*
    29813005         * Profile switching.
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