VirtualBox

Changeset 61066 in vbox


Ignore:
Timestamp:
May 20, 2016 12:09:38 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107333
Message:

CPUMIsGuestFPUStateActive: Fixed 64-on-32 regression from r107325, need to include CPUM_SYNC_FPU_STATE in the 'active' term.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.h

    r61058 r61066  
    13661366VMMDECL(bool)           CPUMIsHostUsingSysCall(PVM pVM);
    13671367VMMDECL(bool)           CPUMIsGuestFPUStateActive(PVMCPU pVCpu);
     1368VMMDECL(bool)           CPUMIsGuestFPUStateLoaded(PVMCPU pVCpu);
    13681369VMMDECL(bool)           CPUMIsHostFPUStateSaved(PVMCPU pVCpu);
    13691370VMMDECL(bool)           CPUMIsGuestDebugStateActive(PVMCPU pVCpu);
  • trunk/include/VBox/vmm/em.h

    r58125 r61066  
    179179VMM_INT_DECL(VBOXSTRICTRC)      EMInterpretInstructionEx(PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault, uint32_t *pcbWritten);
    180180VMM_INT_DECL(VBOXSTRICTRC)      EMInterpretInstructionDisasState(PVMCPU pVCpu, PDISCPUSTATE pDis, PCPUMCTXCORE pCoreCtx,
    181                                                                  RTGCPTR pvFault, EMCODETYPE enmCodeType);
     181                                                                 RTGCPTR pvFault, EMCODETYPE enmCodeType, int iCaller);
    182182
    183183#ifdef IN_RC
  • trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp

    r61058 r61066  
    26322632 * Checks if we activated the FPU/XMM state of the guest OS.
    26332633 *
    2634  * @returns true if we did.
    2635  * @returns false if not.
     2634 * This differs from CPUMIsGuestFPUStateLoaded() in that it refers to the next
     2635 * time we'll be executing guest code, so it may return true for 64-on-32 when
     2636 * we still haven't actually loaded the FPU status, just scheduled it to be
     2637 * loaded the next time we go thru the world switcher (CPUM_SYNC_FPU_STATE).
     2638 *
     2639 * @returns true / false.
    26362640 * @param   pVCpu   The cross context virtual CPU structure.
    26372641 */
    26382642VMMDECL(bool) CPUMIsGuestFPUStateActive(PVMCPU pVCpu)
     2643{
     2644    return RT_BOOL(pVCpu->cpum.s.fUseFlags & (CPUM_USED_FPU_GUEST | CPUM_SYNC_FPU_STATE));
     2645}
     2646
     2647
     2648/**
     2649 * Checks if we've really loaded the FPU/XMM state of the guest OS.
     2650 *
     2651 * @returns true / false.
     2652 * @param   pVCpu   The cross context virtual CPU structure.
     2653 */
     2654VMMDECL(bool) CPUMIsGuestFPUStateLoaded(PVMCPU pVCpu)
    26392655{
    26402656    return RT_BOOL(pVCpu->cpum.s.fUseFlags & CPUM_USED_FPU_GUEST);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette