VirtualBox

Changeset 54718 in vbox


Ignore:
Timestamp:
Mar 11, 2015 4:14:41 PM (10 years ago)
Author:
vboxsync
Message:

VMM: VMMR0ThreadCtxHooksDeregister returns void, further simplified HM_[DISABLE|RESTORE]_PREEMPT_IF_NEEDED() a bit.

Location:
trunk
Files:
3 edited

Legend:

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

    r54712 r54718  
    182182# define HM_DISABLE_PREEMPT_IF_NEEDED() \
    183183    RTTHREADPREEMPTSTATE PreemptStateInternal = RTTHREADPREEMPTSTATE_INITIALIZER; \
    184     bool fPreemptDisabledInternal = false; \
    185     if (RTThreadPreemptIsEnabled(NIL_RTTHREAD)) \
    186     { \
    187         Assert(VMMR0ThreadCtxHooksAreRegistered(pVCpu)); \
    188         RTThreadPreemptDisable(&PreemptStateInternal); \
    189         fPreemptDisabledInternal = true; \
    190     } else do { } while (0)
    191 
    192 # define HM_RESTORE_PREEMPT_IF_NEEDED() \
    193     do \
    194     { \
    195         if (fPreemptDisabledInternal) \
    196             RTThreadPreemptRestore(&PreemptStateInternal); \
    197     } while (0)
     184    Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD) || VMMR0ThreadCtxHooksAreRegistered(pVCpu)); \
     185    RTThreadPreemptDisable(&PreemptStateInternal);
    198186#else
    199187# define HM_DISABLE_PREEMPT_IF_NEEDED() \
    200188    RTTHREADPREEMPTSTATE PreemptStateInternal = RTTHREADPREEMPTSTATE_INITIALIZER; \
    201189    RTThreadPreemptDisable(&PreemptStateInternal);
    202 
     190#endif /* VBOX_STRICT */
    203191# define HM_RESTORE_PREEMPT_IF_NEEDED() do { RTThreadPreemptRestore(&PreemptStateInternal); } while(0)
    204 #endif /* VBOX_STRICT */
     192
    205193
    206194VMMR0_INT_DECL(int)             HMR0SetupVM(PVM pVM);
  • trunk/include/VBox/vmm/vmm.h

    r53615 r54718  
    513513VMMR0DECL(bool)      VMMR0ThreadCtxHooksAreCreated(PVMCPU pVCpu);
    514514VMMR0DECL(int)       VMMR0ThreadCtxHooksRegister(PVMCPU pVCpu, PFNRTTHREADCTXHOOK pfnHook);
    515 VMMR0DECL(int)       VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu);
     515VMMR0DECL(void)      VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu);
    516516VMMR0DECL(bool)      VMMR0ThreadCtxHooksAreRegistered(PVMCPU pVCpu);
    517517
  • trunk/src/VBox/VMM/VMMR0/VMMR0.cpp

    r54717 r54718  
    503503 * Deregisters the thread-context hook for this VCPU.
    504504 *
    505  * @returns VBox status code.
    506505 * @param   pVCpu       Pointer to the VMCPU.
    507506 *
    508507 * @thread  EMT(pVCpu)
    509508 */
    510 VMMR0DECL(int) VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu)
     509VMMR0DECL(void) VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu)
    511510{
    512511    /* Clear the VCPU <-> host CPU mapping as we've left HM context. See @bugref{7726} comment #19. */
     
    517516        Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD));
    518517        int rc = RTThreadCtxHooksDeregister(pVCpu->vmm.s.hR0ThreadCtx);
    519         AssertRCReturn(rc, rc);
    520     }
    521     return VINF_SUCCESS;
     518        AssertRC(rc);
     519    }
    522520}
    523521
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