VirtualBox

Changeset 55054 in vbox for trunk/src/VBox/VMM/VMMSwitcher


Ignore:
Timestamp:
Mar 31, 2015 7:29:50 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
99343
Message:

Removed support for host CPUs without FXSAVE/FXRSTOR support.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMSwitcher/AMD64andLegacy.mac

    r55048 r55054  
    565565    ;
    566566    ; CR4.AndMask and CR4.OrMask are set in CPUMR3Init based on the presence of
    567     ; FXSAVE support on the host CPU
     567    ; FXSAVE and XSAVE support on the host CPU
    568568    ;
    569569    and     ecx, [rdx + CPUM.CR4.AndMask]
  • trunk/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac

    r55048 r55054  
    420420    ;
    421421    ; CR4.AndMask and CR4.OrMask are set in CPUMR3Init based on the presence of
    422     ; FXSAVE support on the host CPU
     422    ; FXSAVE and XSAVE support on the host CPU
    423423    ;
    424424    CPUM_FROM_CPUMCPU(edx)
     
    992992    mov     eax, [edx + CPUMCPU.Guest.pXStateR0]
    993993    mov     ecx, [edx + CPUMCPU.Host.pXStateR0]
    994     FIXUP FIX_NO_FXSAVE_JMP, 0, gth_no_fxsave - NAME(Start) ; this will insert a jmp gth_no_fxsave if fxsave isn't supported.
    995994    fxsave  [eax]
    996995    fxrstor [ecx]
    997     jmp near gth_fpu_no
    998 
    999 gth_no_fxsave:
    1000     fnsave  [eax]
    1001     mov     eax, [ecx]                  ; control word
    1002     not     eax                         ; 1 means exception ignored (6 LS bits)
    1003     and     eax, byte 03Fh              ; 6 LS bits only
    1004     test    eax, [ecx + 4]              ; status word
    1005     jz      gth_no_exceptions_pending
    1006 
    1007     ; technically incorrect, but we certainly don't want any exceptions now!!
    1008     and     dword [ecx + 4], ~03Fh
    1009 
    1010 gth_no_exceptions_pending:
    1011     frstor  [ecx]
    1012     jmp short gth_fpu_no
    1013 
    1014 ALIGNCODE(16)
    1015 gth_fpu_no:
    1016996
    1017997    ; Control registers.
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