diff options
| author | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2021-01-21 21:13:55 +0000 |
|---|---|---|
| committer | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2021-01-21 21:13:55 +0000 |
| commit | 65650b5d104600d4c2f57eef54e51e372e21fa12 (patch) | |
| tree | 15d0ff68067ec40cf60e4648304110ab0df69e8d /src/VBox/VMM/VMMR0/CPUMR0.cpp | |
| parent | c48b29fd7c03de56438f9d9d6138318f14ac65de (diff) | |
| download | VirtualBox-svn-65650b5d104600d4c2f57eef54e51e372e21fa12.tar.gz | |
VMM/CPUM,HMSVM: Mirror the state of fUseFlags[CPUM_USED_FPU_GUEST] in CPUMCTX::fUsedFpuGuest so the HM switcher code can get at it (only relevant for windows) and avoid a call to CPUMIsGuestFPUStateActive/Loaded.
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@87361 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'src/VBox/VMM/VMMR0/CPUMR0.cpp')
| -rw-r--r-- | src/VBox/VMM/VMMR0/CPUMR0.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/VBox/VMM/VMMR0/CPUMR0.cpp b/src/VBox/VMM/VMMR0/CPUMR0.cpp index 8dfb4c34053..11c3004049f 100644 --- a/src/VBox/VMM/VMMR0/CPUMR0.cpp +++ b/src/VBox/VMM/VMMR0/CPUMR0.cpp @@ -465,6 +465,7 @@ VMMR0_INT_DECL(int) CPUMR0LoadGuestFPU(PVMCC pVM, PVMCPUCC pVCpu) } Assert( (pVCpu->cpum.s.fUseFlags & (CPUM_USED_FPU_GUEST | CPUM_USED_FPU_HOST | CPUM_USED_FPU_SINCE_REM)) == (CPUM_USED_FPU_GUEST | CPUM_USED_FPU_HOST | CPUM_USED_FPU_SINCE_REM)); + Assert(pVCpu->cpum.s.Guest.fUsedFpuGuest); return rc; } @@ -484,6 +485,7 @@ VMMR0_INT_DECL(bool) CPUMR0FpuStateMaybeSaveGuestAndRestoreHost(PVMCPUCC pVCpu) if (pVCpu->cpum.s.fUseFlags & (CPUM_USED_FPU_GUEST | CPUM_USED_FPU_HOST)) { fSavedGuest = RT_BOOL(pVCpu->cpum.s.fUseFlags & CPUM_USED_FPU_GUEST); + Assert(fSavedGuest == pVCpu->cpum.s.Guest.fUsedFpuGuest); if (!(pVCpu->cpum.s.fUseFlags & CPUM_USED_MANUAL_XMM_RESTORE)) cpumR0SaveGuestRestoreHostFPUState(&pVCpu->cpum.s); else @@ -508,6 +510,7 @@ VMMR0_INT_DECL(bool) CPUMR0FpuStateMaybeSaveGuestAndRestoreHost(PVMCPUCC pVCpu) fSavedGuest = false; Assert(!( pVCpu->cpum.s.fUseFlags & (CPUM_USED_FPU_GUEST | CPUM_USED_FPU_HOST | CPUM_USED_MANUAL_XMM_RESTORE))); + Assert(!pVCpu->cpum.s.Guest.fUsedFpuGuest); return fSavedGuest; } |
