1 #define NVOC_MEM_FABRIC_IMPORT_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_mem_fabric_import_v2_nvoc.h"
9
10 #ifdef DEBUG
11 char __nvoc_class_id_uniqueness_check_0xf96871 = 1;
12 #endif
13
14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_MemoryFabricImportV2;
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_Memory;
25
26 void __nvoc_init_MemoryFabricImportV2(MemoryFabricImportV2*);
27 void __nvoc_init_funcTable_MemoryFabricImportV2(MemoryFabricImportV2*);
28 NV_STATUS __nvoc_ctor_MemoryFabricImportV2(MemoryFabricImportV2*, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
29 void __nvoc_init_dataField_MemoryFabricImportV2(MemoryFabricImportV2*);
30 void __nvoc_dtor_MemoryFabricImportV2(MemoryFabricImportV2*);
31 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_MemoryFabricImportV2;
32
33 static const struct NVOC_RTTI __nvoc_rtti_MemoryFabricImportV2_MemoryFabricImportV2 = {
34 /*pClassDef=*/ &__nvoc_class_def_MemoryFabricImportV2,
35 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_MemoryFabricImportV2,
36 /*offset=*/ 0,
37 };
38
39 static const struct NVOC_RTTI __nvoc_rtti_MemoryFabricImportV2_Object = {
40 /*pClassDef=*/ &__nvoc_class_def_Object,
41 /*dtor=*/ &__nvoc_destructFromBase,
42 /*offset=*/ NV_OFFSETOF(MemoryFabricImportV2, __nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
43 };
44
45 static const struct NVOC_RTTI __nvoc_rtti_MemoryFabricImportV2_RsResource = {
46 /*pClassDef=*/ &__nvoc_class_def_RsResource,
47 /*dtor=*/ &__nvoc_destructFromBase,
48 /*offset=*/ NV_OFFSETOF(MemoryFabricImportV2, __nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource),
49 };
50
51 static const struct NVOC_RTTI __nvoc_rtti_MemoryFabricImportV2_RmResourceCommon = {
52 /*pClassDef=*/ &__nvoc_class_def_RmResourceCommon,
53 /*dtor=*/ &__nvoc_destructFromBase,
54 /*offset=*/ NV_OFFSETOF(MemoryFabricImportV2, __nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
55 };
56
57 static const struct NVOC_RTTI __nvoc_rtti_MemoryFabricImportV2_RmResource = {
58 /*pClassDef=*/ &__nvoc_class_def_RmResource,
59 /*dtor=*/ &__nvoc_destructFromBase,
60 /*offset=*/ NV_OFFSETOF(MemoryFabricImportV2, __nvoc_base_Memory.__nvoc_base_RmResource),
61 };
62
63 static const struct NVOC_RTTI __nvoc_rtti_MemoryFabricImportV2_Memory = {
64 /*pClassDef=*/ &__nvoc_class_def_Memory,
65 /*dtor=*/ &__nvoc_destructFromBase,
66 /*offset=*/ NV_OFFSETOF(MemoryFabricImportV2, __nvoc_base_Memory),
67 };
68
69 static const struct NVOC_CASTINFO __nvoc_castinfo_MemoryFabricImportV2 = {
70 /*numRelatives=*/ 6,
71 /*relatives=*/ {
72 &__nvoc_rtti_MemoryFabricImportV2_MemoryFabricImportV2,
73 &__nvoc_rtti_MemoryFabricImportV2_Memory,
74 &__nvoc_rtti_MemoryFabricImportV2_RmResource,
75 &__nvoc_rtti_MemoryFabricImportV2_RmResourceCommon,
76 &__nvoc_rtti_MemoryFabricImportV2_RsResource,
77 &__nvoc_rtti_MemoryFabricImportV2_Object,
78 },
79 };
80
81 const struct NVOC_CLASS_DEF __nvoc_class_def_MemoryFabricImportV2 =
82 {
83 /*classInfo=*/ {
84 /*size=*/ sizeof(MemoryFabricImportV2),
85 /*classId=*/ classId(MemoryFabricImportV2),
86 /*providerId=*/ &__nvoc_rtti_provider,
87 #if NV_PRINTF_STRINGS_ALLOWED
88 /*name=*/ "MemoryFabricImportV2",
89 #endif
90 },
91 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_MemoryFabricImportV2,
92 /*pCastInfo=*/ &__nvoc_castinfo_MemoryFabricImportV2,
93 /*pExportInfo=*/ &__nvoc_export_info_MemoryFabricImportV2
94 };
95
__nvoc_thunk_MemoryFabricImportV2_resCanCopy(struct RsResource * pMemoryFabricImportV2)96 static NvBool __nvoc_thunk_MemoryFabricImportV2_resCanCopy(struct RsResource *pMemoryFabricImportV2) {
97 return memoryfabricimportv2CanCopy((struct MemoryFabricImportV2 *)(((unsigned char *)pMemoryFabricImportV2) - __nvoc_rtti_MemoryFabricImportV2_RsResource.offset));
98 }
99
__nvoc_thunk_MemoryFabricImportV2_memIsReady(struct Memory * pMemoryFabricImportV2,NvBool bCopyConstructorContext)100 static NV_STATUS __nvoc_thunk_MemoryFabricImportV2_memIsReady(struct Memory *pMemoryFabricImportV2, NvBool bCopyConstructorContext) {
101 return memoryfabricimportv2IsReady((struct MemoryFabricImportV2 *)(((unsigned char *)pMemoryFabricImportV2) - __nvoc_rtti_MemoryFabricImportV2_Memory.offset), bCopyConstructorContext);
102 }
103
__nvoc_thunk_MemoryFabricImportV2_memControl(struct Memory * pMemoryFabricImportV2,CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)104 static NV_STATUS __nvoc_thunk_MemoryFabricImportV2_memControl(struct Memory *pMemoryFabricImportV2, CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
105 return memoryfabricimportv2Control((struct MemoryFabricImportV2 *)(((unsigned char *)pMemoryFabricImportV2) - __nvoc_rtti_MemoryFabricImportV2_Memory.offset), pCallContext, pParams);
106 }
107
__nvoc_thunk_MemoryFabricImportV2_memGetMapAddrSpace(struct Memory * pMemoryFabricImportV2,CALL_CONTEXT * pCallContext,NvU32 mapFlags,NV_ADDRESS_SPACE * pAddrSpace)108 static NV_STATUS __nvoc_thunk_MemoryFabricImportV2_memGetMapAddrSpace(struct Memory *pMemoryFabricImportV2, CALL_CONTEXT *pCallContext, NvU32 mapFlags, NV_ADDRESS_SPACE *pAddrSpace) {
109 return memoryfabricimportv2GetMapAddrSpace((struct MemoryFabricImportV2 *)(((unsigned char *)pMemoryFabricImportV2) - __nvoc_rtti_MemoryFabricImportV2_Memory.offset), pCallContext, mapFlags, pAddrSpace);
110 }
111
__nvoc_thunk_MemoryFabricImportV2_memIsGpuMapAllowed(struct Memory * pMemoryFabricImportV2,struct OBJGPU * pGpu)112 static NvBool __nvoc_thunk_MemoryFabricImportV2_memIsGpuMapAllowed(struct Memory *pMemoryFabricImportV2, struct OBJGPU *pGpu) {
113 return memoryfabricimportv2IsGpuMapAllowed((struct MemoryFabricImportV2 *)(((unsigned char *)pMemoryFabricImportV2) - __nvoc_rtti_MemoryFabricImportV2_Memory.offset), pGpu);
114 }
115
__nvoc_thunk_MemoryFabricImportV2_memIsExportAllowed(struct Memory * pMemoryFabricImportV2)116 static NvBool __nvoc_thunk_MemoryFabricImportV2_memIsExportAllowed(struct Memory *pMemoryFabricImportV2) {
117 return memoryfabricimportv2IsExportAllowed((struct MemoryFabricImportV2 *)(((unsigned char *)pMemoryFabricImportV2) - __nvoc_rtti_MemoryFabricImportV2_Memory.offset));
118 }
119
__nvoc_thunk_Memory_memoryfabricimportv2CheckMemInterUnmap(struct MemoryFabricImportV2 * pMemory,NvBool bSubdeviceHandleProvided)120 static NV_STATUS __nvoc_thunk_Memory_memoryfabricimportv2CheckMemInterUnmap(struct MemoryFabricImportV2 *pMemory, NvBool bSubdeviceHandleProvided) {
121 return memCheckMemInterUnmap((struct Memory *)(((unsigned char *)pMemory) + __nvoc_rtti_MemoryFabricImportV2_Memory.offset), bSubdeviceHandleProvided);
122 }
123
__nvoc_thunk_RmResource_memoryfabricimportv2ShareCallback(struct MemoryFabricImportV2 * pResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)124 static NvBool __nvoc_thunk_RmResource_memoryfabricimportv2ShareCallback(struct MemoryFabricImportV2 *pResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
125 return rmresShareCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RmResource.offset), pInvokingClient, pParentRef, pSharePolicy);
126 }
127
__nvoc_thunk_RsResource_memoryfabricimportv2MapTo(struct MemoryFabricImportV2 * pResource,RS_RES_MAP_TO_PARAMS * pParams)128 static NV_STATUS __nvoc_thunk_RsResource_memoryfabricimportv2MapTo(struct MemoryFabricImportV2 *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
129 return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RsResource.offset), pParams);
130 }
131
__nvoc_thunk_RsResource_memoryfabricimportv2GetRefCount(struct MemoryFabricImportV2 * pResource)132 static NvU32 __nvoc_thunk_RsResource_memoryfabricimportv2GetRefCount(struct MemoryFabricImportV2 *pResource) {
133 return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RsResource.offset));
134 }
135
__nvoc_thunk_RsResource_memoryfabricimportv2AddAdditionalDependants(struct RsClient * pClient,struct MemoryFabricImportV2 * pResource,RsResourceRef * pReference)136 static void __nvoc_thunk_RsResource_memoryfabricimportv2AddAdditionalDependants(struct RsClient *pClient, struct MemoryFabricImportV2 *pResource, RsResourceRef *pReference) {
137 resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RsResource.offset), pReference);
138 }
139
__nvoc_thunk_RmResource_memoryfabricimportv2Control_Prologue(struct MemoryFabricImportV2 * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)140 static NV_STATUS __nvoc_thunk_RmResource_memoryfabricimportv2Control_Prologue(struct MemoryFabricImportV2 *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
141 return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RmResource.offset), pCallContext, pParams);
142 }
143
__nvoc_thunk_RsResource_memoryfabricimportv2UnmapFrom(struct MemoryFabricImportV2 * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)144 static NV_STATUS __nvoc_thunk_RsResource_memoryfabricimportv2UnmapFrom(struct MemoryFabricImportV2 *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
145 return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RsResource.offset), pParams);
146 }
147
__nvoc_thunk_RmResource_memoryfabricimportv2Control_Epilogue(struct MemoryFabricImportV2 * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)148 static void __nvoc_thunk_RmResource_memoryfabricimportv2Control_Epilogue(struct MemoryFabricImportV2 *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
149 rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RmResource.offset), pCallContext, pParams);
150 }
151
__nvoc_thunk_Memory_memoryfabricimportv2Unmap(struct MemoryFabricImportV2 * pMemory,CALL_CONTEXT * pCallContext,RsCpuMapping * pCpuMapping)152 static NV_STATUS __nvoc_thunk_Memory_memoryfabricimportv2Unmap(struct MemoryFabricImportV2 *pMemory, CALL_CONTEXT *pCallContext, RsCpuMapping *pCpuMapping) {
153 return memUnmap((struct Memory *)(((unsigned char *)pMemory) + __nvoc_rtti_MemoryFabricImportV2_Memory.offset), pCallContext, pCpuMapping);
154 }
155
__nvoc_thunk_Memory_memoryfabricimportv2GetMemInterMapParams(struct MemoryFabricImportV2 * pMemory,RMRES_MEM_INTER_MAP_PARAMS * pParams)156 static NV_STATUS __nvoc_thunk_Memory_memoryfabricimportv2GetMemInterMapParams(struct MemoryFabricImportV2 *pMemory, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
157 return memGetMemInterMapParams((struct Memory *)(((unsigned char *)pMemory) + __nvoc_rtti_MemoryFabricImportV2_Memory.offset), pParams);
158 }
159
__nvoc_thunk_Memory_memoryfabricimportv2GetMemoryMappingDescriptor(struct MemoryFabricImportV2 * pMemory,MEMORY_DESCRIPTOR ** ppMemDesc)160 static NV_STATUS __nvoc_thunk_Memory_memoryfabricimportv2GetMemoryMappingDescriptor(struct MemoryFabricImportV2 *pMemory, MEMORY_DESCRIPTOR **ppMemDesc) {
161 return memGetMemoryMappingDescriptor((struct Memory *)(((unsigned char *)pMemory) + __nvoc_rtti_MemoryFabricImportV2_Memory.offset), ppMemDesc);
162 }
163
__nvoc_thunk_RsResource_memoryfabricimportv2ControlFilter(struct MemoryFabricImportV2 * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)164 static NV_STATUS __nvoc_thunk_RsResource_memoryfabricimportv2ControlFilter(struct MemoryFabricImportV2 *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
165 return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RsResource.offset), pCallContext, pParams);
166 }
167
__nvoc_thunk_RmResource_memoryfabricimportv2ControlSerialization_Prologue(struct MemoryFabricImportV2 * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)168 static NV_STATUS __nvoc_thunk_RmResource_memoryfabricimportv2ControlSerialization_Prologue(struct MemoryFabricImportV2 *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
169 return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RmResource.offset), pCallContext, pParams);
170 }
171
__nvoc_thunk_RsResource_memoryfabricimportv2IsPartialUnmapSupported(struct MemoryFabricImportV2 * pResource)172 static NvBool __nvoc_thunk_RsResource_memoryfabricimportv2IsPartialUnmapSupported(struct MemoryFabricImportV2 *pResource) {
173 return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RsResource.offset));
174 }
175
__nvoc_thunk_Memory_memoryfabricimportv2CheckCopyPermissions(struct MemoryFabricImportV2 * pMemory,struct OBJGPU * pDstGpu,struct Device * pDstDevice)176 static NV_STATUS __nvoc_thunk_Memory_memoryfabricimportv2CheckCopyPermissions(struct MemoryFabricImportV2 *pMemory, struct OBJGPU *pDstGpu, struct Device *pDstDevice) {
177 return memCheckCopyPermissions((struct Memory *)(((unsigned char *)pMemory) + __nvoc_rtti_MemoryFabricImportV2_Memory.offset), pDstGpu, pDstDevice);
178 }
179
__nvoc_thunk_RsResource_memoryfabricimportv2PreDestruct(struct MemoryFabricImportV2 * pResource)180 static void __nvoc_thunk_RsResource_memoryfabricimportv2PreDestruct(struct MemoryFabricImportV2 *pResource) {
181 resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RsResource.offset));
182 }
183
__nvoc_thunk_Memory_memoryfabricimportv2IsDuplicate(struct MemoryFabricImportV2 * pMemory,NvHandle hMemory,NvBool * pDuplicate)184 static NV_STATUS __nvoc_thunk_Memory_memoryfabricimportv2IsDuplicate(struct MemoryFabricImportV2 *pMemory, NvHandle hMemory, NvBool *pDuplicate) {
185 return memIsDuplicate((struct Memory *)(((unsigned char *)pMemory) + __nvoc_rtti_MemoryFabricImportV2_Memory.offset), hMemory, pDuplicate);
186 }
187
__nvoc_thunk_RmResource_memoryfabricimportv2ControlSerialization_Epilogue(struct MemoryFabricImportV2 * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)188 static void __nvoc_thunk_RmResource_memoryfabricimportv2ControlSerialization_Epilogue(struct MemoryFabricImportV2 *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
189 rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RmResource.offset), pCallContext, pParams);
190 }
191
__nvoc_thunk_Memory_memoryfabricimportv2Map(struct MemoryFabricImportV2 * pMemory,CALL_CONTEXT * pCallContext,struct RS_CPU_MAP_PARAMS * pParams,RsCpuMapping * pCpuMapping)192 static NV_STATUS __nvoc_thunk_Memory_memoryfabricimportv2Map(struct MemoryFabricImportV2 *pMemory, CALL_CONTEXT *pCallContext, struct RS_CPU_MAP_PARAMS *pParams, RsCpuMapping *pCpuMapping) {
193 return memMap((struct Memory *)(((unsigned char *)pMemory) + __nvoc_rtti_MemoryFabricImportV2_Memory.offset), pCallContext, pParams, pCpuMapping);
194 }
195
__nvoc_thunk_RmResource_memoryfabricimportv2AccessCallback(struct MemoryFabricImportV2 * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)196 static NvBool __nvoc_thunk_RmResource_memoryfabricimportv2AccessCallback(struct MemoryFabricImportV2 *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
197 return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_MemoryFabricImportV2_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
198 }
199
200 #if !defined(NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG)
201 #define NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(x) (0)
202 #endif
203
204 static const struct NVOC_EXPORTED_METHOD_DEF __nvoc_exported_method_def_MemoryFabricImportV2[] =
205 {
206 { /* [0] */
207 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
208 /*pFunc=*/ (void (*)(void)) NULL,
209 #else
210 /*pFunc=*/ (void (*)(void)) memoryfabricimportv2CtrlGetInfo_IMPL,
211 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
212 /*flags=*/ 0x813u,
213 /*accessRight=*/0x0u,
214 /*methodId=*/ 0xf90101u,
215 /*paramSize=*/ sizeof(NV00F9_CTRL_GET_INFO_PARAMS),
216 /*pClassInfo=*/ &(__nvoc_class_def_MemoryFabricImportV2.classInfo),
217 #if NV_PRINTF_STRINGS_ALLOWED
218 /*func=*/ "memoryfabricimportv2CtrlGetInfo"
219 #endif
220 },
221
222 };
223
224 const struct NVOC_EXPORT_INFO __nvoc_export_info_MemoryFabricImportV2 =
225 {
226 /*numEntries=*/ 1,
227 /*pExportEntries=*/ __nvoc_exported_method_def_MemoryFabricImportV2
228 };
229
230 void __nvoc_dtor_Memory(Memory*);
__nvoc_dtor_MemoryFabricImportV2(MemoryFabricImportV2 * pThis)231 void __nvoc_dtor_MemoryFabricImportV2(MemoryFabricImportV2 *pThis) {
232 __nvoc_memoryfabricimportv2Destruct(pThis);
233 __nvoc_dtor_Memory(&pThis->__nvoc_base_Memory);
234 PORT_UNREFERENCED_VARIABLE(pThis);
235 }
236
__nvoc_init_dataField_MemoryFabricImportV2(MemoryFabricImportV2 * pThis)237 void __nvoc_init_dataField_MemoryFabricImportV2(MemoryFabricImportV2 *pThis) {
238 PORT_UNREFERENCED_VARIABLE(pThis);
239 }
240
241 NV_STATUS __nvoc_ctor_Memory(Memory* , CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
__nvoc_ctor_MemoryFabricImportV2(MemoryFabricImportV2 * pThis,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)242 NV_STATUS __nvoc_ctor_MemoryFabricImportV2(MemoryFabricImportV2 *pThis, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
243 NV_STATUS status = NV_OK;
244 status = __nvoc_ctor_Memory(&pThis->__nvoc_base_Memory, arg_pCallContext, arg_pParams);
245 if (status != NV_OK) goto __nvoc_ctor_MemoryFabricImportV2_fail_Memory;
246 __nvoc_init_dataField_MemoryFabricImportV2(pThis);
247
248 status = __nvoc_memoryfabricimportv2Construct(pThis, arg_pCallContext, arg_pParams);
249 if (status != NV_OK) goto __nvoc_ctor_MemoryFabricImportV2_fail__init;
250 goto __nvoc_ctor_MemoryFabricImportV2_exit; // Success
251
252 __nvoc_ctor_MemoryFabricImportV2_fail__init:
253 __nvoc_dtor_Memory(&pThis->__nvoc_base_Memory);
254 __nvoc_ctor_MemoryFabricImportV2_fail_Memory:
255 __nvoc_ctor_MemoryFabricImportV2_exit:
256
257 return status;
258 }
259
__nvoc_init_funcTable_MemoryFabricImportV2_1(MemoryFabricImportV2 * pThis)260 static void __nvoc_init_funcTable_MemoryFabricImportV2_1(MemoryFabricImportV2 *pThis) {
261 PORT_UNREFERENCED_VARIABLE(pThis);
262
263 pThis->__memoryfabricimportv2CanCopy__ = &memoryfabricimportv2CanCopy_IMPL;
264
265 pThis->__memoryfabricimportv2IsReady__ = &memoryfabricimportv2IsReady_IMPL;
266
267 pThis->__memoryfabricimportv2CopyConstruct__ = &memoryfabricimportv2CopyConstruct_IMPL;
268
269 pThis->__memoryfabricimportv2Control__ = &memoryfabricimportv2Control_IMPL;
270
271 pThis->__memoryfabricimportv2GetMapAddrSpace__ = &memoryfabricimportv2GetMapAddrSpace_IMPL;
272
273 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x813u)
274 pThis->__memoryfabricimportv2CtrlGetInfo__ = &memoryfabricimportv2CtrlGetInfo_IMPL;
275 #endif
276
277 pThis->__memoryfabricimportv2IsGpuMapAllowed__ = &memoryfabricimportv2IsGpuMapAllowed_IMPL;
278
279 pThis->__memoryfabricimportv2IsExportAllowed__ = &memoryfabricimportv2IsExportAllowed_IMPL;
280
281 pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource.__resCanCopy__ = &__nvoc_thunk_MemoryFabricImportV2_resCanCopy;
282
283 pThis->__nvoc_base_Memory.__memIsReady__ = &__nvoc_thunk_MemoryFabricImportV2_memIsReady;
284
285 pThis->__nvoc_base_Memory.__memControl__ = &__nvoc_thunk_MemoryFabricImportV2_memControl;
286
287 pThis->__nvoc_base_Memory.__memGetMapAddrSpace__ = &__nvoc_thunk_MemoryFabricImportV2_memGetMapAddrSpace;
288
289 pThis->__nvoc_base_Memory.__memIsGpuMapAllowed__ = &__nvoc_thunk_MemoryFabricImportV2_memIsGpuMapAllowed;
290
291 pThis->__nvoc_base_Memory.__memIsExportAllowed__ = &__nvoc_thunk_MemoryFabricImportV2_memIsExportAllowed;
292
293 pThis->__memoryfabricimportv2CheckMemInterUnmap__ = &__nvoc_thunk_Memory_memoryfabricimportv2CheckMemInterUnmap;
294
295 pThis->__memoryfabricimportv2ShareCallback__ = &__nvoc_thunk_RmResource_memoryfabricimportv2ShareCallback;
296
297 pThis->__memoryfabricimportv2MapTo__ = &__nvoc_thunk_RsResource_memoryfabricimportv2MapTo;
298
299 pThis->__memoryfabricimportv2GetRefCount__ = &__nvoc_thunk_RsResource_memoryfabricimportv2GetRefCount;
300
301 pThis->__memoryfabricimportv2AddAdditionalDependants__ = &__nvoc_thunk_RsResource_memoryfabricimportv2AddAdditionalDependants;
302
303 pThis->__memoryfabricimportv2Control_Prologue__ = &__nvoc_thunk_RmResource_memoryfabricimportv2Control_Prologue;
304
305 pThis->__memoryfabricimportv2UnmapFrom__ = &__nvoc_thunk_RsResource_memoryfabricimportv2UnmapFrom;
306
307 pThis->__memoryfabricimportv2Control_Epilogue__ = &__nvoc_thunk_RmResource_memoryfabricimportv2Control_Epilogue;
308
309 pThis->__memoryfabricimportv2Unmap__ = &__nvoc_thunk_Memory_memoryfabricimportv2Unmap;
310
311 pThis->__memoryfabricimportv2GetMemInterMapParams__ = &__nvoc_thunk_Memory_memoryfabricimportv2GetMemInterMapParams;
312
313 pThis->__memoryfabricimportv2GetMemoryMappingDescriptor__ = &__nvoc_thunk_Memory_memoryfabricimportv2GetMemoryMappingDescriptor;
314
315 pThis->__memoryfabricimportv2ControlFilter__ = &__nvoc_thunk_RsResource_memoryfabricimportv2ControlFilter;
316
317 pThis->__memoryfabricimportv2ControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_memoryfabricimportv2ControlSerialization_Prologue;
318
319 pThis->__memoryfabricimportv2IsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_memoryfabricimportv2IsPartialUnmapSupported;
320
321 pThis->__memoryfabricimportv2CheckCopyPermissions__ = &__nvoc_thunk_Memory_memoryfabricimportv2CheckCopyPermissions;
322
323 pThis->__memoryfabricimportv2PreDestruct__ = &__nvoc_thunk_RsResource_memoryfabricimportv2PreDestruct;
324
325 pThis->__memoryfabricimportv2IsDuplicate__ = &__nvoc_thunk_Memory_memoryfabricimportv2IsDuplicate;
326
327 pThis->__memoryfabricimportv2ControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_memoryfabricimportv2ControlSerialization_Epilogue;
328
329 pThis->__memoryfabricimportv2Map__ = &__nvoc_thunk_Memory_memoryfabricimportv2Map;
330
331 pThis->__memoryfabricimportv2AccessCallback__ = &__nvoc_thunk_RmResource_memoryfabricimportv2AccessCallback;
332 }
333
__nvoc_init_funcTable_MemoryFabricImportV2(MemoryFabricImportV2 * pThis)334 void __nvoc_init_funcTable_MemoryFabricImportV2(MemoryFabricImportV2 *pThis) {
335 __nvoc_init_funcTable_MemoryFabricImportV2_1(pThis);
336 }
337
338 void __nvoc_init_Memory(Memory*);
__nvoc_init_MemoryFabricImportV2(MemoryFabricImportV2 * pThis)339 void __nvoc_init_MemoryFabricImportV2(MemoryFabricImportV2 *pThis) {
340 pThis->__nvoc_pbase_MemoryFabricImportV2 = pThis;
341 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
342 pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource;
343 pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
344 pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_Memory.__nvoc_base_RmResource;
345 pThis->__nvoc_pbase_Memory = &pThis->__nvoc_base_Memory;
346 __nvoc_init_Memory(&pThis->__nvoc_base_Memory);
347 __nvoc_init_funcTable_MemoryFabricImportV2(pThis);
348 }
349
__nvoc_objCreate_MemoryFabricImportV2(MemoryFabricImportV2 ** ppThis,Dynamic * pParent,NvU32 createFlags,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)350 NV_STATUS __nvoc_objCreate_MemoryFabricImportV2(MemoryFabricImportV2 **ppThis, Dynamic *pParent, NvU32 createFlags, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
351 {
352 NV_STATUS status;
353 Object *pParentObj = NULL;
354 MemoryFabricImportV2 *pThis;
355
356 // Assign `pThis`, allocating memory unless suppressed by flag.
357 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(MemoryFabricImportV2), (void**)&pThis, (void**)ppThis);
358 if (status != NV_OK)
359 return status;
360
361 // Zero is the initial value for everything.
362 portMemSet(pThis, 0, sizeof(MemoryFabricImportV2));
363
364 // Initialize runtime type information.
365 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_MemoryFabricImportV2);
366
367 pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
368
369 // Link the child into the parent if there is one unless flagged not to do so.
370 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
371 {
372 pParentObj = dynamicCast(pParent, Object);
373 objAddChild(pParentObj, &pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
374 }
375 else
376 {
377 pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
378 }
379
380 __nvoc_init_MemoryFabricImportV2(pThis);
381 status = __nvoc_ctor_MemoryFabricImportV2(pThis, arg_pCallContext, arg_pParams);
382 if (status != NV_OK) goto __nvoc_objCreate_MemoryFabricImportV2_cleanup;
383
384 // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
385 *ppThis = pThis;
386
387 return NV_OK;
388
389 __nvoc_objCreate_MemoryFabricImportV2_cleanup:
390
391 // Unlink the child from the parent if it was linked above.
392 if (pParentObj != NULL)
393 objRemoveChild(pParentObj, &pThis->__nvoc_base_Memory.__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
394
395 // Do not call destructors here since the constructor already called them.
396 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
397 portMemSet(pThis, 0, sizeof(MemoryFabricImportV2));
398 else
399 {
400 portMemFree(pThis);
401 *ppThis = NULL;
402 }
403
404 // coverity[leaked_storage:FALSE]
405 return status;
406 }
407
__nvoc_objCreateDynamic_MemoryFabricImportV2(MemoryFabricImportV2 ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)408 NV_STATUS __nvoc_objCreateDynamic_MemoryFabricImportV2(MemoryFabricImportV2 **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
409 NV_STATUS status;
410 CALL_CONTEXT * arg_pCallContext = va_arg(args, CALL_CONTEXT *);
411 struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
412
413 status = __nvoc_objCreate_MemoryFabricImportV2(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
414
415 return status;
416 }
417
418