VirtualBox

Ignore:
Timestamp:
Jul 16, 2008 9:22:28 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
33404
Message:

Save the FPU control word and MXCSR on entry and restore them afterwards. (VT-x & AMD-V)
Security measure so the guest can't cause fpu/sse exceptions as we no longer restore the entire
host fpu state.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/CPUMInternal.h

    r10647 r10687  
    322322        X86CPUIDFEATECX     ecx;
    323323    }   CPUFeatures;
     324    /** Host extended CPU features. */
     325    struct
     326    {
     327        /** edx part */
     328        uint32_t     edx;
     329        /** ecx part */
     330        uint32_t     ecx;
     331    }   CPUFeaturesExt;
    324332
    325333    /* CPU manufacturer. */
     
    360368__BEGIN_DECLS
    361369
    362 DECLASM(int)  CPUMHandleLazyFPUAsm(PCPUM pCPUM);
    363 DECLASM(int)  CPUMRestoreHostFPUStateAsm(PCPUM pCPUM);
    364 DECLASM(void) CPUMLoadFPUAsm(PCPUMCTX pCtx);
    365 DECLASM(void) CPUMSaveFPUAsm(PCPUMCTX pCtx);
    366 DECLASM(void) CPUMLoadXMMAsm(PCPUMCTX pCtx);
    367 DECLASM(void) CPUMSaveXMMAsm(PCPUMCTX pCtx);
    368 
     370DECLASM(int)      CPUMHandleLazyFPUAsm(PCPUM pCPUM);
     371DECLASM(int)      CPUMRestoreHostFPUStateAsm(PCPUM pCPUM);
     372DECLASM(void)     CPUMLoadFPUAsm(PCPUMCTX pCtx);
     373DECLASM(void)     CPUMSaveFPUAsm(PCPUMCTX pCtx);
     374DECLASM(void)     CPUMLoadXMMAsm(PCPUMCTX pCtx);
     375DECLASM(void)     CPUMSaveXMMAsm(PCPUMCTX pCtx);
     376DECLASM(void)     CPUMSetFCW(uint16_t u16FCW);
     377DECLASM(uint16_t) CPUMGetFCW();
     378DECLASM(void)     CPUMSetMXCSR(uint32_t u32MXCSR);
     379DECLASM(uint32_t) CPUMGetMXCSR();
    369380
    370381__END_DECLS
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette