Changeset 19217 in vbox for trunk/include/VBox
- Timestamp:
- Apr 27, 2009 3:00:59 PM (16 years ago)
- Location:
- trunk/include/VBox
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/types.h
r18101 r19217 90 90 /** Pointer to a ring-3 (user mode) VM structure. */ 91 91 typedef R3PTRTYPE(struct UVM *) PUVM; 92 93 /** Pointer to a ring-3 (user mode) VMCPU structure. */ 94 typedef R3PTRTYPE(struct UVMCPU *) PUVMCPU; 92 95 93 96 /** Virtual CPU ID. */ -
trunk/include/VBox/uvm.h
r19101 r19217 43 43 /** Pointer to the UVM structure. */ 44 44 PUVM pUVM; 45 /** Pointer to the VM structure. */ 46 PVM pVM; 47 /** Pointer to the VMCPU structure. */ 48 PVMCPU pVCpu; 45 49 /** The virtual CPU ID. */ 46 50 RTCPUID idCpu; -
trunk/include/VBox/vm.h
r19178 r19217 86 86 VMCPUSTATE volatile enmState; 87 87 88 /** Pointer to the ring-3 UVMCPU structure. */ 89 PUVMCPU pUVCpu; 88 90 /** Ring-3 Host Context VM Pointer. */ 89 91 PVMR3 pVMR3; … … 105 107 * following it (to grow into and align the struct size). 106 108 * */ 107 uint32_t au32Alignment[HC_ARCH_BITS == 32 ? 9 : 6];109 uint32_t au32Alignment[HC_ARCH_BITS == 32 ? 8 : 4]; 108 110 109 111 /** CPUM part. */ … … 283 285 #define VMCPU_FF_NORMAL_PRIORITY_POST_MASK (VMCPU_FF_CSAM_SCAN_PAGE) 284 286 285 /** Normal priority actions. */287 /** Normal priority VM actions. */ 286 288 #define VM_FF_NORMAL_PRIORITY_MASK (VM_FF_REQUEST | VM_FF_PDM_QUEUES | VM_FF_PDM_DMA | VM_FF_REM_HANDLER_NOTIFY) 289 /** Normal priority VMCPU actions. */ 290 #define VMCPU_FF_NORMAL_PRIORITY_MASK (VMCPU_FF_REQUEST) 287 291 288 292 /** Flags to clear before resuming guest execution. */ … … 324 328 * @param fFlag The flag to set. 325 329 */ 326 #if 1 //def VBOX_WITH_SMP_GUESTS 327 # define VMCPU_FF_SET(pVCpu, fFlag) ASMAtomicOrU32(&(pVCpu)->fLocalForcedActions, (fFlag)) 328 #else 329 # define VMCPU_FF_SET(pVCpu, fFlag) ASMAtomicOrU32(&(pVCpu)->CTX_SUFF(pVM)->fGlobalForcedActions, (fFlag)) 330 #endif 330 #define VMCPU_FF_SET(pVCpu, fFlag) ASMAtomicOrU32(&(pVCpu)->fLocalForcedActions, (fFlag)) 331 331 332 332 /** @def VM_FF_CLEAR … … 351 351 * @param fFlag The flag to clear. 352 352 */ 353 #if 1 //def VBOX_WITH_SMP_GUESTS 354 # define VMCPU_FF_CLEAR(pVCpu, fFlag) ASMAtomicAndU32(&(pVCpu)->fLocalForcedActions, ~(fFlag)) 355 #else 356 # define VMCPU_FF_CLEAR(pVCpu, fFlag) ASMAtomicAndU32(&(pVCpu)->CTX_SUFF(pVM)->fGlobalForcedActions, ~(fFlag)) 357 #endif 353 #define VMCPU_FF_CLEAR(pVCpu, fFlag) ASMAtomicAndU32(&(pVCpu)->fLocalForcedActions, ~(fFlag)) 358 354 359 355 /** @def VM_FF_ISSET … … 371 367 * @param fFlag The flag to check. 372 368 */ 373 #if 1 //def VBOX_WITH_SMP_GUESTS 374 # define VMCPU_FF_ISSET(pVCpu, fFlag) (((pVCpu)->fLocalForcedActions & (fFlag)) == (fFlag)) 375 #else 376 # define VMCPU_FF_ISSET(pVCpu, fFlag) (((pVCpu)->CTX_SUFF(pVM)->fGlobalForcedActions & (fFlag)) == (fFlag)) 377 #endif 369 #define VMCPU_FF_ISSET(pVCpu, fFlag) (((pVCpu)->fLocalForcedActions & (fFlag)) == (fFlag)) 378 370 379 371 /** @def VM_FF_ISPENDING … … 391 383 * @param fFlags The flags to check for. 392 384 */ 393 #if 1 //def VBOX_WITH_SMP_GUESTS 394 # define VMCPU_FF_ISPENDING(pVCpu, fFlags) ((pVCpu)->fLocalForcedActions & (fFlags)) 395 #else 396 # define VMCPU_FF_ISPENDING(pVCpu, fFlags) ((pVCpu)->CTX_SUFF(pVM)->fGlobalForcedActions & (fFlags)) 397 #endif 385 #define VMCPU_FF_ISPENDING(pVCpu, fFlags) ((pVCpu)->fLocalForcedActions & (fFlags)) 398 386 399 387 /** @def VM_FF_ISPENDING … … 415 403 * @param fExcpt The flags that should not be set. 416 404 */ 417 #if 1 //def VBOX_WITH_SMP_GUESTS 418 # define VMCPU_FF_IS_PENDING_EXCEPT(pVCpu, fFlags, fExcpt) ( ((pVCpu)->fLocalForcedActions & (fFlags)) && !((pVCpu)->fLocalForcedActions & (fExcpt)) ) 419 #else 420 # define VMCPU_FF_IS_PENDING_EXCEPT(pVCpu, fFlags, fExcpt) ( ((pVCpu)->CTX_SUFF(pVM)->fGlobalForcedActions & (fFlags)) && !((pVCpu)->CTX_SUFF(pVM)->fGlobalForcedActions & (fExcpt)) ) 421 #endif 405 #define VMCPU_FF_IS_PENDING_EXCEPT(pVCpu, fFlags, fExcpt) ( ((pVCpu)->fLocalForcedActions & (fFlags)) && !((pVCpu)->fLocalForcedActions & (fExcpt)) ) 422 406 423 407 /** @def VM_IS_EMT -
trunk/include/VBox/vm.mac
r19141 r19217 107 107 .fLocalForcedActions resd 1 108 108 .enmState resd 1 109 .pUVCpu RTR3PTR_RES 1 109 110 .pVMR3 RTR3PTR_RES 1 110 111 .pVMR0 RTR0PTR_RES 1 -
trunk/include/VBox/vmapi.h
r19173 r19217 434 434 VMMR3DECL(int) VMR3ReqWait(PVMREQ pReq, unsigned cMillies); 435 435 VMMR3DECL(int) VMR3ReqProcessU(PUVM pUVM, VMREQDEST enmDest); 436 VMMR3DECL(void) VMR3NotifyFF(PVM pVM, bool fNotifiedREM); 437 VMMR3DECL(void) VMR3NotifyFFU(PUVM pUVM, bool fNotifiedREM); 436 VMMR3DECL(void) VMR3NotifyGlobalFF(PVM pVM, bool fNotifiedREM); 437 VMMR3DECL(void) VMR3NotifyGlobalFFU(PUVM pUVM, bool fNotifiedREM); 438 VMMR3DECL(void) VMR3NotifyCpuFF(PVMCPU pVCpu, bool fNotifiedREM); 439 VMMR3DECL(void) VMR3NotifyCpuFFU(PUVMCPU pUVMCpu, bool fNotifiedREM); 438 440 VMMR3DECL(int) VMR3WaitHalted(PVM pVM, PVMCPU pVCpu, bool fIgnoreInterrupts); 439 VMMR3DECL(int) VMR3WaitU(PUVM pUVM);441 VMMR3DECL(int) VMR3WaitU(PUVMCPU pUVMCpu); 440 442 VMMR3DECL(RTCPUID) VMR3GetVMCPUId(PVM pVM); 441 443 VMMR3DECL(RTTHREAD) VMR3GetVMCPUThread(PVM pVM);
Note:
See TracChangeset
for help on using the changeset viewer.