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