Changeset 54898 in vbox for trunk/src/VBox/VMM/VMMSwitcher
- Timestamp:
- Mar 22, 2015 11:47:07 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 99113
- Location:
- trunk/src/VBox/VMM/VMMSwitcher
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMSwitcher/AMD64andLegacy.mac ¶
r54707 r54898 1144 1144 mov cr0, rcx 1145 1145 1146 fxsave [rdx + r8 + CPUMCPU.Guest. fpu]1147 o64 fxrstor [rdx + r8 + CPUMCPU.Host. fpu]; Restore 64-bit host FPU state. See @bugref{7138}1146 fxsave [rdx + r8 + CPUMCPU.Guest.XState] 1147 o64 fxrstor [rdx + r8 + CPUMCPU.Host.XState] ; Restore 64-bit host FPU state. See @bugref{7138} 1148 1148 jmp short gth_fpu_no 1149 1149 -
trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac ¶
r54862 r54898 665 665 mov cr0, rax 666 666 ; Use explicit REX prefix. See @bugref{6398}. 667 o64 fxrstor [rdx + CPUMCPU.Guest. fpu]667 o64 fxrstor [rdx + CPUMCPU.Guest.XState] 668 668 mov cr0, rcx ; and restore old CR0 again 669 669 … … 725 725 ; parameter for all helper functions (pCtx) 726 726 DEBUG64_CHAR('9') 727 lea rsi, [rdx + CPUMCPU.Guest. fpu]727 lea rsi, [rdx + CPUMCPU.Guest.XState] 728 728 lea rax, [htg_return wrt rip] 729 729 push rax ; return address … … 1259 1259 1260 1260 ; Use explicit REX prefix. See @bugref{6398}. 1261 o64 fxsave [rsi + CPUMCTX. fpu]1261 o64 fxsave [rsi + CPUMCTX.XState] 1262 1262 1263 1263 mov cr0, rcx ; and restore old CR0 again -
trunk/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac ¶
r54546 r54898 991 991 992 992 FIXUP FIX_NO_FXSAVE_JMP, 0, gth_no_fxsave - NAME(Start) ; this will insert a jmp gth_no_fxsave if fxsave isn't supported. 993 fxsave [edx + CPUMCPU.Guest. fpu]994 fxrstor [edx + CPUMCPU.Host. fpu]993 fxsave [edx + CPUMCPU.Guest.XState] 994 fxrstor [edx + CPUMCPU.Host.XState] 995 995 jmp near gth_fpu_no 996 996 997 997 gth_no_fxsave: 998 fnsave [edx + CPUMCPU.Guest. fpu]999 mov eax, [edx + CPUMCPU.Host. fpu]; control word998 fnsave [edx + CPUMCPU.Guest.XState] 999 mov eax, [edx + CPUMCPU.Host.XState] ; control word 1000 1000 not eax ; 1 means exception ignored (6 LS bits) 1001 1001 and eax, byte 03Fh ; 6 LS bits only 1002 test eax, [edx + CPUMCPU.Host. fpu+ 4] ; status word1002 test eax, [edx + CPUMCPU.Host.XState + 4] ; status word 1003 1003 jz gth_no_exceptions_pending 1004 1004 1005 1005 ; technically incorrect, but we certainly don't want any exceptions now!! 1006 and dword [edx + CPUMCPU.Host. fpu+ 4], ~03Fh1006 and dword [edx + CPUMCPU.Host.XState + 4], ~03Fh 1007 1007 1008 1008 gth_no_exceptions_pending: 1009 frstor [edx + CPUMCPU.Host. fpu]1009 frstor [edx + CPUMCPU.Host.XState] 1010 1010 jmp short gth_fpu_no 1011 1011
Note:
See TracChangeset
for help on using the changeset viewer.