Changeset 91909 in vbox
- Timestamp:
- Oct 20, 2021 7:05:44 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmcritsect.h
r90500 r91909 89 89 90 90 VMMR3DECL(PPDMCRITSECT) PDMR3CritSectGetNop(PVM pVM); 91 VMMR3DECL(R0PTRTYPE(PPDMCRITSECT)) PDMR3CritSectGetNopR0(PVM pVM);92 VMMR3DECL(RCPTRTYPE(PPDMCRITSECT)) PDMR3CritSectGetNopRC(PVM pVM);93 91 94 92 /* Strict build: Remap the two enter calls to the debug versions. */ -
trunk/include/VBox/vmm/pdmdev.h
r91906 r91909 2424 2424 2425 2425 /** Current PDMDEVHLPR3 version number. */ 2426 #define PDM_DEVHLPR3_VERSION PDM_VERSION_MAKE_PP(0xffe7, 5 1, 0)2426 #define PDM_DEVHLPR3_VERSION PDM_VERSION_MAKE_PP(0xffe7, 52, 0) 2427 2427 2428 2428 /** … … 3818 3818 3819 3819 /** 3820 * Gets the NOP critical section.3821 *3822 * @returns The ring-0 address of the NOP critical section.3823 * @param pDevIns The device instance.3824 * @deprecated3825 */3826 DECLR3CALLBACKMEMBER(R0PTRTYPE(PPDMCRITSECT), pfnCritSectGetNopR0,(PPDMDEVINS pDevIns));3827 3828 /**3829 * Gets the NOP critical section.3830 *3831 * @returns The raw-mode context address of the NOP critical section.3832 * @param pDevIns The device instance.3833 * @deprecated3834 */3835 DECLR3CALLBACKMEMBER(RCPTRTYPE(PPDMCRITSECT), pfnCritSectGetNopRC,(PPDMDEVINS pDevIns));3836 3837 /**3838 3820 * Changes the device level critical section from the automatically created 3839 3821 * default to one desired by the device constructor. … … 7841 7823 } 7842 7824 7843 #ifdef IN_RING37844 7845 /**7846 * @copydoc PDMDEVHLPR3::pfnCritSectGetNopR07847 */7848 DECLINLINE(R0PTRTYPE(PPDMCRITSECT)) PDMDevHlpCritSectGetNopR0(PPDMDEVINS pDevIns)7849 {7850 return pDevIns->pHlpR3->pfnCritSectGetNopR0(pDevIns);7851 }7852 7853 /**7854 * @copydoc PDMDEVHLPR3::pfnCritSectGetNopRC7855 */7856 DECLINLINE(RCPTRTYPE(PPDMCRITSECT)) PDMDevHlpCritSectGetNopRC(PPDMDEVINS pDevIns)7857 {7858 return pDevIns->pHlpR3->pfnCritSectGetNopRC(pDevIns);7859 }7860 7861 #endif /* IN_RING3 */7862 7863 7825 /** 7864 7826 * @copydoc PDMDEVHLPR3::pfnSetDeviceCritSect -
trunk/src/VBox/VMM/VMMR3/PDMCritSect.cpp
r90677 r91909 1088 1088 1089 1089 /** 1090 * Gets the ring-0 address of the NOP critical section.1091 *1092 * @returns The ring-0 address of the NOP critical section.1093 * @param pVM The cross context VM structure.1094 */1095 VMMR3DECL(R0PTRTYPE(PPDMCRITSECT)) PDMR3CritSectGetNopR0(PVM pVM)1096 {1097 VM_ASSERT_VALID_EXT_RETURN(pVM, NIL_RTR0PTR);1098 return MMHyperR3ToR0(pVM, &pVM->pdm.s.NopCritSect);1099 }1100 1101 1102 /**1103 * Gets the raw-mode context address of the NOP critical section.1104 *1105 * @returns The raw-mode context address of the NOP critical section.1106 * @param pVM The cross context VM structure.1107 */1108 VMMR3DECL(RCPTRTYPE(PPDMCRITSECT)) PDMR3CritSectGetNopRC(PVM pVM)1109 {1110 VM_ASSERT_VALID_EXT_RETURN(pVM, NIL_RTRCPTR);1111 return MMHyperR3ToRC(pVM, &pVM->pdm.s.NopCritSect);1112 }1113 1114 1115 /**1116 1090 * Display matching critical sections. 1117 1091 */ -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r91906 r91909 2692 2692 PPDMCRITSECT pCritSect = PDMR3CritSectGetNop(pVM); 2693 2693 LogFlow(("pdmR3DevHlp_CritSectGetNop: caller='%s'/%d: return %p\n", 2694 pDevIns->pReg->szName, pDevIns->iInstance, pCritSect));2695 return pCritSect;2696 }2697 2698 2699 /** @interface_method_impl{PDMDEVHLPR3,pfnCritSectGetNopR0} */2700 static DECLCALLBACK(R0PTRTYPE(PPDMCRITSECT)) pdmR3DevHlp_CritSectGetNopR0(PPDMDEVINS pDevIns)2701 {2702 PDMDEV_ASSERT_DEVINS(pDevIns);2703 PVM pVM = pDevIns->Internal.s.pVMR3;2704 VM_ASSERT_EMT(pVM);2705 2706 R0PTRTYPE(PPDMCRITSECT) pCritSect = PDMR3CritSectGetNopR0(pVM);2707 LogFlow(("pdmR3DevHlp_CritSectGetNopR0: caller='%s'/%d: return %RHv\n",2708 pDevIns->pReg->szName, pDevIns->iInstance, pCritSect));2709 return pCritSect;2710 }2711 2712 2713 /** @interface_method_impl{PDMDEVHLPR3,pfnCritSectGetNopRC} */2714 static DECLCALLBACK(RCPTRTYPE(PPDMCRITSECT)) pdmR3DevHlp_CritSectGetNopRC(PPDMDEVINS pDevIns)2715 {2716 PDMDEV_ASSERT_DEVINS(pDevIns);2717 PVM pVM = pDevIns->Internal.s.pVMR3;2718 VM_ASSERT_EMT(pVM);2719 2720 RCPTRTYPE(PPDMCRITSECT) pCritSect = PDMR3CritSectGetNopRC(pVM);2721 LogFlow(("pdmR3DevHlp_CritSectGetNopRC: caller='%s'/%d: return %RRv\n",2722 2694 pDevIns->pReg->szName, pDevIns->iInstance, pCritSect)); 2723 2695 return pCritSect; … … 4563 4535 pdmR3DevHlp_CritSectInit, 4564 4536 pdmR3DevHlp_CritSectGetNop, 4565 pdmR3DevHlp_CritSectGetNopR0,4566 pdmR3DevHlp_CritSectGetNopRC,4567 4537 pdmR3DevHlp_SetDeviceCritSect, 4568 4538 pdmR3DevHlp_CritSectYield, … … 4928 4898 pdmR3DevHlp_CritSectInit, 4929 4899 pdmR3DevHlp_CritSectGetNop, 4930 pdmR3DevHlp_CritSectGetNopR0,4931 pdmR3DevHlp_CritSectGetNopRC,4932 4900 pdmR3DevHlp_SetDeviceCritSect, 4933 4901 pdmR3DevHlp_CritSectYield, … … 5450 5418 pdmR3DevHlp_CritSectInit, 5451 5419 pdmR3DevHlp_CritSectGetNop, 5452 pdmR3DevHlp_CritSectGetNopR0,5453 pdmR3DevHlp_CritSectGetNopRC,5454 5420 pdmR3DevHlp_SetDeviceCritSect, 5455 5421 pdmR3DevHlp_CritSectYield,
Note:
See TracChangeset
for help on using the changeset viewer.