VirtualBox

Changeset 61392 in vbox for trunk/src/VBox/VMM/VMMRZ


Ignore:
Timestamp:
Jun 2, 2016 12:47:37 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107706
Message:

CPUMRZFpuStatePrepareHostCpuForUse: Must always set VMCPU_FF_CPUM in raw-mode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMRZ/CPUMRZ.cpp

    r61317 r61392  
    5151#ifdef IN_RC
    5252            cpumRZSaveHostFPUState(&pVCpu->cpum.s);
    53             VMCPU_FF_SET(pVCpu, VMCPU_FF_CPUM); /* Must recalc CR0 before executing more code! */
     53            VMCPU_FF_SET(pVCpu, VMCPU_FF_CPUM);     /* Must recalc CR0 before executing more code! */
    5454#else
    5555            if (cpumRZSaveHostFPUState(&pVCpu->cpum.s) == VINF_CPUM_HOST_CR0_MODIFIED)
    5656                HMR0NotifyCpumModifiedHostCr0(pVCpu);
    5757#endif
     58            Log6(("CPUMRZFpuStatePrepareHostCpuForUse: #0 - %#x\n", ASMGetCR0()));
    5859            break;
    5960
    6061        case CPUM_USED_FPU_HOST:
    61 #if defined(IN_RING0) && ARCH_BITS == 32 && defined(VBOX_WITH_64_BITS_GUESTS)
     62#ifdef IN_RC
     63            VMCPU_FF_SET(pVCpu, VMCPU_FF_CPUM);     /* (should be set already) */
     64#elif defined(IN_RING0) && ARCH_BITS == 32 && defined(VBOX_WITH_64_BITS_GUESTS)
    6265            if (pVCpu->cpum.s.fUseFlags | CPUM_SYNC_FPU_STATE)
    6366            {
     
    6669            }
    6770#endif
     71            Log6(("CPUMRZFpuStatePrepareHostCpuForUse: #1 - %#x\n", ASMGetCR0()));
    6872            break;
    6973
     
    7882#ifdef IN_RING0
    7983            HMR0NotifyCpumUnloadedGuestFpuState(pVCpu);
     84#else
     85            VMCPU_FF_SET(pVCpu, VMCPU_FF_CPUM);     /* Must recalc CR0 before executing more code! */
    8086#endif
     87            Log6(("CPUMRZFpuStatePrepareHostCpuForUse: #2 - %#x\n", ASMGetCR0()));
    8188            break;
    8289
     
    121128            cpumRZSaveGuestFpuState(&pVCpu->cpum.s, false /*fLeaveFpuAccessible*/);
    122129        pVCpu->cpum.s.fUseFlags |= CPUM_USED_FPU_GUEST;
     130        Log7(("CPUMRZFpuStateActualizeForRead\n"));
    123131    }
    124132}
     
    149157# endif
    150158            cpumRZSaveGuestSseRegisters(&pVCpu->cpum.s);
     159        Log7(("CPUMRZFpuStateActualizeSseForRead\n"));
    151160    }
    152161#endif
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