Changeset 54718 in vbox
- Timestamp:
- Mar 11, 2015 4:14:41 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm.h
r54712 r54718 182 182 # define HM_DISABLE_PREEMPT_IF_NEEDED() \ 183 183 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); 198 186 #else 199 187 # define HM_DISABLE_PREEMPT_IF_NEEDED() \ 200 188 RTTHREADPREEMPTSTATE PreemptStateInternal = RTTHREADPREEMPTSTATE_INITIALIZER; \ 201 189 RTThreadPreemptDisable(&PreemptStateInternal); 202 190 #endif /* VBOX_STRICT */ 203 191 # define HM_RESTORE_PREEMPT_IF_NEEDED() do { RTThreadPreemptRestore(&PreemptStateInternal); } while(0) 204 #endif /* VBOX_STRICT */ 192 205 193 206 194 VMMR0_INT_DECL(int) HMR0SetupVM(PVM pVM); -
trunk/include/VBox/vmm/vmm.h
r53615 r54718 513 513 VMMR0DECL(bool) VMMR0ThreadCtxHooksAreCreated(PVMCPU pVCpu); 514 514 VMMR0DECL(int) VMMR0ThreadCtxHooksRegister(PVMCPU pVCpu, PFNRTTHREADCTXHOOK pfnHook); 515 VMMR0DECL( int)VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu);515 VMMR0DECL(void) VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu); 516 516 VMMR0DECL(bool) VMMR0ThreadCtxHooksAreRegistered(PVMCPU pVCpu); 517 517 -
trunk/src/VBox/VMM/VMMR0/VMMR0.cpp
r54717 r54718 503 503 * Deregisters the thread-context hook for this VCPU. 504 504 * 505 * @returns VBox status code.506 505 * @param pVCpu Pointer to the VMCPU. 507 506 * 508 507 * @thread EMT(pVCpu) 509 508 */ 510 VMMR0DECL( int) VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu)509 VMMR0DECL(void) VMMR0ThreadCtxHooksDeregister(PVMCPU pVCpu) 511 510 { 512 511 /* Clear the VCPU <-> host CPU mapping as we've left HM context. See @bugref{7726} comment #19. */ … … 517 516 Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD)); 518 517 int rc = RTThreadCtxHooksDeregister(pVCpu->vmm.s.hR0ThreadCtx); 519 AssertRCReturn(rc, rc); 520 } 521 return VINF_SUCCESS; 518 AssertRC(rc); 519 } 522 520 } 523 521
Note:
See TracChangeset
for help on using the changeset viewer.