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* , 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 
__nvoc_thunk_GpuResource_profilerBaseShareCallback(struct ProfilerBase * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)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 
__nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap(struct ProfilerBase * pRmResource,NvBool bSubdeviceHandleProvided)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 
__nvoc_thunk_RsResource_profilerBaseMapTo(struct ProfilerBase * pResource,RS_RES_MAP_TO_PARAMS * pParams)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 
__nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)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 
__nvoc_thunk_RsResource_profilerBaseGetRefCount(struct ProfilerBase * pResource)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 
__nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants(struct RsClient * pClient,struct ProfilerBase * pResource,RsResourceRef * pReference)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 
__nvoc_thunk_RmResource_profilerBaseControl_Prologue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)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 
__nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize(struct ProfilerBase * pGpuResource,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)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 
__nvoc_thunk_GpuResource_profilerBaseInternalControlForward(struct ProfilerBase * pGpuResource,NvU32 command,void * pParams,NvU32 size)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 
__nvoc_thunk_RsResource_profilerBaseUnmapFrom(struct ProfilerBase * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)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 
__nvoc_thunk_RmResource_profilerBaseControl_Epilogue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)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 
__nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle(struct ProfilerBase * pGpuResource)140 static NvHandle __nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle(struct ProfilerBase *pGpuResource) {
141     return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset));
142 }
143 
__nvoc_thunk_GpuResource_profilerBaseControl(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)144 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseControl(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
145     return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pParams);
146 }
147 
__nvoc_thunk_GpuResource_profilerBaseUnmap(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)148 static NV_STATUS __nvoc_thunk_GpuResource_profilerBaseUnmap(struct ProfilerBase *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
149     return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerBase_GpuResource.offset), pCallContext, pCpuMapping);
150 }
151 
__nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams(struct ProfilerBase * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)152 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams(struct ProfilerBase *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
153     return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pParams);
154 }
155 
__nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor(struct ProfilerBase * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)156 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor(struct ProfilerBase *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
157     return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), ppMemDesc);
158 }
159 
__nvoc_thunk_RsResource_profilerBaseControlFilter(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)160 static NV_STATUS __nvoc_thunk_RsResource_profilerBaseControlFilter(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
161     return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset), pCallContext, pParams);
162 }
163 
__nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)164 static NV_STATUS __nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue(struct ProfilerBase *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
165     return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RmResource.offset), pCallContext, pParams);
166 }
167 
__nvoc_thunk_RsResource_profilerBaseCanCopy(struct ProfilerBase * pResource)168 static NvBool __nvoc_thunk_RsResource_profilerBaseCanCopy(struct ProfilerBase *pResource) {
169     return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset));
170 }
171 
__nvoc_thunk_RsResource_profilerBaseIsPartialUnmapSupported(struct ProfilerBase * pResource)172 static NvBool __nvoc_thunk_RsResource_profilerBaseIsPartialUnmapSupported(struct ProfilerBase *pResource) {
173     return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset));
174 }
175 
__nvoc_thunk_RsResource_profilerBasePreDestruct(struct ProfilerBase * pResource)176 static void __nvoc_thunk_RsResource_profilerBasePreDestruct(struct ProfilerBase *pResource) {
177     resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerBase_RsResource.offset));
178 }
179 
__nvoc_thunk_RsResource_profilerBaseIsDuplicate(struct ProfilerBase * pResource,NvHandle hMemory,NvBool * pDuplicate)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 
__nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue(struct ProfilerBase * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)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 
__nvoc_thunk_GpuResource_profilerBaseMap(struct ProfilerBase * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)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 
__nvoc_thunk_RmResource_profilerBaseAccessCallback(struct ProfilerBase * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)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(0x2210u)
234         /*pFunc=*/      (void (*)(void)) NULL,
235 #else
236         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdReservePmAreaSmpc_IMPL,
237 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
238         /*flags=*/      0x2210u,
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(0x400210u)
324         /*pFunc=*/      (void (*)(void)) NULL,
325 #else
326         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdPmaStreamUpdateGetPut_DISPATCH,
327 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
328         /*flags=*/      0x400210u,
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(0x210u)
459         /*pFunc=*/      (void (*)(void)) NULL,
460 #else
461         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdDisableDynamicMMABoost_IMPL,
462 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
463         /*flags=*/      0x210u,
464         /*accessRight=*/0x0u,
465         /*methodId=*/   0xb0cc0117u,
466         /*paramSize=*/  sizeof(NVB0CC_CTRL_DISABLE_DYNAMIC_MMA_BOOST_PARAMS),
467         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
468 #if NV_PRINTF_STRINGS_ALLOWED
469         /*func=*/       "profilerBaseCtrlCmdDisableDynamicMMABoost"
470 #endif
471     },
472     {               /*  [18] */
473 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
474         /*pFunc=*/      (void (*)(void)) NULL,
475 #else
476         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdGetDynamicMMABoostStatus_IMPL,
477 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
478         /*flags=*/      0x210u,
479         /*accessRight=*/0x0u,
480         /*methodId=*/   0xb0cc0118u,
481         /*paramSize=*/  sizeof(NVB0CC_CTRL_GET_DYNAMIC_MMA_BOOST_STATUS_PARAMS),
482         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
483 #if NV_PRINTF_STRINGS_ALLOWED
484         /*func=*/       "profilerBaseCtrlCmdGetDynamicMMABoostStatus"
485 #endif
486     },
487     {               /*  [19] */
488 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
489         /*pFunc=*/      (void (*)(void)) NULL,
490 #else
491         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalQuiescePmaChannel_IMPL,
492 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
493         /*flags=*/      0x210u,
494         /*accessRight=*/0x0u,
495         /*methodId=*/   0xb0cc0201u,
496         /*paramSize=*/  sizeof(NVB0CC_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL_PARAMS),
497         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
498 #if NV_PRINTF_STRINGS_ALLOWED
499         /*func=*/       "profilerBaseCtrlCmdInternalQuiescePmaChannel"
500 #endif
501     },
502     {               /*  [20] */
503 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400010u)
504         /*pFunc=*/      (void (*)(void)) NULL,
505 #else
506         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalSriovPromotePmaStream_DISPATCH,
507 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400010u)
508         /*flags=*/      0x400010u,
509         /*accessRight=*/0x0u,
510         /*methodId=*/   0xb0cc0202u,
511         /*paramSize=*/  sizeof(NVB0CC_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM_PARAMS),
512         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
513 #if NV_PRINTF_STRINGS_ALLOWED
514         /*func=*/       "profilerBaseCtrlCmdInternalSriovPromotePmaStream"
515 #endif
516     },
517     {               /*  [21] */
518 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
519         /*pFunc=*/      (void (*)(void)) NULL,
520 #else
521         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalPermissionsInit_IMPL,
522 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
523         /*flags=*/      0x210u,
524         /*accessRight=*/0x0u,
525         /*methodId=*/   0xb0cc0203u,
526         /*paramSize=*/  sizeof(NVB0CC_CTRL_INTERNAL_PERMISSIONS_INIT_PARAMS),
527         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
528 #if NV_PRINTF_STRINGS_ALLOWED
529         /*func=*/       "profilerBaseCtrlCmdInternalPermissionsInit"
530 #endif
531     },
532     {               /*  [22] */
533 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
534         /*pFunc=*/      (void (*)(void)) NULL,
535 #else
536         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalAllocPmaStream_DISPATCH,
537 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
538         /*flags=*/      0x400610u,
539         /*accessRight=*/0x0u,
540         /*methodId=*/   0xb0cc0204u,
541         /*paramSize=*/  sizeof(NVB0CC_CTRL_INTERNAL_ALLOC_PMA_STREAM_PARAMS),
542         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
543 #if NV_PRINTF_STRINGS_ALLOWED
544         /*func=*/       "profilerBaseCtrlCmdInternalAllocPmaStream"
545 #endif
546     },
547     {               /*  [23] */
548 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
549         /*pFunc=*/      (void (*)(void)) NULL,
550 #else
551         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalFreePmaStream_DISPATCH,
552 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
553         /*flags=*/      0x400610u,
554         /*accessRight=*/0x0u,
555         /*methodId=*/   0xb0cc0206u,
556         /*paramSize=*/  sizeof(NVB0CC_CTRL_INTERNAL_FREE_PMA_STREAM_PARAMS),
557         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
558 #if NV_PRINTF_STRINGS_ALLOWED
559         /*func=*/       "profilerBaseCtrlCmdInternalFreePmaStream"
560 #endif
561     },
562     {               /*  [24] */
563 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
564         /*pFunc=*/      (void (*)(void)) NULL,
565 #else
566         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalGetMaxPmas_IMPL,
567 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
568         /*flags=*/      0x400610u,
569         /*accessRight=*/0x0u,
570         /*methodId=*/   0xb0cc0207u,
571         /*paramSize=*/  sizeof(NVB0CC_CTRL_INTERNAL_GET_MAX_PMAS_PARAMS),
572         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
573 #if NV_PRINTF_STRINGS_ALLOWED
574         /*func=*/       "profilerBaseCtrlCmdInternalGetMaxPmas"
575 #endif
576     },
577     {               /*  [25] */
578 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
579         /*pFunc=*/      (void (*)(void)) NULL,
580 #else
581         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalBindPmResources_IMPL,
582 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
583         /*flags=*/      0x610u,
584         /*accessRight=*/0x0u,
585         /*methodId=*/   0xb0cc0208u,
586         /*paramSize=*/  0,
587         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
588 #if NV_PRINTF_STRINGS_ALLOWED
589         /*func=*/       "profilerBaseCtrlCmdInternalBindPmResources"
590 #endif
591     },
592     {               /*  [26] */
593 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
594         /*pFunc=*/      (void (*)(void)) NULL,
595 #else
596         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalUnbindPmResources_IMPL,
597 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
598         /*flags=*/      0x610u,
599         /*accessRight=*/0x0u,
600         /*methodId=*/   0xb0cc0209u,
601         /*paramSize=*/  0,
602         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
603 #if NV_PRINTF_STRINGS_ALLOWED
604         /*func=*/       "profilerBaseCtrlCmdInternalUnbindPmResources"
605 #endif
606     },
607     {               /*  [27] */
608 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
609         /*pFunc=*/      (void (*)(void)) NULL,
610 #else
611         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL,
612 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
613         /*flags=*/      0x610u,
614         /*accessRight=*/0x0u,
615         /*methodId=*/   0xb0cc020au,
616         /*paramSize=*/  sizeof(NVB0CC_CTRL_INTERNAL_RESERVE_HWPM_LEGACY_PARAMS),
617         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
618 #if NV_PRINTF_STRINGS_ALLOWED
619         /*func=*/       "profilerBaseCtrlCmdInternalReserveHwpmLegacy"
620 #endif
621     },
622     {               /*  [28] */
623 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
624         /*pFunc=*/      (void (*)(void)) NULL,
625 #else
626         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdRequestCgControls_DISPATCH,
627 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
628         /*flags=*/      0x400210u,
629         /*accessRight=*/0x0u,
630         /*methodId=*/   0xb0cc0301u,
631         /*paramSize=*/  sizeof(NVB0CC_CTRL_POWER_REQUEST_FEATURES_PARAMS),
632         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
633 #if NV_PRINTF_STRINGS_ALLOWED
634         /*func=*/       "profilerBaseCtrlCmdRequestCgControls"
635 #endif
636     },
637     {               /*  [29] */
638 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
639         /*pFunc=*/      (void (*)(void)) NULL,
640 #else
641         /*pFunc=*/      (void (*)(void)) profilerBaseCtrlCmdReleaseCgControls_DISPATCH,
642 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400210u)
643         /*flags=*/      0x400210u,
644         /*accessRight=*/0x0u,
645         /*methodId=*/   0xb0cc0302u,
646         /*paramSize=*/  sizeof(NVB0CC_CTRL_POWER_RELEASE_FEATURES_PARAMS),
647         /*pClassInfo=*/ &(__nvoc_class_def_ProfilerBase.classInfo),
648 #if NV_PRINTF_STRINGS_ALLOWED
649         /*func=*/       "profilerBaseCtrlCmdReleaseCgControls"
650 #endif
651     },
652 
653 };
654 
655 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerBase =
656 {
657     /*numEntries=*/     30,
658     /*pExportEntries=*/ __nvoc_exported_method_def_ProfilerBase
659 };
660 
661 void __nvoc_dtor_GpuResource(GpuResource*);
__nvoc_dtor_ProfilerBase(ProfilerBase * pThis)662 void __nvoc_dtor_ProfilerBase(ProfilerBase *pThis) {
663     __nvoc_profilerBaseDestruct(pThis);
664     __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
665     PORT_UNREFERENCED_VARIABLE(pThis);
666 }
667 
__nvoc_init_dataField_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)668 void __nvoc_init_dataField_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
669     RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
670     const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
671     PORT_UNREFERENCED_VARIABLE(pThis);
672     PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
673     PORT_UNREFERENCED_VARIABLE(rmVariantHal);
674     PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
675 }
676 
677 NV_STATUS __nvoc_ctor_GpuResource(GpuResource* , CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
__nvoc_ctor_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)678 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
679     NV_STATUS status = NV_OK;
680     status = __nvoc_ctor_GpuResource(&pThis->__nvoc_base_GpuResource, arg_pCallContext, arg_pParams);
681     if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail_GpuResource;
682     __nvoc_init_dataField_ProfilerBase(pThis, pRmhalspecowner);
683 
684     status = __nvoc_profilerBaseConstruct(pThis, arg_pCallContext, arg_pParams);
685     if (status != NV_OK) goto __nvoc_ctor_ProfilerBase_fail__init;
686     goto __nvoc_ctor_ProfilerBase_exit; // Success
687 
688 __nvoc_ctor_ProfilerBase_fail__init:
689     __nvoc_dtor_GpuResource(&pThis->__nvoc_base_GpuResource);
690 __nvoc_ctor_ProfilerBase_fail_GpuResource:
691 __nvoc_ctor_ProfilerBase_exit:
692 
693     return status;
694 }
695 
__nvoc_init_funcTable_ProfilerBase_1(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)696 static void __nvoc_init_funcTable_ProfilerBase_1(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
697     RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
698     const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
699     PORT_UNREFERENCED_VARIABLE(pThis);
700     PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
701     PORT_UNREFERENCED_VARIABLE(rmVariantHal);
702     PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
703 
704     // Hal function -- profilerBaseConstructState
705     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
706     {
707         pThis->__profilerBaseConstructState__ = &profilerBaseConstructState_IMPL;
708     }
709     else
710     {
711         pThis->__profilerBaseConstructState__ = &profilerBaseConstructState_56cd7a;
712     }
713 
714     // Hal function -- profilerBaseDestructState
715     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
716     {
717         pThis->__profilerBaseDestructState__ = &profilerBaseDestructState_VF;
718     }
719     else
720     {
721         pThis->__profilerBaseDestructState__ = &profilerBaseDestructState_b3696a;
722     }
723 
724 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2010u)
725     pThis->__profilerBaseCtrlCmdReserveHwpmLegacy__ = &profilerBaseCtrlCmdReserveHwpmLegacy_IMPL;
726 #endif
727 
728 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
729     pThis->__profilerBaseCtrlCmdInternalReserveHwpmLegacy__ = &profilerBaseCtrlCmdInternalReserveHwpmLegacy_IMPL;
730 #endif
731 
732 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
733     pThis->__profilerBaseCtrlCmdReleaseHwpmLegacy__ = &profilerBaseCtrlCmdReleaseHwpmLegacy_IMPL;
734 #endif
735 
736 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
737     pThis->__profilerBaseCtrlCmdReservePmAreaSmpc__ = &profilerBaseCtrlCmdReservePmAreaSmpc_IMPL;
738 #endif
739 
740 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
741     pThis->__profilerBaseCtrlCmdReleasePmAreaSmpc__ = &profilerBaseCtrlCmdReleasePmAreaSmpc_IMPL;
742 #endif
743 
744 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
745     pThis->__profilerBaseCtrlCmdAllocPmaStream__ = &profilerBaseCtrlCmdAllocPmaStream_IMPL;
746 #endif
747 
748 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
749     pThis->__profilerBaseCtrlCmdFreePmaStream__ = &profilerBaseCtrlCmdFreePmaStream_IMPL;
750 #endif
751 
752     // Hal function -- profilerBaseCtrlCmdInternalFreePmaStream
753     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
754     {
755         pThis->__profilerBaseCtrlCmdInternalFreePmaStream__ = &profilerBaseCtrlCmdInternalFreePmaStream_VF;
756     }
757     else
758     {
759         pThis->__profilerBaseCtrlCmdInternalFreePmaStream__ = &profilerBaseCtrlCmdInternalFreePmaStream_56cd7a;
760     }
761 
762 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x400610u)
763     pThis->__profilerBaseCtrlCmdInternalGetMaxPmas__ = &profilerBaseCtrlCmdInternalGetMaxPmas_IMPL;
764 #endif
765 
766 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
767     pThis->__profilerBaseCtrlCmdBindPmResources__ = &profilerBaseCtrlCmdBindPmResources_IMPL;
768 #endif
769 
770 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
771     pThis->__profilerBaseCtrlCmdUnbindPmResources__ = &profilerBaseCtrlCmdUnbindPmResources_IMPL;
772 #endif
773 
774 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
775     pThis->__profilerBaseCtrlCmdInternalBindPmResources__ = &profilerBaseCtrlCmdInternalBindPmResources_IMPL;
776 #endif
777 
778 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x610u)
779     pThis->__profilerBaseCtrlCmdInternalUnbindPmResources__ = &profilerBaseCtrlCmdInternalUnbindPmResources_IMPL;
780 #endif
781 
782     // Hal function -- profilerBaseCtrlCmdPmaStreamUpdateGetPut
783     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
784     {
785         pThis->__profilerBaseCtrlCmdPmaStreamUpdateGetPut__ = &profilerBaseCtrlCmdPmaStreamUpdateGetPut_VF;
786     }
787     else
788     {
789         pThis->__profilerBaseCtrlCmdPmaStreamUpdateGetPut__ = &profilerBaseCtrlCmdPmaStreamUpdateGetPut_56cd7a;
790     }
791 
792 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
793     pThis->__profilerBaseCtrlCmdExecRegops__ = &profilerBaseCtrlCmdExecRegops_IMPL;
794 #endif
795 
796     // Hal function -- profilerBaseCtrlCmdInternalAllocPmaStream
797     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
798     {
799         pThis->__profilerBaseCtrlCmdInternalAllocPmaStream__ = &profilerBaseCtrlCmdInternalAllocPmaStream_VF;
800     }
801     else
802     {
803         pThis->__profilerBaseCtrlCmdInternalAllocPmaStream__ = &profilerBaseCtrlCmdInternalAllocPmaStream_56cd7a;
804     }
805 
806 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
807     pThis->__profilerBaseCtrlCmdInternalQuiescePmaChannel__ = &profilerBaseCtrlCmdInternalQuiescePmaChannel_IMPL;
808 #endif
809 
810     // Hal function -- profilerBaseCtrlCmdInternalSriovPromotePmaStream
811     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
812     {
813         pThis->__profilerBaseCtrlCmdInternalSriovPromotePmaStream__ = &profilerBaseCtrlCmdInternalSriovPromotePmaStream_VF;
814     }
815     else
816     {
817         pThis->__profilerBaseCtrlCmdInternalSriovPromotePmaStream__ = &profilerBaseCtrlCmdInternalSriovPromotePmaStream_108313;
818     }
819 
820 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
821     pThis->__profilerBaseCtrlCmdInternalPermissionsInit__ = &profilerBaseCtrlCmdInternalPermissionsInit_IMPL;
822 #endif
823 
824 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
825     pThis->__profilerBaseCtrlCmdReservePmAreaPcSampler__ = &profilerBaseCtrlCmdReservePmAreaPcSampler_IMPL;
826 #endif
827 
828 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
829     pThis->__profilerBaseCtrlCmdReleasePmAreaPcSampler__ = &profilerBaseCtrlCmdReleasePmAreaPcSampler_IMPL;
830 #endif
831 
832 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
833     pThis->__profilerBaseCtrlCmdGetTotalHsCredits__ = &profilerBaseCtrlCmdGetTotalHsCredits_IMPL;
834 #endif
835 
836 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
837     pThis->__profilerBaseCtrlCmdGetHsCredits__ = &profilerBaseCtrlCmdGetHsCredits_IMPL;
838 #endif
839 
840 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x2210u)
841     pThis->__profilerBaseCtrlCmdSetHsCredits__ = &profilerBaseCtrlCmdSetHsCredits_IMPL;
842 #endif
843 
844 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
845     pThis->__profilerBaseCtrlCmdReserveHes__ = &profilerBaseCtrlCmdReserveHes_IMPL;
846 #endif
847 
848 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
849     pThis->__profilerBaseCtrlCmdReleaseHes__ = &profilerBaseCtrlCmdReleaseHes_IMPL;
850 #endif
851 
852     // Hal function -- profilerBaseCtrlCmdRequestCgControls
853     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
854     {
855         pThis->__profilerBaseCtrlCmdRequestCgControls__ = &profilerBaseCtrlCmdRequestCgControls_VF;
856     }
857     else
858     {
859         pThis->__profilerBaseCtrlCmdRequestCgControls__ = &profilerBaseCtrlCmdRequestCgControls_92bfc3;
860     }
861 
862     // Hal function -- profilerBaseCtrlCmdReleaseCgControls
863     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
864     {
865         pThis->__profilerBaseCtrlCmdReleaseCgControls__ = &profilerBaseCtrlCmdReleaseCgControls_56cd7a;
866     }
867     else
868     {
869         pThis->__profilerBaseCtrlCmdReleaseCgControls__ = &profilerBaseCtrlCmdReleaseCgControls_92bfc3;
870     }
871 
872 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
873     pThis->__profilerBaseCtrlCmdDisableDynamicMMABoost__ = &profilerBaseCtrlCmdDisableDynamicMMABoost_IMPL;
874 #endif
875 
876 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x210u)
877     pThis->__profilerBaseCtrlCmdGetDynamicMMABoostStatus__ = &profilerBaseCtrlCmdGetDynamicMMABoostStatus_IMPL;
878 #endif
879 
880     pThis->__profilerBaseShareCallback__ = &__nvoc_thunk_GpuResource_profilerBaseShareCallback;
881 
882     pThis->__profilerBaseCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerBaseCheckMemInterUnmap;
883 
884     pThis->__profilerBaseMapTo__ = &__nvoc_thunk_RsResource_profilerBaseMapTo;
885 
886     pThis->__profilerBaseGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerBaseGetMapAddrSpace;
887 
888     pThis->__profilerBaseGetRefCount__ = &__nvoc_thunk_RsResource_profilerBaseGetRefCount;
889 
890     pThis->__profilerBaseAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerBaseAddAdditionalDependants;
891 
892     pThis->__profilerBaseControl_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Prologue;
893 
894     pThis->__profilerBaseGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerBaseGetRegBaseOffsetAndSize;
895 
896     pThis->__profilerBaseInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerBaseInternalControlForward;
897 
898     pThis->__profilerBaseUnmapFrom__ = &__nvoc_thunk_RsResource_profilerBaseUnmapFrom;
899 
900     pThis->__profilerBaseControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControl_Epilogue;
901 
902     pThis->__profilerBaseGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerBaseGetInternalObjectHandle;
903 
904     pThis->__profilerBaseControl__ = &__nvoc_thunk_GpuResource_profilerBaseControl;
905 
906     pThis->__profilerBaseUnmap__ = &__nvoc_thunk_GpuResource_profilerBaseUnmap;
907 
908     pThis->__profilerBaseGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerBaseGetMemInterMapParams;
909 
910     pThis->__profilerBaseGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerBaseGetMemoryMappingDescriptor;
911 
912     pThis->__profilerBaseControlFilter__ = &__nvoc_thunk_RsResource_profilerBaseControlFilter;
913 
914     pThis->__profilerBaseControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Prologue;
915 
916     pThis->__profilerBaseCanCopy__ = &__nvoc_thunk_RsResource_profilerBaseCanCopy;
917 
918     pThis->__profilerBaseIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_profilerBaseIsPartialUnmapSupported;
919 
920     pThis->__profilerBasePreDestruct__ = &__nvoc_thunk_RsResource_profilerBasePreDestruct;
921 
922     pThis->__profilerBaseIsDuplicate__ = &__nvoc_thunk_RsResource_profilerBaseIsDuplicate;
923 
924     pThis->__profilerBaseControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerBaseControlSerialization_Epilogue;
925 
926     pThis->__profilerBaseMap__ = &__nvoc_thunk_GpuResource_profilerBaseMap;
927 
928     pThis->__profilerBaseAccessCallback__ = &__nvoc_thunk_RmResource_profilerBaseAccessCallback;
929 }
930 
__nvoc_init_funcTable_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)931 void __nvoc_init_funcTable_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
932     __nvoc_init_funcTable_ProfilerBase_1(pThis, pRmhalspecowner);
933 }
934 
935 void __nvoc_init_GpuResource(GpuResource*);
__nvoc_init_ProfilerBase(ProfilerBase * pThis,RmHalspecOwner * pRmhalspecowner)936 void __nvoc_init_ProfilerBase(ProfilerBase *pThis, RmHalspecOwner *pRmhalspecowner) {
937     pThis->__nvoc_pbase_ProfilerBase = pThis;
938     pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
939     pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
940     pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
941     pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource;
942     pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_GpuResource;
943     __nvoc_init_GpuResource(&pThis->__nvoc_base_GpuResource);
944     __nvoc_init_funcTable_ProfilerBase(pThis, pRmhalspecowner);
945 }
946 
__nvoc_objCreate_ProfilerBase(ProfilerBase ** ppThis,Dynamic * pParent,NvU32 createFlags,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)947 NV_STATUS __nvoc_objCreate_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
948 {
949     NV_STATUS status;
950     Object *pParentObj = NULL;
951     ProfilerBase *pThis;
952     RmHalspecOwner *pRmhalspecowner;
953 
954     // Assign `pThis`, allocating memory unless suppressed by flag.
955     status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerBase), (void**)&pThis, (void**)ppThis);
956     if (status != NV_OK)
957         return status;
958 
959     // Zero is the initial value for everything.
960     portMemSet(pThis, 0, sizeof(ProfilerBase));
961 
962     // Initialize runtime type information.
963     __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerBase);
964 
965     pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
966 
967     // pParent must be a valid object that derives from a halspec owner class.
968     NV_ASSERT_OR_RETURN(pParent != NULL, NV_ERR_INVALID_ARGUMENT);
969 
970     // Link the child into the parent unless flagged not to do so.
971     if (!(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
972     {
973         pParentObj = dynamicCast(pParent, Object);
974         objAddChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
975     }
976     else
977     {
978         pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
979     }
980 
981     if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL)
982         pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent);
983     NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT);
984 
985     __nvoc_init_ProfilerBase(pThis, pRmhalspecowner);
986     status = __nvoc_ctor_ProfilerBase(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams);
987     if (status != NV_OK) goto __nvoc_objCreate_ProfilerBase_cleanup;
988 
989     // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
990     *ppThis = pThis;
991 
992     return NV_OK;
993 
994 __nvoc_objCreate_ProfilerBase_cleanup:
995 
996     // Unlink the child from the parent if it was linked above.
997     if (pParentObj != NULL)
998         objRemoveChild(pParentObj, &pThis->__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
999 
1000     // Do not call destructors here since the constructor already called them.
1001     if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
1002         portMemSet(pThis, 0, sizeof(ProfilerBase));
1003     else
1004     {
1005         portMemFree(pThis);
1006         *ppThis = NULL;
1007     }
1008 
1009     // coverity[leaked_storage:FALSE]
1010     return status;
1011 }
1012 
__nvoc_objCreateDynamic_ProfilerBase(ProfilerBase ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)1013 NV_STATUS __nvoc_objCreateDynamic_ProfilerBase(ProfilerBase **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
1014     NV_STATUS status;
1015     CALL_CONTEXT * arg_pCallContext = va_arg(args, CALL_CONTEXT *);
1016     struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
1017 
1018     status = __nvoc_objCreate_ProfilerBase(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
1019 
1020     return status;
1021 }
1022 
1023 #ifdef DEBUG
1024 char __nvoc_class_id_uniqueness_check_0x54d077 = 1;
1025 #endif
1026 
1027 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev;
1028 
1029 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
1030 
1031 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RsResource;
1032 
1033 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResourceCommon;
1034 
1035 extern const struct NVOC_CLASS_DEF __nvoc_class_def_RmResource;
1036 
1037 extern const struct NVOC_CLASS_DEF __nvoc_class_def_GpuResource;
1038 
1039 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerBase;
1040 
1041 void __nvoc_init_ProfilerDev(ProfilerDev*, RmHalspecOwner* );
1042 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev*, RmHalspecOwner* );
1043 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev*, RmHalspecOwner* , CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
1044 void __nvoc_init_dataField_ProfilerDev(ProfilerDev*, RmHalspecOwner* );
1045 void __nvoc_dtor_ProfilerDev(ProfilerDev*);
1046 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev;
1047 
1048 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerDev = {
1049     /*pClassDef=*/          &__nvoc_class_def_ProfilerDev,
1050     /*dtor=*/               (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_ProfilerDev,
1051     /*offset=*/             0,
1052 };
1053 
1054 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_Object = {
1055     /*pClassDef=*/          &__nvoc_class_def_Object,
1056     /*dtor=*/               &__nvoc_destructFromBase,
1057     /*offset=*/             NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
1058 };
1059 
1060 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RsResource = {
1061     /*pClassDef=*/          &__nvoc_class_def_RsResource,
1062     /*dtor=*/               &__nvoc_destructFromBase,
1063     /*offset=*/             NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource),
1064 };
1065 
1066 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResourceCommon = {
1067     /*pClassDef=*/          &__nvoc_class_def_RmResourceCommon,
1068     /*dtor=*/               &__nvoc_destructFromBase,
1069     /*offset=*/             NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
1070 };
1071 
1072 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_RmResource = {
1073     /*pClassDef=*/          &__nvoc_class_def_RmResource,
1074     /*dtor=*/               &__nvoc_destructFromBase,
1075     /*offset=*/             NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource),
1076 };
1077 
1078 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_GpuResource = {
1079     /*pClassDef=*/          &__nvoc_class_def_GpuResource,
1080     /*dtor=*/               &__nvoc_destructFromBase,
1081     /*offset=*/             NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase.__nvoc_base_GpuResource),
1082 };
1083 
1084 static const struct NVOC_RTTI __nvoc_rtti_ProfilerDev_ProfilerBase = {
1085     /*pClassDef=*/          &__nvoc_class_def_ProfilerBase,
1086     /*dtor=*/               &__nvoc_destructFromBase,
1087     /*offset=*/             NV_OFFSETOF(ProfilerDev, __nvoc_base_ProfilerBase),
1088 };
1089 
1090 static const struct NVOC_CASTINFO __nvoc_castinfo_ProfilerDev = {
1091     /*numRelatives=*/       7,
1092     /*relatives=*/ {
1093         &__nvoc_rtti_ProfilerDev_ProfilerDev,
1094         &__nvoc_rtti_ProfilerDev_ProfilerBase,
1095         &__nvoc_rtti_ProfilerDev_GpuResource,
1096         &__nvoc_rtti_ProfilerDev_RmResource,
1097         &__nvoc_rtti_ProfilerDev_RmResourceCommon,
1098         &__nvoc_rtti_ProfilerDev_RsResource,
1099         &__nvoc_rtti_ProfilerDev_Object,
1100     },
1101 };
1102 
1103 const struct NVOC_CLASS_DEF __nvoc_class_def_ProfilerDev =
1104 {
1105     /*classInfo=*/ {
1106         /*size=*/               sizeof(ProfilerDev),
1107         /*classId=*/            classId(ProfilerDev),
1108         /*providerId=*/         &__nvoc_rtti_provider,
1109 #if NV_PRINTF_STRINGS_ALLOWED
1110         /*name=*/               "ProfilerDev",
1111 #endif
1112     },
1113     /*objCreatefn=*/        (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_ProfilerDev,
1114     /*pCastInfo=*/          &__nvoc_castinfo_ProfilerDev,
1115     /*pExportInfo=*/        &__nvoc_export_info_ProfilerDev
1116 };
1117 
__nvoc_thunk_GpuResource_profilerDevShareCallback(struct ProfilerDev * pGpuResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)1118 static NvBool __nvoc_thunk_GpuResource_profilerDevShareCallback(struct ProfilerDev *pGpuResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
1119     return gpuresShareCallback((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pInvokingClient, pParentRef, pSharePolicy);
1120 }
1121 
__nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap(struct ProfilerDev * pRmResource,NvBool bSubdeviceHandleProvided)1122 static NV_STATUS __nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap(struct ProfilerDev *pRmResource, NvBool bSubdeviceHandleProvided) {
1123     return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), bSubdeviceHandleProvided);
1124 }
1125 
__nvoc_thunk_RsResource_profilerDevMapTo(struct ProfilerDev * pResource,RS_RES_MAP_TO_PARAMS * pParams)1126 static NV_STATUS __nvoc_thunk_RsResource_profilerDevMapTo(struct ProfilerDev *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
1127     return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams);
1128 }
1129 
__nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)1130 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
1131     return gpuresGetMapAddrSpace((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, mapFlags, pAddrSpace);
1132 }
1133 
__nvoc_thunk_RsResource_profilerDevGetRefCount(struct ProfilerDev * pResource)1134 static NvU32 __nvoc_thunk_RsResource_profilerDevGetRefCount(struct ProfilerDev *pResource) {
1135     return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1136 }
1137 
__nvoc_thunk_RsResource_profilerDevAddAdditionalDependants(struct RsClient * pClient,struct ProfilerDev * pResource,RsResourceRef * pReference)1138 static void __nvoc_thunk_RsResource_profilerDevAddAdditionalDependants(struct RsClient *pClient, struct ProfilerDev *pResource, RsResourceRef *pReference) {
1139     resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pReference);
1140 }
1141 
__nvoc_thunk_RmResource_profilerDevControl_Prologue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1142 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControl_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1143     return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1144 }
1145 
__nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize(struct ProfilerDev * pGpuResource,struct OBJGPU * pGpu,NvU32 * pOffset,NvU32 * pSize)1146 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize(struct ProfilerDev *pGpuResource, struct OBJGPU *pGpu, NvU32 *pOffset, NvU32 *pSize) {
1147     return gpuresGetRegBaseOffsetAndSize((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pGpu, pOffset, pSize);
1148 }
1149 
__nvoc_thunk_GpuResource_profilerDevInternalControlForward(struct ProfilerDev * pGpuResource,NvU32 command,void * pParams,NvU32 size)1150 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevInternalControlForward(struct ProfilerDev *pGpuResource, NvU32 command, void *pParams, NvU32 size) {
1151     return gpuresInternalControlForward((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), command, pParams, size);
1152 }
1153 
__nvoc_thunk_RsResource_profilerDevUnmapFrom(struct ProfilerDev * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)1154 static NV_STATUS __nvoc_thunk_RsResource_profilerDevUnmapFrom(struct ProfilerDev *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
1155     return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pParams);
1156 }
1157 
__nvoc_thunk_RmResource_profilerDevControl_Epilogue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1158 static void __nvoc_thunk_RmResource_profilerDevControl_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1159     rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1160 }
1161 
__nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle(struct ProfilerDev * pGpuResource)1162 static NvHandle __nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle(struct ProfilerDev *pGpuResource) {
1163     return gpuresGetInternalObjectHandle((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset));
1164 }
1165 
__nvoc_thunk_GpuResource_profilerDevControl(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1166 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevControl(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1167     return gpuresControl((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams);
1168 }
1169 
__nvoc_thunk_GpuResource_profilerDevUnmap(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RsCpuMapping * pCpuMapping)1170 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevUnmap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RsCpuMapping *pCpuMapping) {
1171     return gpuresUnmap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pCpuMapping);
1172 }
1173 
__nvoc_thunk_RmResource_profilerDevGetMemInterMapParams(struct ProfilerDev * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)1174 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemInterMapParams(struct ProfilerDev *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
1175     return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pParams);
1176 }
1177 
__nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor(struct ProfilerDev * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)1178 static NV_STATUS __nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor(struct ProfilerDev *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
1179     return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), ppMemDesc);
1180 }
1181 
__nvoc_thunk_RsResource_profilerDevControlFilter(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1182 static NV_STATUS __nvoc_thunk_RsResource_profilerDevControlFilter(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1183     return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), pCallContext, pParams);
1184 }
1185 
__nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1186 static NV_STATUS __nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1187     return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1188 }
1189 
__nvoc_thunk_RsResource_profilerDevCanCopy(struct ProfilerDev * pResource)1190 static NvBool __nvoc_thunk_RsResource_profilerDevCanCopy(struct ProfilerDev *pResource) {
1191     return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1192 }
1193 
__nvoc_thunk_RsResource_profilerDevIsPartialUnmapSupported(struct ProfilerDev * pResource)1194 static NvBool __nvoc_thunk_RsResource_profilerDevIsPartialUnmapSupported(struct ProfilerDev *pResource) {
1195     return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1196 }
1197 
__nvoc_thunk_RsResource_profilerDevPreDestruct(struct ProfilerDev * pResource)1198 static void __nvoc_thunk_RsResource_profilerDevPreDestruct(struct ProfilerDev *pResource) {
1199     resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset));
1200 }
1201 
__nvoc_thunk_RsResource_profilerDevIsDuplicate(struct ProfilerDev * pResource,NvHandle hMemory,NvBool * pDuplicate)1202 static NV_STATUS __nvoc_thunk_RsResource_profilerDevIsDuplicate(struct ProfilerDev *pResource, NvHandle hMemory, NvBool *pDuplicate) {
1203     return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RsResource.offset), hMemory, pDuplicate);
1204 }
1205 
__nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue(struct ProfilerDev * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)1206 static void __nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue(struct ProfilerDev *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
1207     rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pCallContext, pParams);
1208 }
1209 
__nvoc_thunk_GpuResource_profilerDevMap(struct ProfilerDev * pGpuResource,struct CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,struct RsCpuMapping * pCpuMapping)1210 static NV_STATUS __nvoc_thunk_GpuResource_profilerDevMap(struct ProfilerDev *pGpuResource, struct CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, struct RsCpuMapping *pCpuMapping) {
1211     return gpuresMap((struct GpuResource *)(((unsigned char *)pGpuResource) + __nvoc_rtti_ProfilerDev_GpuResource.offset), pCallContext, pParams, pCpuMapping);
1212 }
1213 
__nvoc_thunk_RmResource_profilerDevAccessCallback(struct ProfilerDev * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)1214 static NvBool __nvoc_thunk_RmResource_profilerDevAccessCallback(struct ProfilerDev *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
1215     return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ProfilerDev_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
1216 }
1217 
1218 const struct NVOC_EXPORT_INFO __nvoc_export_info_ProfilerDev =
1219 {
1220     /*numEntries=*/     0,
1221     /*pExportEntries=*/  0
1222 };
1223 
1224 void __nvoc_dtor_ProfilerBase(ProfilerBase*);
__nvoc_dtor_ProfilerDev(ProfilerDev * pThis)1225 void __nvoc_dtor_ProfilerDev(ProfilerDev *pThis) {
1226     __nvoc_profilerDevDestruct(pThis);
1227     __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase);
1228     PORT_UNREFERENCED_VARIABLE(pThis);
1229 }
1230 
__nvoc_init_dataField_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1231 void __nvoc_init_dataField_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1232     RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
1233     const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
1234     PORT_UNREFERENCED_VARIABLE(pThis);
1235     PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
1236     PORT_UNREFERENCED_VARIABLE(rmVariantHal);
1237     PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
1238 }
1239 
1240 NV_STATUS __nvoc_ctor_ProfilerBase(ProfilerBase* , RmHalspecOwner* , CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
__nvoc_ctor_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)1241 NV_STATUS __nvoc_ctor_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
1242     NV_STATUS status = NV_OK;
1243     status = __nvoc_ctor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner, arg_pCallContext, arg_pParams);
1244     if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail_ProfilerBase;
1245     __nvoc_init_dataField_ProfilerDev(pThis, pRmhalspecowner);
1246 
1247     status = __nvoc_profilerDevConstruct(pThis, arg_pCallContext, arg_pParams);
1248     if (status != NV_OK) goto __nvoc_ctor_ProfilerDev_fail__init;
1249     goto __nvoc_ctor_ProfilerDev_exit; // Success
1250 
1251 __nvoc_ctor_ProfilerDev_fail__init:
1252     __nvoc_dtor_ProfilerBase(&pThis->__nvoc_base_ProfilerBase);
1253 __nvoc_ctor_ProfilerDev_fail_ProfilerBase:
1254 __nvoc_ctor_ProfilerDev_exit:
1255 
1256     return status;
1257 }
1258 
__nvoc_init_funcTable_ProfilerDev_1(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1259 static void __nvoc_init_funcTable_ProfilerDev_1(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1260     RmVariantHal *rmVariantHal = &pRmhalspecowner->rmVariantHal;
1261     const unsigned long rmVariantHal_HalVarIdx = (unsigned long)rmVariantHal->__nvoc_HalVarIdx;
1262     PORT_UNREFERENCED_VARIABLE(pThis);
1263     PORT_UNREFERENCED_VARIABLE(pRmhalspecowner);
1264     PORT_UNREFERENCED_VARIABLE(rmVariantHal);
1265     PORT_UNREFERENCED_VARIABLE(rmVariantHal_HalVarIdx);
1266 
1267     // Hal function -- profilerDevConstructState
1268     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1269     {
1270         pThis->__profilerDevConstructState__ = &profilerDevConstructState_VF;
1271     }
1272     else
1273     {
1274         pThis->__profilerDevConstructState__ = &profilerDevConstructState_IMPL;
1275     }
1276 
1277     // Hal function -- profilerDevConstructStatePrologue
1278     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1279     {
1280         pThis->__profilerDevConstructStatePrologue__ = &profilerDevConstructStatePrologue_92bfc3;
1281     }
1282     else
1283     {
1284         pThis->__profilerDevConstructStatePrologue__ = &profilerDevConstructStatePrologue_FWCLIENT;
1285     }
1286 
1287     // Hal function -- profilerDevConstructStateInterlude
1288     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1289     {
1290         pThis->__profilerDevConstructStateInterlude__ = &profilerDevConstructStateInterlude_92bfc3;
1291     }
1292     else
1293     {
1294         pThis->__profilerDevConstructStateInterlude__ = &profilerDevConstructStateInterlude_IMPL;
1295     }
1296 
1297     // Hal function -- profilerDevConstructStateEpilogue
1298     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1299     {
1300         pThis->__profilerDevConstructStateEpilogue__ = &profilerDevConstructStateEpilogue_92bfc3;
1301     }
1302     else
1303     {
1304         pThis->__profilerDevConstructStateEpilogue__ = &profilerDevConstructStateEpilogue_56cd7a;
1305     }
1306 
1307     // Hal function -- profilerDevDestructState
1308     if (( ((rmVariantHal_HalVarIdx >> 5) == 0UL) && ((1UL << (rmVariantHal_HalVarIdx & 0x1f)) & 0x00000001UL) )) /* RmVariantHal: VF */
1309     {
1310         pThis->__profilerDevDestructState__ = &profilerDevDestructState_b3696a;
1311     }
1312     else
1313     {
1314         pThis->__profilerDevDestructState__ = &profilerDevDestructState_FWCLIENT;
1315     }
1316 
1317     pThis->__profilerDevShareCallback__ = &__nvoc_thunk_GpuResource_profilerDevShareCallback;
1318 
1319     pThis->__profilerDevCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_profilerDevCheckMemInterUnmap;
1320 
1321     pThis->__profilerDevMapTo__ = &__nvoc_thunk_RsResource_profilerDevMapTo;
1322 
1323     pThis->__profilerDevGetMapAddrSpace__ = &__nvoc_thunk_GpuResource_profilerDevGetMapAddrSpace;
1324 
1325     pThis->__profilerDevGetRefCount__ = &__nvoc_thunk_RsResource_profilerDevGetRefCount;
1326 
1327     pThis->__profilerDevAddAdditionalDependants__ = &__nvoc_thunk_RsResource_profilerDevAddAdditionalDependants;
1328 
1329     pThis->__profilerDevControl_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControl_Prologue;
1330 
1331     pThis->__profilerDevGetRegBaseOffsetAndSize__ = &__nvoc_thunk_GpuResource_profilerDevGetRegBaseOffsetAndSize;
1332 
1333     pThis->__profilerDevInternalControlForward__ = &__nvoc_thunk_GpuResource_profilerDevInternalControlForward;
1334 
1335     pThis->__profilerDevUnmapFrom__ = &__nvoc_thunk_RsResource_profilerDevUnmapFrom;
1336 
1337     pThis->__profilerDevControl_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControl_Epilogue;
1338 
1339     pThis->__profilerDevGetInternalObjectHandle__ = &__nvoc_thunk_GpuResource_profilerDevGetInternalObjectHandle;
1340 
1341     pThis->__profilerDevControl__ = &__nvoc_thunk_GpuResource_profilerDevControl;
1342 
1343     pThis->__profilerDevUnmap__ = &__nvoc_thunk_GpuResource_profilerDevUnmap;
1344 
1345     pThis->__profilerDevGetMemInterMapParams__ = &__nvoc_thunk_RmResource_profilerDevGetMemInterMapParams;
1346 
1347     pThis->__profilerDevGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_profilerDevGetMemoryMappingDescriptor;
1348 
1349     pThis->__profilerDevControlFilter__ = &__nvoc_thunk_RsResource_profilerDevControlFilter;
1350 
1351     pThis->__profilerDevControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Prologue;
1352 
1353     pThis->__profilerDevCanCopy__ = &__nvoc_thunk_RsResource_profilerDevCanCopy;
1354 
1355     pThis->__profilerDevIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_profilerDevIsPartialUnmapSupported;
1356 
1357     pThis->__profilerDevPreDestruct__ = &__nvoc_thunk_RsResource_profilerDevPreDestruct;
1358 
1359     pThis->__profilerDevIsDuplicate__ = &__nvoc_thunk_RsResource_profilerDevIsDuplicate;
1360 
1361     pThis->__profilerDevControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_profilerDevControlSerialization_Epilogue;
1362 
1363     pThis->__profilerDevMap__ = &__nvoc_thunk_GpuResource_profilerDevMap;
1364 
1365     pThis->__profilerDevAccessCallback__ = &__nvoc_thunk_RmResource_profilerDevAccessCallback;
1366 }
1367 
__nvoc_init_funcTable_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1368 void __nvoc_init_funcTable_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1369     __nvoc_init_funcTable_ProfilerDev_1(pThis, pRmhalspecowner);
1370 }
1371 
1372 void __nvoc_init_ProfilerBase(ProfilerBase*, RmHalspecOwner* );
__nvoc_init_ProfilerDev(ProfilerDev * pThis,RmHalspecOwner * pRmhalspecowner)1373 void __nvoc_init_ProfilerDev(ProfilerDev *pThis, RmHalspecOwner *pRmhalspecowner) {
1374     pThis->__nvoc_pbase_ProfilerDev = pThis;
1375     pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
1376     pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource;
1377     pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
1378     pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource;
1379     pThis->__nvoc_pbase_GpuResource = &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource;
1380     pThis->__nvoc_pbase_ProfilerBase = &pThis->__nvoc_base_ProfilerBase;
1381     __nvoc_init_ProfilerBase(&pThis->__nvoc_base_ProfilerBase, pRmhalspecowner);
1382     __nvoc_init_funcTable_ProfilerDev(pThis, pRmhalspecowner);
1383 }
1384 
__nvoc_objCreate_ProfilerDev(ProfilerDev ** ppThis,Dynamic * pParent,NvU32 createFlags,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)1385 NV_STATUS __nvoc_objCreate_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
1386 {
1387     NV_STATUS status;
1388     Object *pParentObj = NULL;
1389     ProfilerDev *pThis;
1390     RmHalspecOwner *pRmhalspecowner;
1391 
1392     // Assign `pThis`, allocating memory unless suppressed by flag.
1393     status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ProfilerDev), (void**)&pThis, (void**)ppThis);
1394     if (status != NV_OK)
1395         return status;
1396 
1397     // Zero is the initial value for everything.
1398     portMemSet(pThis, 0, sizeof(ProfilerDev));
1399 
1400     // Initialize runtime type information.
1401     __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ProfilerDev);
1402 
1403     pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
1404 
1405     // pParent must be a valid object that derives from a halspec owner class.
1406     NV_ASSERT_OR_RETURN(pParent != NULL, NV_ERR_INVALID_ARGUMENT);
1407 
1408     // Link the child into the parent unless flagged not to do so.
1409     if (!(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
1410     {
1411         pParentObj = dynamicCast(pParent, Object);
1412         objAddChild(pParentObj, &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
1413     }
1414     else
1415     {
1416         pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
1417     }
1418 
1419     if ((pRmhalspecowner = dynamicCast(pParent, RmHalspecOwner)) == NULL)
1420         pRmhalspecowner = objFindAncestorOfType(RmHalspecOwner, pParent);
1421     NV_ASSERT_OR_RETURN(pRmhalspecowner != NULL, NV_ERR_INVALID_ARGUMENT);
1422 
1423     __nvoc_init_ProfilerDev(pThis, pRmhalspecowner);
1424     status = __nvoc_ctor_ProfilerDev(pThis, pRmhalspecowner, arg_pCallContext, arg_pParams);
1425     if (status != NV_OK) goto __nvoc_objCreate_ProfilerDev_cleanup;
1426 
1427     // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
1428     *ppThis = pThis;
1429 
1430     return NV_OK;
1431 
1432 __nvoc_objCreate_ProfilerDev_cleanup:
1433 
1434     // Unlink the child from the parent if it was linked above.
1435     if (pParentObj != NULL)
1436         objRemoveChild(pParentObj, &pThis->__nvoc_base_ProfilerBase.__nvoc_base_GpuResource.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
1437 
1438     // Do not call destructors here since the constructor already called them.
1439     if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
1440         portMemSet(pThis, 0, sizeof(ProfilerDev));
1441     else
1442     {
1443         portMemFree(pThis);
1444         *ppThis = NULL;
1445     }
1446 
1447     // coverity[leaked_storage:FALSE]
1448     return status;
1449 }
1450 
__nvoc_objCreateDynamic_ProfilerDev(ProfilerDev ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)1451 NV_STATUS __nvoc_objCreateDynamic_ProfilerDev(ProfilerDev **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
1452     NV_STATUS status;
1453     CALL_CONTEXT * arg_pCallContext = va_arg(args, CALL_CONTEXT *);
1454     struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
1455 
1456     status = __nvoc_objCreate_ProfilerDev(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
1457 
1458     return status;
1459 }
1460 
1461