VirtualBox

Changeset 91283 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Sep 16, 2021 1:58:36 PM (3 years ago)
Author:
vboxsync
Message:

VMM/CPUM: Moved the host's extended state (XState) from the hyper heap and into CPUMCTX. bugref:10093

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

Legend:

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

    r87361 r91283  
    186186{
    187187    LogFlow(("CPUMR0Init: %p\n", pVM));
     188    AssertCompile(sizeof(pVM->aCpus[0].cpum.s.Host.abXState) >= sizeof(pVM->aCpus[0].cpum.s.Guest.abXState));
    188189
    189190    /*
  • trunk/src/VBox/VMM/VMMR0/CPUMR0A.asm

    r91281 r91283  
    144144%ifdef VBOX_WITH_KERNEL_USING_XMM
    145145        ; If we didn't save the host state, we must save the non-volatile XMM registers.
    146         mov     pXState, [pCpumCpu + CPUMCPU.Host.pXStateR0]
     146        lea     pXState, [pCpumCpu + CPUMCPU.Host.XState]
    147147        stmxcsr [pXState + X86FXSTATE.MXCSR]
    148148        movdqa  [pXState + X86FXSTATE.xmm6 ], xmm6
     
    166166%ifdef VBOX_WITH_KERNEL_USING_XMM
    167167        ; Restore the non-volatile xmm registers. ASSUMING 64-bit host.
    168         mov     pXState, [pCpumCpu + CPUMCPU.Host.pXStateR0]
     168        lea     pXState, [pCpumCpu + CPUMCPU.Host.XState]
    169169        movdqa  xmm6,  [pXState + X86FXSTATE.xmm6]
    170170        movdqa  xmm7,  [pXState + X86FXSTATE.xmm7]
     
    242242        ; them while saving the guest state (we've gotta do this anyway).
    243243        ;
    244         mov     pXState, [pCpumCpu + CPUMCPU.Host.pXStateR0]
     244        lea     pXState, [pCpumCpu + CPUMCPU.Host.XState]
    245245        stmxcsr [pXState + X86FXSTATE.MXCSR]
    246246        movdqa  [pXState + X86FXSTATE.xmm6], xmm6
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