1 #define NVOC_PROFILER_V2_H_PRIVATE_ACCESS_ALLOWED 2 #include "nvoc/runtime.h" 3 #include "nvoc/rtti.h" 4 #include "nvtypes.h" 5 #include "nvport/nvport.h" 6 #include "nvport/inline/util_valist.h" 7 #include "utils/nvassert.h" 8 #include "g_profiler_v2_nvoc.h" 9 10 #ifdef DEBUG 11 char __nvoc_class_id_uniqueness_check_0x4976fc = 1; 12 #endif 13 14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase; 15 16 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object; 17 18 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource; 19 20 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon; 21 22 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource; 23 24 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource; 25 26 void __nvoc_init_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 27 void __nvoc_init_funcTable_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 28 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase*, RmHalspecOwner* , struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams); 29 void __nvoc_init_dataField_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 30 void __nvoc_dtor_ProfilerBase(ProfilerBase*); 31 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerBase; 32 33 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_ProfilerBase = { 34 /*pClassDef=*/ &__nvoc_class_def_ProfilerBase, 35 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_ProfilerBase, 36 /*offset=*/ 0, 37 }; 38 39 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_Object = { 40 /*pClassDef=*/ &__nvoc_class_def_Object, 41 /*dtor=*/ &__nvoc_destructFromBase, 42 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object), 43 }; 44 45 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_RsResource = { 46 /*pClassDef=*/ &__nvoc_class_def_RsResource, 47 /*dtor=*/ &__nvoc_destructFromBase, 48 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource), 49 }; 50 51 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_RmResourceCommon = { 52 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon, 53 /*dtor=*/ &__nvoc_destructFromBase, 54 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon), 55 }; 56 57 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_RmResource = { 58 /*pClassDef=*/ &__nvoc_class_def_RmResource, 59 /*dtor=*/ &__nvoc_destructFromBase, 60 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource.__nvoc_base_RmResource), 61 }; 62 63 static const struct NVOC_RTTI __nvoc_rtti_ProfilerBase_GpuResource = { 64 /*pClassDef=*/ &__nvoc_class_def_GpuResource, 65 /*dtor=*/ &__nvoc_destructFromBase, 66 /*offset=*/ NV_OFFSETOF(ProfilerBase, __nvoc_base_GpuResource), 67 }; 68 69 static const struct NVOC_CASTINFO __nvoc_castinfo_ProfilerBase = { 70 /*numRelatives=*/ 6, 71 /*relatives=*/ { 72 &__nvoc_rtti_ProfilerBase_ProfilerBase, 73 &__nvoc_rtti_ProfilerBase_GpuResource, 74 &__nvoc_rtti_ProfilerBase_RmResource, 75 &__nvoc_rtti_ProfilerBase_RmResourceCommon, 76 &__nvoc_rtti_ProfilerBase_RsResource, 77 &__nvoc_rtti_ProfilerBase_Object, 78 }, 79 }; 80 81 const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase = 82 { 83 /*classInfo=*/ { 84 /*size=*/ sizeof(ProfilerBase), 85 /*classId=*/ classId(ProfilerBase), 86 /*providerId=*/ &__nvoc_rtti_provider, 87 #if NV_PRINTF_STRINGS_ALLOWED 88 /*name=*/ "ProfilerBase", 89 #endif 90 }, 91 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_ProfilerBase, 92 /*pCastInfo=*/ &__nvoc_castinfo_ProfilerBase, 93 /*pExportInfo=*/ &__nvoc_export_info_ProfilerBase 94 }; 95 96 static NvBool __nvoc_thunk_GpuResource_profilerBaseShareCallback(struct ProfilerBase *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) { 97 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy); 98 } 99 100 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap(struct ProfilerBase *pRmResource, NvBool bSubdeviceHandleProvided) { 101 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), bSubdeviceHandleProvided); 102 } 103 104 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseMapTo(struct ProfilerBase *pResource, RS_RES_MAP_TO_PARAMS *pParams) { 105 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pParams); 106 } 107 108 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) { 109 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, mapFlags, pAddrSpace); 110 } 111 112 static NvU32 __nvoc_thunk_RsResource_profilerBaseGetRefCount(struct ProfilerBase *pResource) { 113 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset)); 114 } 115 116 static void __nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants(struct RsClient *pClient, struct ProfilerBase *pResource, RsResourceRef *pReference) { 117 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pReference); 118 } 119 120 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseControl_Prologue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 121 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 122 } 123 124 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize(struct ProfilerBase *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) { 125 return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pGpu, pOffset, pSize); 126 } 127 128 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseInternalControlForward(struct ProfilerBase *pGpuResource, NvU32 command, void *pParams, NvU32 size) { 129 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), command, pParams, size); 130 } 131 132 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseUnmapFrom(struct ProfilerBase *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) { 133 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pParams); 134 } 135 136 static void __nvoc_thunk_RmResource_profilerBaseControl_Epilogue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 137 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 138 } 139 140 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseControlLookup(struct ProfilerBase *pResource, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams, const struct NVOC_EXPORTED_METHOD_DEF **ppEntry) { 141 return resControlLookup((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pParams, ppEntry); 142 } 143 144 static NvHandle __nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle(struct ProfilerBase *pGpuResource) { 145 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset)); 146 } 147 148 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseControl(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 149 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pParams); 150 } 151 152 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseUnmap(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) { 153 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pCpuMapping); 154 } 155 156 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams(struct ProfilerBase *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) { 157 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pParams); 158 } 159 160 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor(struct ProfilerBase *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) { 161 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), ppMemDesc); 162 } 163 164 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseControlFilter(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 165 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pCallContext, pParams); 166 } 167 168 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 169 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 170 } 171 172 static NvBool __nvoc_thunk_RsResource_profilerBaseCanCopy(struct ProfilerBase *pResource) { 173 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset)); 174 } 175 176 static void __nvoc_thunk_RsResource_profilerBasePreDestruct(struct ProfilerBase *pResource) { 177 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset)); 178 } 179 180 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseIsDuplicate(struct ProfilerBase *pResource, NvHandle hMemory, NvBool *pDuplicate) { 181 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), hMemory, pDuplicate); 182 } 183 184 static void __nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 185 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams); 186 } 187 188 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseMap(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) { 189 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pParams, pCpuMapping); 190 } 191 192 static NvBool __nvoc_thunk_RmResource_profilerBaseAccessCallback(struct ProfilerBase *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) { 193 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pInvokingClient, pAllocParams, accessRight); 194 } 195 196 #if !defined(NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG) 197 #define NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(x) (0) 198 #endif 199 200 static const struct NVOC_EXPORTED_METHOD_DEF __nvoc_exported_method_def_ProfilerBase[] = 201 { 202 { /* [0] */ 203 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u) 204 /*pFunc=*/ (void (*)(void)) NULL, 205 #else 206 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReserveHwpmLegacy_IMPL, 207 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u) 208 /*flags=*/ 0x2010u, 209 /*accessRight=*/0x0u, 210 /*methodId=*/ 0xb0cc0101u, 211 /*paramSize=*/ sizeof(NVB0CC_CTRL_RESERVE_HWPM_LEGACY_PARAMS), 212 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 213 #if NV_PRINTF_STRINGS_ALLOWED 214 /*func=*/ "profilerBaseCtrlCmdReserveHwpmLegacy" 215 #endif 216 }, 217 { /* [1] */ 218 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 219 /*pFunc=*/ (void (*)(void)) NULL, 220 #else 221 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleaseHwpmLegacy_IMPL, 222 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 223 /*flags=*/ 0x210u, 224 /*accessRight=*/0x0u, 225 /*methodId=*/ 0xb0cc0102u, 226 /*paramSize=*/ 0, 227 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 228 #if NV_PRINTF_STRINGS_ALLOWED 229 /*func=*/ "profilerBaseCtrlCmdReleaseHwpmLegacy" 230 #endif 231 }, 232 { /* [2] */ 233 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 234 /*pFunc=*/ (void (*)(void)) NULL, 235 #else 236 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReservePmAreaSmpc_IMPL, 237 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 238 /*flags=*/ 0x210u, 239 /*accessRight=*/0x0u, 240 /*methodId=*/ 0xb0cc0103u, 241 /*paramSize=*/ sizeof(NVB0CC_CTRL_RESERVE_PM_AREA_SMPC_PARAMS), 242 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 243 #if NV_PRINTF_STRINGS_ALLOWED 244 /*func=*/ "profilerBaseCtrlCmdReservePmAreaSmpc" 245 #endif 246 }, 247 { /* [3] */ 248 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 249 /*pFunc=*/ (void (*)(void)) NULL, 250 #else 251 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleasePmAreaSmpc_IMPL, 252 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 253 /*flags=*/ 0x210u, 254 /*accessRight=*/0x0u, 255 /*methodId=*/ 0xb0cc0104u, 256 /*paramSize=*/ 0, 257 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 258 #if NV_PRINTF_STRINGS_ALLOWED 259 /*func=*/ "profilerBaseCtrlCmdReleasePmAreaSmpc" 260 #endif 261 }, 262 { /* [4] */ 263 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 264 /*pFunc=*/ (void (*)(void)) NULL, 265 #else 266 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdAllocPmaStream_IMPL, 267 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 268 /*flags=*/ 0x10u, 269 /*accessRight=*/0x0u, 270 /*methodId=*/ 0xb0cc0105u, 271 /*paramSize=*/ sizeof(NVB0CC_CTRL_ALLOC_PMA_STREAM_PARAMS), 272 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 273 #if NV_PRINTF_STRINGS_ALLOWED 274 /*func=*/ "profilerBaseCtrlCmdAllocPmaStream" 275 #endif 276 }, 277 { /* [5] */ 278 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 279 /*pFunc=*/ (void (*)(void)) NULL, 280 #else 281 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdFreePmaStream_IMPL, 282 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 283 /*flags=*/ 0x10u, 284 /*accessRight=*/0x0u, 285 /*methodId=*/ 0xb0cc0106u, 286 /*paramSize=*/ sizeof(NVB0CC_CTRL_FREE_PMA_STREAM_PARAMS), 287 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 288 #if NV_PRINTF_STRINGS_ALLOWED 289 /*func=*/ "profilerBaseCtrlCmdFreePmaStream" 290 #endif 291 }, 292 { /* [6] */ 293 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 294 /*pFunc=*/ (void (*)(void)) NULL, 295 #else 296 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdBindPmResources_IMPL, 297 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 298 /*flags=*/ 0x10u, 299 /*accessRight=*/0x0u, 300 /*methodId=*/ 0xb0cc0107u, 301 /*paramSize=*/ 0, 302 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 303 #if NV_PRINTF_STRINGS_ALLOWED 304 /*func=*/ "profilerBaseCtrlCmdBindPmResources" 305 #endif 306 }, 307 { /* [7] */ 308 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 309 /*pFunc=*/ (void (*)(void)) NULL, 310 #else 311 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdUnbindPmResources_IMPL, 312 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 313 /*flags=*/ 0x10u, 314 /*accessRight=*/0x0u, 315 /*methodId=*/ 0xb0cc0108u, 316 /*paramSize=*/ 0, 317 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 318 #if NV_PRINTF_STRINGS_ALLOWED 319 /*func=*/ "profilerBaseCtrlCmdUnbindPmResources" 320 #endif 321 }, 322 { /* [8] */ 323 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 324 /*pFunc=*/ (void (*)(void)) NULL, 325 #else 326 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdPmaStreamUpdateGetPut_IMPL, 327 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 328 /*flags=*/ 0x210u, 329 /*accessRight=*/0x0u, 330 /*methodId=*/ 0xb0cc0109u, 331 /*paramSize=*/ sizeof(NVB0CC_CTRL_PMA_STREAM_UPDATE_GET_PUT_PARAMS), 332 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 333 #if NV_PRINTF_STRINGS_ALLOWED 334 /*func=*/ "profilerBaseCtrlCmdPmaStreamUpdateGetPut" 335 #endif 336 }, 337 { /* [9] */ 338 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 339 /*pFunc=*/ (void (*)(void)) NULL, 340 #else 341 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdExecRegops_IMPL, 342 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 343 /*flags=*/ 0x2210u, 344 /*accessRight=*/0x0u, 345 /*methodId=*/ 0xb0cc010au, 346 /*paramSize=*/ sizeof(NVB0CC_CTRL_EXEC_REG_OPS_PARAMS), 347 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 348 #if NV_PRINTF_STRINGS_ALLOWED 349 /*func=*/ "profilerBaseCtrlCmdExecRegops" 350 #endif 351 }, 352 { /* [10] */ 353 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 354 /*pFunc=*/ (void (*)(void)) NULL, 355 #else 356 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReservePmAreaPcSampler_IMPL, 357 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 358 /*flags=*/ 0x2210u, 359 /*accessRight=*/0x0u, 360 /*methodId=*/ 0xb0cc010bu, 361 /*paramSize=*/ 0, 362 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 363 #if NV_PRINTF_STRINGS_ALLOWED 364 /*func=*/ "profilerBaseCtrlCmdReservePmAreaPcSampler" 365 #endif 366 }, 367 { /* [11] */ 368 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 369 /*pFunc=*/ (void (*)(void)) NULL, 370 #else 371 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleasePmAreaPcSampler_IMPL, 372 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 373 /*flags=*/ 0x2210u, 374 /*accessRight=*/0x0u, 375 /*methodId=*/ 0xb0cc010cu, 376 /*paramSize=*/ 0, 377 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 378 #if NV_PRINTF_STRINGS_ALLOWED 379 /*func=*/ "profilerBaseCtrlCmdReleasePmAreaPcSampler" 380 #endif 381 }, 382 { /* [12] */ 383 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 384 /*pFunc=*/ (void (*)(void)) NULL, 385 #else 386 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdGetTotalHsCredits_IMPL, 387 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 388 /*flags=*/ 0x2210u, 389 /*accessRight=*/0x0u, 390 /*methodId=*/ 0xb0cc010du, 391 /*paramSize=*/ sizeof(NVB0CC_CTRL_GET_TOTAL_HS_CREDITS_PARAMS), 392 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 393 #if NV_PRINTF_STRINGS_ALLOWED 394 /*func=*/ "profilerBaseCtrlCmdGetTotalHsCredits" 395 #endif 396 }, 397 { /* [13] */ 398 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 399 /*pFunc=*/ (void (*)(void)) NULL, 400 #else 401 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdSetHsCredits_IMPL, 402 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 403 /*flags=*/ 0x2210u, 404 /*accessRight=*/0x0u, 405 /*methodId=*/ 0xb0cc010eu, 406 /*paramSize=*/ sizeof(NVB0CC_CTRL_SET_HS_CREDITS_PARAMS), 407 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 408 #if NV_PRINTF_STRINGS_ALLOWED 409 /*func=*/ "profilerBaseCtrlCmdSetHsCredits" 410 #endif 411 }, 412 { /* [14] */ 413 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 414 /*pFunc=*/ (void (*)(void)) NULL, 415 #else 416 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdGetHsCredits_IMPL, 417 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 418 /*flags=*/ 0x2210u, 419 /*accessRight=*/0x0u, 420 /*methodId=*/ 0xb0cc010fu, 421 /*paramSize=*/ sizeof(NVB0CC_CTRL_GET_HS_CREDITS_PARAMS), 422 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 423 #if NV_PRINTF_STRINGS_ALLOWED 424 /*func=*/ "profilerBaseCtrlCmdGetHsCredits" 425 #endif 426 }, 427 { /* [15] */ 428 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 429 /*pFunc=*/ (void (*)(void)) NULL, 430 #else 431 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReserveHes_IMPL, 432 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 433 /*flags=*/ 0x210u, 434 /*accessRight=*/0x0u, 435 /*methodId=*/ 0xb0cc0113u, 436 /*paramSize=*/ sizeof(NVB0CC_CTRL_RESERVE_HES_PARAMS), 437 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 438 #if NV_PRINTF_STRINGS_ALLOWED 439 /*func=*/ "profilerBaseCtrlCmdReserveHes" 440 #endif 441 }, 442 { /* [16] */ 443 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 444 /*pFunc=*/ (void (*)(void)) NULL, 445 #else 446 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleaseHes_IMPL, 447 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 448 /*flags=*/ 0x210u, 449 /*accessRight=*/0x0u, 450 /*methodId=*/ 0xb0cc0114u, 451 /*paramSize=*/ sizeof(NVB0CC_CTRL_RELEASE_HES_PARAMS), 452 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 453 #if NV_PRINTF_STRINGS_ALLOWED 454 /*func=*/ "profilerBaseCtrlCmdReleaseHes" 455 #endif 456 }, 457 { /* [17] */ 458 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 459 /*pFunc=*/ (void (*)(void)) NULL, 460 #else 461 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalPermissionsInit_IMPL, 462 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 463 /*flags=*/ 0x610u, 464 /*accessRight=*/0x0u, 465 /*methodId=*/ 0xb0cc0203u, 466 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS), 467 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 468 #if NV_PRINTF_STRINGS_ALLOWED 469 /*func=*/ "profilerBaseCtrlCmdInternalPermissionsInit" 470 #endif 471 }, 472 { /* [18] */ 473 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 474 /*pFunc=*/ (void (*)(void)) NULL, 475 #else 476 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalAllocPmaStream_IMPL, 477 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 478 /*flags=*/ 0x610u, 479 /*accessRight=*/0x0u, 480 /*methodId=*/ 0xb0cc0204u, 481 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS), 482 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 483 #if NV_PRINTF_STRINGS_ALLOWED 484 /*func=*/ "profilerBaseCtrlCmdInternalAllocPmaStream" 485 #endif 486 }, 487 { /* [19] */ 488 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 489 /*pFunc=*/ (void (*)(void)) NULL, 490 #else 491 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalFreePmaStream_IMPL, 492 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 493 /*flags=*/ 0x610u, 494 /*accessRight=*/0x0u, 495 /*methodId=*/ 0xb0cc0206u, 496 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS), 497 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 498 #if NV_PRINTF_STRINGS_ALLOWED 499 /*func=*/ "profilerBaseCtrlCmdInternalFreePmaStream" 500 #endif 501 }, 502 { /* [20] */ 503 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 504 /*pFunc=*/ (void (*)(void)) NULL, 505 #else 506 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalGetMaxPmas_IMPL, 507 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 508 /*flags=*/ 0x610u, 509 /*accessRight=*/0x0u, 510 /*methodId=*/ 0xb0cc0207u, 511 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS), 512 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 513 #if NV_PRINTF_STRINGS_ALLOWED 514 /*func=*/ "profilerBaseCtrlCmdInternalGetMaxPmas" 515 #endif 516 }, 517 { /* [21] */ 518 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 519 /*pFunc=*/ (void (*)(void)) NULL, 520 #else 521 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalBindPmResources_IMPL, 522 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 523 /*flags=*/ 0x610u, 524 /*accessRight=*/0x0u, 525 /*methodId=*/ 0xb0cc0208u, 526 /*paramSize=*/ 0, 527 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 528 #if NV_PRINTF_STRINGS_ALLOWED 529 /*func=*/ "profilerBaseCtrlCmdInternalBindPmResources" 530 #endif 531 }, 532 { /* [22] */ 533 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 534 /*pFunc=*/ (void (*)(void)) NULL, 535 #else 536 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalUnbindPmResources_IMPL, 537 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 538 /*flags=*/ 0x610u, 539 /*accessRight=*/0x0u, 540 /*methodId=*/ 0xb0cc0209u, 541 /*paramSize=*/ 0, 542 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 543 #if NV_PRINTF_STRINGS_ALLOWED 544 /*func=*/ "profilerBaseCtrlCmdInternalUnbindPmResources" 545 #endif 546 }, 547 { /* [23] */ 548 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 549 /*pFunc=*/ (void (*)(void)) NULL, 550 #else 551 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL, 552 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 553 /*flags=*/ 0x610u, 554 /*accessRight=*/0x0u, 555 /*methodId=*/ 0xb0cc020au, 556 /*paramSize=*/ sizeof(NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS), 557 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 558 #if NV_PRINTF_STRINGS_ALLOWED 559 /*func=*/ "profilerBaseCtrlCmdInternalReserveHwpmLegacy" 560 #endif 561 }, 562 { /* [24] */ 563 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 564 /*pFunc=*/ (void (*)(void)) NULL, 565 #else 566 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdRequestCgControls_IMPL, 567 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 568 /*flags=*/ 0x210u, 569 /*accessRight=*/0x0u, 570 /*methodId=*/ 0xb0cc0301u, 571 /*paramSize=*/ sizeof(NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS), 572 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 573 #if NV_PRINTF_STRINGS_ALLOWED 574 /*func=*/ "profilerBaseCtrlCmdRequestCgControls" 575 #endif 576 }, 577 { /* [25] */ 578 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 579 /*pFunc=*/ (void (*)(void)) NULL, 580 #else 581 /*pFunc=*/ (void (*)(void)) profilerBaseCtrlCmdReleaseCgControls_IMPL, 582 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 583 /*flags=*/ 0x210u, 584 /*accessRight=*/0x0u, 585 /*methodId=*/ 0xb0cc0302u, 586 /*paramSize=*/ sizeof(NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS), 587 /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo), 588 #if NV_PRINTF_STRINGS_ALLOWED 589 /*func=*/ "profilerBaseCtrlCmdReleaseCgControls" 590 #endif 591 }, 592 593 }; 594 595 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerBase = 596 { 597 /*numEntries=*/ 26, 598 /*pExportEntries=*/ __nvoc_exported_method_def_ProfilerBase 599 }; 600 601 void __nvoc_dtor_GpuResource(GpuResource*); 602 void __nvoc_dtor_ProfilerBase(ProfilerBase *pThis) { 603 __nvoc_profilerBaseDestruct(pThis); 604 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource); 605 PORT_UNREFERENCED_VARIABLE(pThis); 606 } 607 608 void __nvoc_init_dataField_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 609 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 610 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 611 PORT_UNREFERENCED_VARIABLE(pThis); 612 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 613 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 614 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 615 } 616 617 NV_STATUS __nvoc_ctor_GpuResource(GpuResource* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 618 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 619 NV_STATUS status = NV_OK; 620 status = __nvoc_ctor_GpuResource(&pThis->__nvoc_base_GpuResource, arg_pCallContext, arg_pParams); 621 if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail_GpuResource; 622 __nvoc_init_dataField_ProfilerBase(pThis, pRmhalspecowner); 623 624 status = __nvoc_profilerBaseConstruct(pThis, arg_pCallContext, arg_pParams); 625 if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail__init; 626 goto __nvoc_ctor_ProfilerBase_exit; // Success 627 628 __nvoc_ctor_ProfilerBase_fail__init: 629 __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource); 630 __nvoc_ctor_ProfilerBase_fail_GpuResource: 631 __nvoc_ctor_ProfilerBase_exit: 632 633 return status; 634 } 635 636 static void __nvoc_init_funcTable_ProfilerBase_1(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 637 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 638 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 639 PORT_UNREFERENCED_VARIABLE(pThis); 640 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 641 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 642 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 643 644 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u) 645 pThis->__profilerBaseCtrlCmdReserveHwpmLegacy__ = &profilerBaseCtrlCmdReserveHwpmLegacy_IMPL; 646 #endif 647 648 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 649 pThis->__profilerBaseCtrlCmdInternalReserveHwpmLegacy__ = &profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL; 650 #endif 651 652 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 653 pThis->__profilerBaseCtrlCmdReleaseHwpmLegacy__ = &profilerBaseCtrlCmdReleaseHwpmLegacy_IMPL; 654 #endif 655 656 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 657 pThis->__profilerBaseCtrlCmdReservePmAreaSmpc__ = &profilerBaseCtrlCmdReservePmAreaSmpc_IMPL; 658 #endif 659 660 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 661 pThis->__profilerBaseCtrlCmdReleasePmAreaSmpc__ = &profilerBaseCtrlCmdReleasePmAreaSmpc_IMPL; 662 #endif 663 664 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 665 pThis->__profilerBaseCtrlCmdAllocPmaStream__ = &profilerBaseCtrlCmdAllocPmaStream_IMPL; 666 #endif 667 668 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 669 pThis->__profilerBaseCtrlCmdFreePmaStream__ = &profilerBaseCtrlCmdFreePmaStream_IMPL; 670 #endif 671 672 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 673 pThis->__profilerBaseCtrlCmdInternalFreePmaStream__ = &profilerBaseCtrlCmdInternalFreePmaStream_IMPL; 674 #endif 675 676 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 677 pThis->__profilerBaseCtrlCmdInternalGetMaxPmas__ = &profilerBaseCtrlCmdInternalGetMaxPmas_IMPL; 678 #endif 679 680 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 681 pThis->__profilerBaseCtrlCmdBindPmResources__ = &profilerBaseCtrlCmdBindPmResources_IMPL; 682 #endif 683 684 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u) 685 pThis->__profilerBaseCtrlCmdUnbindPmResources__ = &profilerBaseCtrlCmdUnbindPmResources_IMPL; 686 #endif 687 688 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 689 pThis->__profilerBaseCtrlCmdInternalBindPmResources__ = &profilerBaseCtrlCmdInternalBindPmResources_IMPL; 690 #endif 691 692 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 693 pThis->__profilerBaseCtrlCmdInternalUnbindPmResources__ = &profilerBaseCtrlCmdInternalUnbindPmResources_IMPL; 694 #endif 695 696 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 697 pThis->__profilerBaseCtrlCmdPmaStreamUpdateGetPut__ = &profilerBaseCtrlCmdPmaStreamUpdateGetPut_IMPL; 698 #endif 699 700 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 701 pThis->__profilerBaseCtrlCmdExecRegops__ = &profilerBaseCtrlCmdExecRegops_IMPL; 702 #endif 703 704 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 705 pThis->__profilerBaseCtrlCmdInternalAllocPmaStream__ = &profilerBaseCtrlCmdInternalAllocPmaStream_IMPL; 706 #endif 707 708 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u) 709 pThis->__profilerBaseCtrlCmdInternalPermissionsInit__ = &profilerBaseCtrlCmdInternalPermissionsInit_IMPL; 710 #endif 711 712 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 713 pThis->__profilerBaseCtrlCmdReservePmAreaPcSampler__ = &profilerBaseCtrlCmdReservePmAreaPcSampler_IMPL; 714 #endif 715 716 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 717 pThis->__profilerBaseCtrlCmdReleasePmAreaPcSampler__ = &profilerBaseCtrlCmdReleasePmAreaPcSampler_IMPL; 718 #endif 719 720 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 721 pThis->__profilerBaseCtrlCmdGetTotalHsCredits__ = &profilerBaseCtrlCmdGetTotalHsCredits_IMPL; 722 #endif 723 724 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 725 pThis->__profilerBaseCtrlCmdGetHsCredits__ = &profilerBaseCtrlCmdGetHsCredits_IMPL; 726 #endif 727 728 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u) 729 pThis->__profilerBaseCtrlCmdSetHsCredits__ = &profilerBaseCtrlCmdSetHsCredits_IMPL; 730 #endif 731 732 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 733 pThis->__profilerBaseCtrlCmdReserveHes__ = &profilerBaseCtrlCmdReserveHes_IMPL; 734 #endif 735 736 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 737 pThis->__profilerBaseCtrlCmdReleaseHes__ = &profilerBaseCtrlCmdReleaseHes_IMPL; 738 #endif 739 740 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 741 pThis->__profilerBaseCtrlCmdRequestCgControls__ = &profilerBaseCtrlCmdRequestCgControls_IMPL; 742 #endif 743 744 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u) 745 pThis->__profilerBaseCtrlCmdReleaseCgControls__ = &profilerBaseCtrlCmdReleaseCgControls_IMPL; 746 #endif 747 748 pThis->__profilerBaseShareCallback__ = &__nvoc_thunk_GpuResource_profilerBaseShareCallback; 749 750 pThis->__profilerBaseCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap; 751 752 pThis->__profilerBaseMapTo__ = &__nvoc_thunk_RsResource_profilerBaseMapTo; 753 754 pThis->__profilerBaseGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace; 755 756 pThis->__profilerBaseGetRefCount__ = &__nvoc_thunk_RsResource_profilerBaseGetRefCount; 757 758 pThis->__profilerBaseAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants; 759 760 pThis->__profilerBaseControl_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Prologue; 761 762 pThis->__profilerBaseGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize; 763 764 pThis->__profilerBaseInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerBaseInternalControlForward; 765 766 pThis->__profilerBaseUnmapFrom__ = &__nvoc_thunk_RsResource_profilerBaseUnmapFrom; 767 768 pThis->__profilerBaseControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Epilogue; 769 770 pThis->__profilerBaseControlLookup__ = &__nvoc_thunk_RsResource_profilerBaseControlLookup; 771 772 pThis->__profilerBaseGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle; 773 774 pThis->__profilerBaseControl__ = &__nvoc_thunk_GpuResource_profilerBaseControl; 775 776 pThis->__profilerBaseUnmap__ = &__nvoc_thunk_GpuResource_profilerBaseUnmap; 777 778 pThis->__profilerBaseGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams; 779 780 pThis->__profilerBaseGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor; 781 782 pThis->__profilerBaseControlFilter__ = &__nvoc_thunk_RsResource_profilerBaseControlFilter; 783 784 pThis->__profilerBaseControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue; 785 786 pThis->__profilerBaseCanCopy__ = &__nvoc_thunk_RsResource_profilerBaseCanCopy; 787 788 pThis->__profilerBasePreDestruct__ = &__nvoc_thunk_RsResource_profilerBasePreDestruct; 789 790 pThis->__profilerBaseIsDuplicate__ = &__nvoc_thunk_RsResource_profilerBaseIsDuplicate; 791 792 pThis->__profilerBaseControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue; 793 794 pThis->__profilerBaseMap__ = &__nvoc_thunk_GpuResource_profilerBaseMap; 795 796 pThis->__profilerBaseAccessCallback__ = &__nvoc_thunk_RmResource_profilerBaseAccessCallback; 797 } 798 799 void __nvoc_init_funcTable_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 800 __nvoc_init_funcTable_ProfilerBase_1(pThis, pRmhalspecowner); 801 } 802 803 void __nvoc_init_GpuResource(GpuResource*); 804 void __nvoc_init_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) { 805 pThis->__nvoc_pbase_ProfilerBase = pThis; 806 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object; 807 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource; 808 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon; 809 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource; 810 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_GpuResource; 811 __nvoc_init_GpuResource(&pThis->__nvoc_base_GpuResource); 812 __nvoc_init_funcTable_ProfilerBase(pThis, pRmhalspecowner); 813 } 814 815 NV_STATUS __nvoc_objCreate_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 816 NV_STATUS status; 817 Object *pParentObj; 818 ProfilerBase *pThis; 819 RmHalspecOwner *pRmhalspecowner; 820 821 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerBase), (void**)&pThis, (void**)ppThis); 822 if (status != NV_OK) 823 return status; 824 825 portMemSet(pThis, 0, sizeof(ProfilerBase)); 826 827 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerBase); 828 829 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags; 830 831 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 832 { 833 pParentObj = dynamicCast(pParent, Object); 834 objAddChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object); 835 } 836 else 837 { 838 pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL; 839 } 840 841 if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL) 842 pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent); 843 NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT); 844 845 __nvoc_init_ProfilerBase(pThis, pRmhalspecowner); 846 status = __nvoc_ctor_ProfilerBase(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams); 847 if (status != NV_OK) goto __nvoc_objCreate_ProfilerBase_cleanup; 848 849 *ppThis = pThis; 850 851 return NV_OK; 852 853 __nvoc_objCreate_ProfilerBase_cleanup: 854 // do not call destructors here since the constructor already called them 855 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 856 portMemSet(pThis, 0, sizeof(ProfilerBase)); 857 else 858 portMemFree(pThis); 859 860 // coverity[leaked_storage:FALSE] 861 return status; 862 } 863 864 NV_STATUS __nvoc_objCreateDynamic_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 865 NV_STATUS status; 866 struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *); 867 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 868 869 status = __nvoc_objCreate_ProfilerBase(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams); 870 871 return status; 872 } 873 874 #ifdef DEBUG 875 char __nvoc_class_id_uniqueness_check_0x54d077 = 1; 876 #endif 877 878 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev; 879 880 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object; 881 882 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource; 883 884 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon; 885 886 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource; 887 888 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource; 889 890 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase; 891 892 void __nvoc_init_ProfilerDev(ProfilerDev*, RmHalspecOwner* ); 893 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev*, RmHalspecOwner* ); 894 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev*, RmHalspecOwner* , struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams); 895 void __nvoc_init_dataField_ProfilerDev(ProfilerDev*, RmHalspecOwner* ); 896 void __nvoc_dtor_ProfilerDev(ProfilerDev*); 897 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev; 898 899 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerDev = { 900 /*pClassDef=*/ &__nvoc_class_def_ProfilerDev, 901 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_ProfilerDev, 902 /*offset=*/ 0, 903 }; 904 905 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_Object = { 906 /*pClassDef=*/ &__nvoc_class_def_Object, 907 /*dtor=*/ &__nvoc_destructFromBase, 908 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object), 909 }; 910 911 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RsResource = { 912 /*pClassDef=*/ &__nvoc_class_def_RsResource, 913 /*dtor=*/ &__nvoc_destructFromBase, 914 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource), 915 }; 916 917 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResourceCommon = { 918 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon, 919 /*dtor=*/ &__nvoc_destructFromBase, 920 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon), 921 }; 922 923 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResource = { 924 /*pClassDef=*/ &__nvoc_class_def_RmResource, 925 /*dtor=*/ &__nvoc_destructFromBase, 926 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource), 927 }; 928 929 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_GpuResource = { 930 /*pClassDef=*/ &__nvoc_class_def_GpuResource, 931 /*dtor=*/ &__nvoc_destructFromBase, 932 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource), 933 }; 934 935 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerBase = { 936 /*pClassDef=*/ &__nvoc_class_def_ProfilerBase, 937 /*dtor=*/ &__nvoc_destructFromBase, 938 /*offset=*/ NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase), 939 }; 940 941 static const struct NVOC_CASTINFO __nvoc_castinfo_ProfilerDev = { 942 /*numRelatives=*/ 7, 943 /*relatives=*/ { 944 &__nvoc_rtti_ProfilerDev_ProfilerDev, 945 &__nvoc_rtti_ProfilerDev_ProfilerBase, 946 &__nvoc_rtti_ProfilerDev_GpuResource, 947 &__nvoc_rtti_ProfilerDev_RmResource, 948 &__nvoc_rtti_ProfilerDev_RmResourceCommon, 949 &__nvoc_rtti_ProfilerDev_RsResource, 950 &__nvoc_rtti_ProfilerDev_Object, 951 }, 952 }; 953 954 const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev = 955 { 956 /*classInfo=*/ { 957 /*size=*/ sizeof(ProfilerDev), 958 /*classId=*/ classId(ProfilerDev), 959 /*providerId=*/ &__nvoc_rtti_provider, 960 #if NV_PRINTF_STRINGS_ALLOWED 961 /*name=*/ "ProfilerDev", 962 #endif 963 }, 964 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_ProfilerDev, 965 /*pCastInfo=*/ &__nvoc_castinfo_ProfilerDev, 966 /*pExportInfo=*/ &__nvoc_export_info_ProfilerDev 967 }; 968 969 static NvBool __nvoc_thunk_GpuResource_profilerDevShareCallback(struct ProfilerDev *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) { 970 return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy); 971 } 972 973 static NV_STATUS __nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap(struct ProfilerDev *pRmResource, NvBool bSubdeviceHandleProvided) { 974 return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), bSubdeviceHandleProvided); 975 } 976 977 static NV_STATUS __nvoc_thunk_RsResource_profilerDevMapTo(struct ProfilerDev *pResource, RS_RES_MAP_TO_PARAMS *pParams) { 978 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams); 979 } 980 981 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) { 982 return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, mapFlags, pAddrSpace); 983 } 984 985 static NvU32 __nvoc_thunk_RsResource_profilerDevGetRefCount(struct ProfilerDev *pResource) { 986 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset)); 987 } 988 989 static void __nvoc_thunk_RsResource_profilerDevAddAdditionalDependants(struct RsClient *pClient, struct ProfilerDev *pResource, RsResourceRef *pReference) { 990 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pReference); 991 } 992 993 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControl_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 994 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 995 } 996 997 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize(struct ProfilerDev *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) { 998 return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pGpu, pOffset, pSize); 999 } 1000 1001 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevInternalControlForward(struct ProfilerDev *pGpuResource, NvU32 command, void *pParams, NvU32 size) { 1002 return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), command, pParams, size); 1003 } 1004 1005 static NV_STATUS __nvoc_thunk_RsResource_profilerDevUnmapFrom(struct ProfilerDev *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) { 1006 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams); 1007 } 1008 1009 static void __nvoc_thunk_RmResource_profilerDevControl_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1010 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 1011 } 1012 1013 static NV_STATUS __nvoc_thunk_RsResource_profilerDevControlLookup(struct ProfilerDev *pResource, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams, const struct NVOC_EXPORTED_METHOD_DEF **ppEntry) { 1014 return resControlLookup((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams, ppEntry); 1015 } 1016 1017 static NvHandle __nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle(struct ProfilerDev *pGpuResource) { 1018 return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset)); 1019 } 1020 1021 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevControl(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1022 return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams); 1023 } 1024 1025 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevUnmap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) { 1026 return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pCpuMapping); 1027 } 1028 1029 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemInterMapParams(struct ProfilerDev *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) { 1030 return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pParams); 1031 } 1032 1033 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor(struct ProfilerDev *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) { 1034 return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), ppMemDesc); 1035 } 1036 1037 static NV_STATUS __nvoc_thunk_RsResource_profilerDevControlFilter(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1038 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pCallContext, pParams); 1039 } 1040 1041 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1042 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 1043 } 1044 1045 static NvBool __nvoc_thunk_RsResource_profilerDevCanCopy(struct ProfilerDev *pResource) { 1046 return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset)); 1047 } 1048 1049 static void __nvoc_thunk_RsResource_profilerDevPreDestruct(struct ProfilerDev *pResource) { 1050 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset)); 1051 } 1052 1053 static NV_STATUS __nvoc_thunk_RsResource_profilerDevIsDuplicate(struct ProfilerDev *pResource, NvHandle hMemory, NvBool *pDuplicate) { 1054 return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), hMemory, pDuplicate); 1055 } 1056 1057 static void __nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) { 1058 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams); 1059 } 1060 1061 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevMap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) { 1062 return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams, pCpuMapping); 1063 } 1064 1065 static NvBool __nvoc_thunk_RmResource_profilerDevAccessCallback(struct ProfilerDev *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) { 1066 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pInvokingClient, pAllocParams, accessRight); 1067 } 1068 1069 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev = 1070 { 1071 /*numEntries=*/ 0, 1072 /*pExportEntries=*/ 0 1073 }; 1074 1075 void __nvoc_dtor_ProfilerBase(ProfilerBase*); 1076 void __nvoc_dtor_ProfilerDev(ProfilerDev *pThis) { 1077 __nvoc_profilerDevDestruct(pThis); 1078 __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase); 1079 PORT_UNREFERENCED_VARIABLE(pThis); 1080 } 1081 1082 void __nvoc_init_dataField_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1083 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 1084 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 1085 PORT_UNREFERENCED_VARIABLE(pThis); 1086 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 1087 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 1088 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 1089 } 1090 1091 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase* , RmHalspecOwner* , struct CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 1092 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 1093 NV_STATUS status = NV_OK; 1094 status = __nvoc_ctor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner, arg_pCallContext, arg_pParams); 1095 if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail_ProfilerBase; 1096 __nvoc_init_dataField_ProfilerDev(pThis, pRmhalspecowner); 1097 1098 status = __nvoc_profilerDevConstruct(pThis, arg_pCallContext, arg_pParams); 1099 if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail__init; 1100 goto __nvoc_ctor_ProfilerDev_exit; // Success 1101 1102 __nvoc_ctor_ProfilerDev_fail__init: 1103 __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase); 1104 __nvoc_ctor_ProfilerDev_fail_ProfilerBase: 1105 __nvoc_ctor_ProfilerDev_exit: 1106 1107 return status; 1108 } 1109 1110 static void __nvoc_init_funcTable_ProfilerDev_1(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1111 RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal; 1112 const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx; 1113 PORT_UNREFERENCED_VARIABLE(pThis); 1114 PORT_UNREFERENCED_VARIABLE(pRmhalspecowner); 1115 PORT_UNREFERENCED_VARIABLE(rmVariantHal); 1116 PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx); 1117 1118 pThis->__profilerDevShareCallback__ = &__nvoc_thunk_GpuResource_profilerDevShareCallback; 1119 1120 pThis->__profilerDevCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap; 1121 1122 pThis->__profilerDevMapTo__ = &__nvoc_thunk_RsResource_profilerDevMapTo; 1123 1124 pThis->__profilerDevGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace; 1125 1126 pThis->__profilerDevGetRefCount__ = &__nvoc_thunk_RsResource_profilerDevGetRefCount; 1127 1128 pThis->__profilerDevAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerDevAddAdditionalDependants; 1129 1130 pThis->__profilerDevControl_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControl_Prologue; 1131 1132 pThis->__profilerDevGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize; 1133 1134 pThis->__profilerDevInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerDevInternalControlForward; 1135 1136 pThis->__profilerDevUnmapFrom__ = &__nvoc_thunk_RsResource_profilerDevUnmapFrom; 1137 1138 pThis->__profilerDevControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControl_Epilogue; 1139 1140 pThis->__profilerDevControlLookup__ = &__nvoc_thunk_RsResource_profilerDevControlLookup; 1141 1142 pThis->__profilerDevGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle; 1143 1144 pThis->__profilerDevControl__ = &__nvoc_thunk_GpuResource_profilerDevControl; 1145 1146 pThis->__profilerDevUnmap__ = &__nvoc_thunk_GpuResource_profilerDevUnmap; 1147 1148 pThis->__profilerDevGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerDevGetMemInterMapParams; 1149 1150 pThis->__profilerDevGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor; 1151 1152 pThis->__profilerDevControlFilter__ = &__nvoc_thunk_RsResource_profilerDevControlFilter; 1153 1154 pThis->__profilerDevControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue; 1155 1156 pThis->__profilerDevCanCopy__ = &__nvoc_thunk_RsResource_profilerDevCanCopy; 1157 1158 pThis->__profilerDevPreDestruct__ = &__nvoc_thunk_RsResource_profilerDevPreDestruct; 1159 1160 pThis->__profilerDevIsDuplicate__ = &__nvoc_thunk_RsResource_profilerDevIsDuplicate; 1161 1162 pThis->__profilerDevControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue; 1163 1164 pThis->__profilerDevMap__ = &__nvoc_thunk_GpuResource_profilerDevMap; 1165 1166 pThis->__profilerDevAccessCallback__ = &__nvoc_thunk_RmResource_profilerDevAccessCallback; 1167 } 1168 1169 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1170 __nvoc_init_funcTable_ProfilerDev_1(pThis, pRmhalspecowner); 1171 } 1172 1173 void __nvoc_init_ProfilerBase(ProfilerBase*, RmHalspecOwner* ); 1174 void __nvoc_init_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) { 1175 pThis->__nvoc_pbase_ProfilerDev = pThis; 1176 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object; 1177 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource; 1178 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon; 1179 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource; 1180 pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource; 1181 pThis->__nvoc_pbase_ProfilerBase = &pThis->__nvoc_base_ProfilerBase; 1182 __nvoc_init_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner); 1183 __nvoc_init_funcTable_ProfilerDev(pThis, pRmhalspecowner); 1184 } 1185 1186 NV_STATUS __nvoc_objCreate_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, struct CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) { 1187 NV_STATUS status; 1188 Object *pParentObj; 1189 ProfilerDev *pThis; 1190 RmHalspecOwner *pRmhalspecowner; 1191 1192 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerDev), (void**)&pThis, (void**)ppThis); 1193 if (status != NV_OK) 1194 return status; 1195 1196 portMemSet(pThis, 0, sizeof(ProfilerDev)); 1197 1198 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerDev); 1199 1200 pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags; 1201 1202 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 1203 { 1204 pParentObj = dynamicCast(pParent, Object); 1205 objAddChild(pParentObj, &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object); 1206 } 1207 else 1208 { 1209 pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL; 1210 } 1211 1212 if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL) 1213 pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent); 1214 NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT); 1215 1216 __nvoc_init_ProfilerDev(pThis, pRmhalspecowner); 1217 status = __nvoc_ctor_ProfilerDev(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams); 1218 if (status != NV_OK) goto __nvoc_objCreate_ProfilerDev_cleanup; 1219 1220 *ppThis = pThis; 1221 1222 return NV_OK; 1223 1224 __nvoc_objCreate_ProfilerDev_cleanup: 1225 // do not call destructors here since the constructor already called them 1226 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 1227 portMemSet(pThis, 0, sizeof(ProfilerDev)); 1228 else 1229 portMemFree(pThis); 1230 1231 // coverity[leaked_storage:FALSE] 1232 return status; 1233 } 1234 1235 NV_STATUS __nvoc_objCreateDynamic_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 1236 NV_STATUS status; 1237 struct CALL_CONTEXT * arg_pCallContext = va_arg(args, struct CALL_CONTEXT *); 1238 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *); 1239 1240 status = __nvoc_objCreate_ProfilerDev(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams); 1241 1242 return status; 1243 } 1244 1245