Changeset 50009 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Dec 27, 2013 2:44:05 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMRZ/VMMRZ.cpp
r48473 r50009 26 26 27 27 #include <iprt/assert.h> 28 #include <iprt/asm-amd64-x86.h> 28 29 #include <iprt/string.h> 29 30 … … 128 129 { 129 130 VMCPU_ASSERT_EMT(pVCpu); 131 #if defined(LOG_ENABLED) && defined(IN_RING0) 132 RTCCUINTREG fFlags = ASMIntDisableFlags(); /* preemption consistency. */ 133 #endif 134 130 135 Assert(pVCpu->vmm.s.cCallRing3Disabled < 16); 131 if ( ++pVCpu->vmm.s.cCallRing3Disabled == 1)136 if (ASMAtomicIncU32(&pVCpu->vmm.s.cCallRing3Disabled) == 1) /** @todo replace with unordered variant (ASMAtomicUoIncU32). */ 132 137 { 133 138 /** @todo it might make more sense to just disable logging here, then we … … 142 147 #endif 143 148 } 149 150 #if defined(LOG_ENABLED) && defined(IN_RING0) 151 ASMSetFlags(fFlags); 152 #endif 144 153 } 145 154 … … 154 163 { 155 164 VMCPU_ASSERT_EMT(pVCpu); 165 #if defined(LOG_ENABLED) && defined(IN_RING0) 166 RTCCUINTREG fFlags = ASMIntDisableFlags(); /* preemption consistency. */ 167 #endif 168 156 169 Assert(pVCpu->vmm.s.cCallRing3Disabled > 0); 157 if ( --pVCpu->vmm.s.cCallRing3Disabled == 0)170 if (ASMAtomicDecU32(&pVCpu->vmm.s.cCallRing3Disabled) == 0) /** @todo replace with unordered variant (ASMAtomicUoDecU32). */ 158 171 { 159 172 #ifdef IN_RC … … 166 179 #endif 167 180 } 181 182 #if defined(LOG_ENABLED) && defined(IN_RING0) 183 ASMSetFlags(fFlags); 184 #endif 168 185 } 169 186
Note:
See TracChangeset
for help on using the changeset viewer.