VirtualBox

Changeset 55106 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Apr 6, 2015 7:58:37 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
99401
Message:

VMM: host+guest xsave/xrstor state handling - not enabled.

Location:
trunk/src/VBox/VMM/include
Files:
2 edited

Legend:

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

    r55062 r55106  
    410410
    411411    /* padding to get 64byte aligned size */
    412     uint8_t         auPadding[16+20];
     412    uint8_t         auPadding[20];
    413413
    414414#elif HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBRID_32BIT_KERNEL)
     
    456456    /* padding to get 32byte aligned size */
    457457# ifdef VBOX_WITH_HYBRID_32BIT_KERNEL
     458    uint8_t         auPadding[52];
     459# else
    458460    uint8_t         auPadding[4];
    459 # else
    460     uint8_t         auPadding[8+12];
    461461# endif
    462462
     
    471471    /** Pointer to the FPU/SSE/AVX/XXXX state ring-3 mapping. */
    472472    R3PTRTYPE(PX86XSAVEAREA)    pXStateR3;
     473    /** The XCR0 register. */
     474    uint64_t                    xcr0;
     475    /** The mask to pass to XSAVE/XRSTOR in EDX:EAX.  If zero we use
     476     *  FXSAVE/FXRSTOR (since bit 0 will always be set, we only need to test it). */
     477    uint64_t                    fXStateMask;
    473478} CPUMHOSTCTX;
    474479AssertCompileSizeAlignment(CPUMHOSTCTX, 64);
  • trunk/src/VBox/VMM/include/CPUMInternal.mac

    r55062 r55106  
    217217    .Guest.msrKERNELGSBASE    resb    8
    218218    .Guest.msrApicBase        resb    8
    219     .Guest.pXStateR0          RTR0PTR_RES 1
    220     .Guest.pXStateR3          RTR3PTR_RES 1
    221     .Guest.pXStateRC          RTRCPTR_RES 1
     219    .Guest.xcr0               resq    1
     220    .Guest.fXStateMask        resq    1
     221    .Guest.pXStateR0      RTR0PTR_RES 1
     222    .Guest.pXStateR3      RTR3PTR_RES 1
     223    .Guest.pXStateRC      RTRCPTR_RES 1
     224    .Guest.aoffXState         resw    64
    222225
    223226    alignb 64
     
    324327    .Host.SysEnter.esp   resq    1
    325328    .Host.efer           resq    1
    326     .Host.auPadding      resb    (16+20)
     329    .Host.auPadding      resb    (20)
    327330
    328331%else ; 64-bit
     
    357360    .Host.efer           resq    1
    358361 %if fVBOX_WITH_HYBRID_32BIT_KERNEL
     362    .Host.auPadding      resb    54
     363 %else
    359364    .Host.auPadding      resb    4
    360  %else
    361     .Host.auPadding      resb   (8+12)
    362365 %endif
    363366%endif ; 64-bit
     
    366369    .Host.pXStateR0 RTR0PTR_RES  1
    367370    .Host.pXStateR3 RTR3PTR_RES  1
     371    alignb 8
     372    .Host.xcr0           resq    1
     373    .Host.fXStateMask    resq    1
    368374
    369375    ;
     
    470476    .Hyper.msrKERNELGSBASE    resb    8
    471477    .Hyper.msrApicBase        resb    8
    472     .Hyper.pXStateR0          RTR0PTR_RES 1
    473     .Hyper.pXStateR3          RTR3PTR_RES 1
    474     .Hyper.pXStateRC          RTRCPTR_RES 1
     478    .Hyper.xcr0               resq    1
     479    .Hyper.fXStateMask        resq    1
     480    .Hyper.pXStateR0      RTR0PTR_RES 1
     481    .Hyper.pXStateR3      RTR3PTR_RES 1
     482    .Hyper.pXStateRC      RTRCPTR_RES 1
     483    .Hyper.aoffXState         resw    64
    475484    alignb 64
    476485
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