Changeset 48567 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Sep 19, 2013 10:51:40 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 89119
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/CPUMR0.cpp
r48545 r48567 490 490 /* Clear MSR_K6_EFER_FFXSR or else we'll be unable to save/restore the XMM state with fxsave/fxrstor. */ 491 491 uint64_t oldMsrEFERHost = 0; 492 bool fRestoreEfer = false; 492 493 if (pVCpu->cpum.s.fUseFlags & CPUM_USED_MANUAL_XMM_RESTORE) 493 494 { 494 495 oldMsrEFERHost = ASMRdMsr(MSR_K6_EFER); 495 ASMWrMsr(MSR_K6_EFER, oldMsrEFERHost & ~MSR_K6_EFER_FFXSR); 496 if (oldMsrEFERHost & MSR_K6_EFER_FFXSR) 497 { 498 ASMWrMsr(MSR_K6_EFER, oldMsrEFERHost & ~MSR_K6_EFER_FFXSR); 499 fRestoreEfer = true; 500 } 496 501 } 497 502 cpumR0SaveGuestRestoreHostFPUState(&pVCpu->cpum.s); 498 503 499 504 /* Restore EFER MSR */ 500 if ( pVCpu->cpum.s.fUseFlags & CPUM_USED_MANUAL_XMM_RESTORE)505 if (fRestoreEfer) 501 506 ASMWrMsr(MSR_K6_EFER, oldMsrEFERHost | MSR_K6_EFER_FFXSR); 502 507 -
trunk/src/VBox/VMM/VMMR0/CPUMR0A.asm
r48541 r48567 5 5 6 6 ; 7 ; Copyright (C) 2006-201 1Oracle Corporation7 ; Copyright (C) 2006-2013 Oracle Corporation 8 8 ; 9 9 ; This file is part of VirtualBox Open Source Edition (OSE), as
Note:
See TracChangeset
for help on using the changeset viewer.