Changeset 90467 in vbox for trunk/src/VBox/Devices/VMMDev
- Timestamp:
- Aug 2, 2021 10:57:30 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 146071
- Location:
- trunk/src/VBox/Devices/VMMDev
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/VMMDev/VMMDevState.h
r90461 r90467 318 318 uint32_t cUsBetween : 14; 319 319 /** Reserved MBZ. */ 320 uint32_t uReserved : 3; 320 uint32_t uReserved : 2; 321 /** Pass VINF_SUCCESS as rcBusy if set. */ 322 uint32_t fMustSucceed : 1; 321 323 /** Whether to poke EMTs before releasing it. */ 322 324 uint32_t fPokeBeforeRelease : 1; -
trunk/src/VBox/Devices/VMMDev/VMMDevTesting.cpp
r90462 r90467 599 599 case 1: 600 600 { 601 int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSect, VINF_SUCCESS); 602 AssertRCReturn(rc, rc); 601 #ifndef IN_RING3 602 if (!pThis->TestingLockControl.s.fMustSucceed) 603 { 604 int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSect, VINF_IOM_R3_IOPORT_WRITE); 605 if (rc != VINF_SUCCESS) 606 return rc; 607 } 608 else 609 #endif 610 { 611 int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSect, VINF_SUCCESS); 612 AssertRCReturn(rc, rc); 613 } 603 614 604 615 u32 &= ~VMMDEV_TESTING_LOCKED_MBZ_MASK; … … 707 718 case 1: 708 719 { 709 int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSect, VINF_SUCCESS); 710 AssertRCReturn(rc, rc); 720 #ifndef IN_RING3 721 if (!pThis->TestingLockControl.s.fMustSucceed) 722 { 723 int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSect, VINF_IOM_R3_IOPORT_READ); 724 if (rc != VINF_SUCCESS) 725 return rc; 726 } 727 else 728 #endif 729 { 730 int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSect, VINF_SUCCESS); 731 AssertRCReturn(rc, rc); 732 } 711 733 712 734 *pu32 = pThis->TestingLockControl.u32;
Note:
See TracChangeset
for help on using the changeset viewer.