Changeset 28705 in vbox
- Timestamp:
- Apr 25, 2010 12:39:42 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/DevAHCI.cpp
r28620 r28705 292 292 * and the callback copies the data to the destination. */ 293 293 PFNAHCIPOSTPROCESS pfnPostProcess; 294 #ifdef RT_STRICT 295 /** Flag whether the task state is currently active - used for debugging */ 296 volatile bool fActive; 297 #endif 294 298 } AHCIPORTTASKSTATE; 295 299 … … 4886 4890 ASMAtomicOrU32(&pAhciPort->u32QueuedTasksFinished, (1 << pAhciPortTaskState->uTag)); 4887 4891 4892 #ifdef RT_STRICT 4893 bool fXchg = ASMAtomicCmpXchgBool(&pAhciPortTaskState->fActive, false, true); 4894 AssertMsg(fXchg, ("Task is not active\n")); 4895 #endif 4896 4888 4897 if (!cOutstandingTasks) 4889 ahciSendSDBFis(pAhciPort, pAhciPort->u32QueuedTasksFinished, pAhciPortTaskState, true);4898 ahciSendSDBFis(pAhciPort, 0, pAhciPortTaskState, true); 4890 4899 } 4891 4900 else 4901 { 4902 #ifdef RT_STRICT 4903 bool fXchg = ASMAtomicCmpXchgBool(&pAhciPortTaskState->fActive, false, true); 4904 AssertMsg(fXchg, ("Task is not active\n")); 4905 #endif 4906 4892 4907 ahciSendD2HFis(pAhciPort, pAhciPortTaskState, pAhciPortTaskState->cmdFis, true); 4908 } 4893 4909 4894 4910 /* Add the task to the cache. */ … … 5236 5252 ahciLog(("%s: Processing command at slot %d\n", __FUNCTION__, pNotifierItem->iTask)); 5237 5253 5238 /* Check if there is already an allocated task struct in the cache. 5254 /* 5255 * Check if there is already an allocated task struct in the cache. 5239 5256 * Allocate a new task otherwise. 5240 5257 */ … … 5248 5265 pAhciPortTaskState = pAhciPort->aCachedTasks[pNotifierItem->iTask]; 5249 5266 } 5267 5268 #ifdef RT_STRICT 5269 bool fXchg = ASMAtomicCmpXchgBool(&pAhciPortTaskState->fActive, true, false); 5270 AssertMsg(fXchg, ("Task is already active\n")); 5271 #endif 5250 5272 5251 5273 /** Set current command slot */ … … 5338 5360 else 5339 5361 { 5362 #ifdef RT_STRICT 5363 bool fXchg = ASMAtomicCmpXchgBool(&pAhciPortTaskState->fActive, false, true); 5364 AssertMsg(fXchg, ("Task is not active\n")); 5365 #endif 5366 5340 5367 /* There is nothing left to do. Notify the guest. */ 5341 5368 ahciSendD2HFis(pAhciPort, pAhciPortTaskState, &pAhciPortTaskState->cmdFis[0], true);
Note:
See TracChangeset
for help on using the changeset viewer.