VirtualBox

Changeset 48541 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Sep 19, 2013 3:43:50 PM (11 years ago)
Author:
vboxsync
Message:

VMM/CPUMR0A.asm: Yasm requires explicit REX prefix for fxsave/rstor. Don't corrupt the FPU state for 64-bit guests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/CPUMR0A.asm

    r48539 r48541  
    245245.sixtyfourbit_mode:
    246246    and     edx, 0ffffffffh
    247     fxsave  [rdx + CPUMCPU.Guest.fpu]
    248     fxrstor [rdx + CPUMCPU.Host.fpu]
     247    o64 fxsave  [rdx + CPUMCPU.Guest.fpu]
     248    o64 fxrstor [rdx + CPUMCPU.Host.fpu]
    249249    jmp far [.fpret wrt rip]
    250250.fpret:                                 ; 16:32 Pointer to .the_end.
     
    294294%endif ; VBOX_WITH_HYBRID_32BIT_KERNEL
    295295
     296%ifdef RT_ARCH_AMD64
     297    o64 fxrstor [xDX + CPUMCPU.Host.fpu]
     298%else
    296299    fxrstor [xDX + CPUMCPU.Host.fpu]
     300%endif
    297301
    298302.done:
     
    309313.sixtyfourbit_mode:
    310314    and     edx, 0ffffffffh
    311     fxrstor [rdx + CPUMCPU.Host.fpu]
     315    o64 fxrstor [rdx + CPUMCPU.Host.fpu]
    312316    jmp far [.fpret wrt rip]
    313317.fpret:                                 ; 16:32 Pointer to .the_end.
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