Changeset 49725 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Nov 29, 2013 2:03:10 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 91021
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/HMInternal.h
r49664 r49725 56 56 * @{ 57 57 */ 58 59 /** @def VMCPU_HMCF_CLEAR 60 * Clears a HM-context flag for the given VCPU. 61 * 62 * @param pVCpu Pointer to the VMCPU. 63 * @param fFlag The flag to clear. 64 */ 65 #define VMCPU_HMCF_CLEAR(pVCpu, fFlag) (ASMAtomicUoAndU32(&(pVCpu)->hm.s.fContextUseFlags, ~(fFlag))) 66 67 /** @def VMCPU_FF_SET 68 * Sets a HM-context flag for the given VCPU. 69 * 70 * @param pVCpu Pointer to the VMCPU. 71 * @param fFlag The flag to set. 72 */ 73 #define VMCPU_HMCF_SET(pVCpu, fFlag) (ASMAtomicUoOrU32(&(pVCpu)->hm.s.fContextUseFlags, (fFlag))) 74 75 /** @def VMCPU_HMCF_IS_SET 76 * Checks if all the flags in the specified HM-context set is pending. 77 * 78 * @param pVCpu Pointer to the VMCPU. 79 * @param fFlag The flag to check. 80 */ 81 #define VMCPU_HMCF_IS_SET(pVCpu, fFlag) ((ASMAtomicUoReadU32(&(pVCpu)->hm.s.fContextUseFlags) & (fFlag)) == (fFlag)) 82 83 /** @def VMCPU_HMCF_IS_PENDING 84 * Checks if one or more of the flags in the specified HM-context set is 85 * pending. 86 * 87 * @param pVCpu Pointer to the VMCPU. 88 * @param fFlags The flags to check for. 89 */ 90 #define VMCPU_HMCF_IS_PENDING(pVCpu, fFlags) RT_BOOL(ASMAtomicUoReadU32(&(pVCpu)->hm.s.fContextUseFlags) & (fFlags)) 91 92 /** @def VMCPU_HMCF_IS_PENDING_ONLY 93 * Checks if -only- one or more of the specified HM-context flags is pending. 94 * 95 * @param pVCpu Pointer to the VMCPU. 96 * @param fFlags The flags to check for. 97 */ 98 #define VMCPU_HMCF_IS_PENDING_ONLY(pVCpu, fFlags) !RT_BOOL(ASMAtomicUoReadU32(&(pVCpu)->hm.s.fContextUseFlags) & ~(fFlags)) 99 100 /** @def VMCPU_HMCF_IS_SET_ONLY 101 * Checks if -only- all the flags in the specified HM-context set is pending. 102 * 103 * @param pVCpu Pointer to the VMCPU. 104 * @param fFlags The flags to check for. 105 */ 106 #define VMCPU_HMCF_IS_SET_ONLY(pVCpu, fFlags) (ASMAtomicUoReadU32(&(pVCpu)->hm.s.fContextUseFlags) == (fFlags)) 107 108 /** @def VMCPU_HMCF_RESET_TO 109 * Resets the HM-context flags to the specified value. 110 * 111 * @param pVCpu Pointer to the VMCPU. 112 * @param fFlags The new value. 113 */ 114 #define VMCPU_HMCF_RESET_TO(pVCpu, fFlags) (ASMAtomicUoWriteU32(&(pVCpu)->hm.s.fContextUseFlags, (fFlags))) 115 116 /** @def VMCPU_HMCF_VALUE 117 * Returns the current HM-context flags value. 118 * 119 * @param pVCpu Pointer to the VMCPU. 120 */ 121 #define VMCPU_HMCF_VALUE(pVCpu) (ASMAtomicUoReadU32(&(pVCpu)->hm.s.fContextUseFlags)) 58 122 59 123 … … 513 577 volatile uint32_t cWorldSwitchExits; 514 578 /** HM_CHANGED_* flags. */ 515 uint32_tfContextUseFlags;579 volatile uint32_t fContextUseFlags; 516 580 /** Id of the last cpu we were executing code on (NIL_RTCPUID for the first 517 581 * time). */
Note:
See TracChangeset
for help on using the changeset viewer.