1 #define NVOC_CONF_COMPUTE_API_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_conf_compute_api_nvoc.h"
9 
10 #ifdef DEBUG
11 char __nvoc_class_id_uniqueness_check_0xea5cb0 = 1;
12 #endif
13 
14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_ConfidentialComputeApi;
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 void __nvoc_init_ConfidentialComputeApi(ConfidentialComputeApi*);
25 void __nvoc_init_funcTable_ConfidentialComputeApi(ConfidentialComputeApi*);
26 NV_STATUS __nvoc_ctor_ConfidentialComputeApi(ConfidentialComputeApi*, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams);
27 void __nvoc_init_dataField_ConfidentialComputeApi(ConfidentialComputeApi*);
28 void __nvoc_dtor_ConfidentialComputeApi(ConfidentialComputeApi*);
29 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_ConfidentialComputeApi;
30 
31 static const struct NVOC_RTTI __nvoc_rtti_ConfidentialComputeApi_ConfidentialComputeApi = {
32     /*pClassDef=*/          &__nvoc_class_def_ConfidentialComputeApi,
33     /*dtor=*/               (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_ConfidentialComputeApi,
34     /*offset=*/             0,
35 };
36 
37 static const struct NVOC_RTTI __nvoc_rtti_ConfidentialComputeApi_Object = {
38     /*pClassDef=*/          &__nvoc_class_def_Object,
39     /*dtor=*/               &__nvoc_destructFromBase,
40     /*offset=*/             NV_OFFSETOF(ConfidentialComputeApi, __nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object),
41 };
42 
43 static const struct NVOC_RTTI __nvoc_rtti_ConfidentialComputeApi_RsResource = {
44     /*pClassDef=*/          &__nvoc_class_def_RsResource,
45     /*dtor=*/               &__nvoc_destructFromBase,
46     /*offset=*/             NV_OFFSETOF(ConfidentialComputeApi, __nvoc_base_RmResource.__nvoc_base_RsResource),
47 };
48 
49 static const struct NVOC_RTTI __nvoc_rtti_ConfidentialComputeApi_RmResourceCommon = {
50     /*pClassDef=*/          &__nvoc_class_def_RmResourceCommon,
51     /*dtor=*/               &__nvoc_destructFromBase,
52     /*offset=*/             NV_OFFSETOF(ConfidentialComputeApi, __nvoc_base_RmResource.__nvoc_base_RmResourceCommon),
53 };
54 
55 static const struct NVOC_RTTI __nvoc_rtti_ConfidentialComputeApi_RmResource = {
56     /*pClassDef=*/          &__nvoc_class_def_RmResource,
57     /*dtor=*/               &__nvoc_destructFromBase,
58     /*offset=*/             NV_OFFSETOF(ConfidentialComputeApi, __nvoc_base_RmResource),
59 };
60 
61 static const struct NVOC_CASTINFO __nvoc_castinfo_ConfidentialComputeApi = {
62     /*numRelatives=*/       5,
63     /*relatives=*/ {
64         &__nvoc_rtti_ConfidentialComputeApi_ConfidentialComputeApi,
65         &__nvoc_rtti_ConfidentialComputeApi_RmResource,
66         &__nvoc_rtti_ConfidentialComputeApi_RmResourceCommon,
67         &__nvoc_rtti_ConfidentialComputeApi_RsResource,
68         &__nvoc_rtti_ConfidentialComputeApi_Object,
69     },
70 };
71 
72 const struct NVOC_CLASS_DEF __nvoc_class_def_ConfidentialComputeApi =
73 {
74     /*classInfo=*/ {
75         /*size=*/               sizeof(ConfidentialComputeApi),
76         /*classId=*/            classId(ConfidentialComputeApi),
77         /*providerId=*/         &__nvoc_rtti_provider,
78 #if NV_PRINTF_STRINGS_ALLOWED
79         /*name=*/               "ConfidentialComputeApi",
80 #endif
81     },
82     /*objCreatefn=*/        (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_ConfidentialComputeApi,
83     /*pCastInfo=*/          &__nvoc_castinfo_ConfidentialComputeApi,
84     /*pExportInfo=*/        &__nvoc_export_info_ConfidentialComputeApi
85 };
86 
__nvoc_thunk_RmResource_confComputeApiShareCallback(struct ConfidentialComputeApi * pResource,struct RsClient * pInvokingClient,struct RsResourceRef * pParentRef,RS_SHARE_POLICY * pSharePolicy)87 static NvBool __nvoc_thunk_RmResource_confComputeApiShareCallback(struct ConfidentialComputeApi *pResource, struct RsClient *pInvokingClient, struct RsResourceRef *pParentRef, RS_SHARE_POLICY *pSharePolicy) {
88     return rmresShareCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), pInvokingClient, pParentRef, pSharePolicy);
89 }
90 
__nvoc_thunk_RmResource_confComputeApiCheckMemInterUnmap(struct ConfidentialComputeApi * pRmResource,NvBool bSubdeviceHandleProvided)91 static NV_STATUS __nvoc_thunk_RmResource_confComputeApiCheckMemInterUnmap(struct ConfidentialComputeApi *pRmResource, NvBool bSubdeviceHandleProvided) {
92     return rmresCheckMemInterUnmap((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), bSubdeviceHandleProvided);
93 }
94 
__nvoc_thunk_RsResource_confComputeApiControl(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)95 static NV_STATUS __nvoc_thunk_RsResource_confComputeApiControl(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
96     return resControl((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), pCallContext, pParams);
97 }
98 
__nvoc_thunk_RmResource_confComputeApiGetMemInterMapParams(struct ConfidentialComputeApi * pRmResource,RMRES_MEM_INTER_MAP_PARAMS * pParams)99 static NV_STATUS __nvoc_thunk_RmResource_confComputeApiGetMemInterMapParams(struct ConfidentialComputeApi *pRmResource, RMRES_MEM_INTER_MAP_PARAMS *pParams) {
100     return rmresGetMemInterMapParams((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), pParams);
101 }
102 
__nvoc_thunk_RmResource_confComputeApiGetMemoryMappingDescriptor(struct ConfidentialComputeApi * pRmResource,struct MEMORY_DESCRIPTOR ** ppMemDesc)103 static NV_STATUS __nvoc_thunk_RmResource_confComputeApiGetMemoryMappingDescriptor(struct ConfidentialComputeApi *pRmResource, struct MEMORY_DESCRIPTOR **ppMemDesc) {
104     return rmresGetMemoryMappingDescriptor((struct RmResource *)(((unsigned char *)pRmResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), ppMemDesc);
105 }
106 
__nvoc_thunk_RsResource_confComputeApiGetRefCount(struct ConfidentialComputeApi * pResource)107 static NvU32 __nvoc_thunk_RsResource_confComputeApiGetRefCount(struct ConfidentialComputeApi *pResource) {
108     return resGetRefCount((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset));
109 }
110 
__nvoc_thunk_RsResource_confComputeApiControlFilter(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)111 static NV_STATUS __nvoc_thunk_RsResource_confComputeApiControlFilter(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
112     return resControlFilter((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), pCallContext, pParams);
113 }
114 
__nvoc_thunk_RsResource_confComputeApiAddAdditionalDependants(struct RsClient * pClient,struct ConfidentialComputeApi * pResource,RsResourceRef * pReference)115 static void __nvoc_thunk_RsResource_confComputeApiAddAdditionalDependants(struct RsClient *pClient, struct ConfidentialComputeApi *pResource, RsResourceRef *pReference) {
116     resAddAdditionalDependants(pClient, (struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), pReference);
117 }
118 
__nvoc_thunk_RmResource_confComputeApiControlSerialization_Prologue(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)119 static NV_STATUS __nvoc_thunk_RmResource_confComputeApiControlSerialization_Prologue(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
120     return rmresControlSerialization_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), pCallContext, pParams);
121 }
122 
__nvoc_thunk_RmResource_confComputeApiControl_Prologue(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)123 static NV_STATUS __nvoc_thunk_RmResource_confComputeApiControl_Prologue(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
124     return rmresControl_Prologue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), pCallContext, pParams);
125 }
126 
__nvoc_thunk_RsResource_confComputeApiCanCopy(struct ConfidentialComputeApi * pResource)127 static NvBool __nvoc_thunk_RsResource_confComputeApiCanCopy(struct ConfidentialComputeApi *pResource) {
128     return resCanCopy((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset));
129 }
130 
__nvoc_thunk_RsResource_confComputeApiUnmap(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,RsCpuMapping * pCpuMapping)131 static NV_STATUS __nvoc_thunk_RsResource_confComputeApiUnmap(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, RsCpuMapping *pCpuMapping) {
132     return resUnmap((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), pCallContext, pCpuMapping);
133 }
134 
__nvoc_thunk_RsResource_confComputeApiIsPartialUnmapSupported(struct ConfidentialComputeApi * pResource)135 static NvBool __nvoc_thunk_RsResource_confComputeApiIsPartialUnmapSupported(struct ConfidentialComputeApi *pResource) {
136     return resIsPartialUnmapSupported((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset));
137 }
138 
__nvoc_thunk_RsResource_confComputeApiPreDestruct(struct ConfidentialComputeApi * pResource)139 static void __nvoc_thunk_RsResource_confComputeApiPreDestruct(struct ConfidentialComputeApi *pResource) {
140     resPreDestruct((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset));
141 }
142 
__nvoc_thunk_RsResource_confComputeApiMapTo(struct ConfidentialComputeApi * pResource,RS_RES_MAP_TO_PARAMS * pParams)143 static NV_STATUS __nvoc_thunk_RsResource_confComputeApiMapTo(struct ConfidentialComputeApi *pResource, RS_RES_MAP_TO_PARAMS *pParams) {
144     return resMapTo((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), pParams);
145 }
146 
__nvoc_thunk_RsResource_confComputeApiIsDuplicate(struct ConfidentialComputeApi * pResource,NvHandle hMemory,NvBool * pDuplicate)147 static NV_STATUS __nvoc_thunk_RsResource_confComputeApiIsDuplicate(struct ConfidentialComputeApi *pResource, NvHandle hMemory, NvBool *pDuplicate) {
148     return resIsDuplicate((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), hMemory, pDuplicate);
149 }
150 
__nvoc_thunk_RmResource_confComputeApiControlSerialization_Epilogue(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)151 static void __nvoc_thunk_RmResource_confComputeApiControlSerialization_Epilogue(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
152     rmresControlSerialization_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), pCallContext, pParams);
153 }
154 
__nvoc_thunk_RmResource_confComputeApiControl_Epilogue(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,struct RS_RES_CONTROL_PARAMS_INTERNAL * pParams)155 static void __nvoc_thunk_RmResource_confComputeApiControl_Epilogue(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, struct RS_RES_CONTROL_PARAMS_INTERNAL *pParams) {
156     rmresControl_Epilogue((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), pCallContext, pParams);
157 }
158 
__nvoc_thunk_RsResource_confComputeApiUnmapFrom(struct ConfidentialComputeApi * pResource,RS_RES_UNMAP_FROM_PARAMS * pParams)159 static NV_STATUS __nvoc_thunk_RsResource_confComputeApiUnmapFrom(struct ConfidentialComputeApi *pResource, RS_RES_UNMAP_FROM_PARAMS *pParams) {
160     return resUnmapFrom((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), pParams);
161 }
162 
__nvoc_thunk_RsResource_confComputeApiMap(struct ConfidentialComputeApi * pResource,struct CALL_CONTEXT * pCallContext,RS_CPU_MAP_PARAMS * pParams,RsCpuMapping * pCpuMapping)163 static NV_STATUS __nvoc_thunk_RsResource_confComputeApiMap(struct ConfidentialComputeApi *pResource, struct CALL_CONTEXT *pCallContext, RS_CPU_MAP_PARAMS *pParams, RsCpuMapping *pCpuMapping) {
164     return resMap((struct RsResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RsResource.offset), pCallContext, pParams, pCpuMapping);
165 }
166 
__nvoc_thunk_RmResource_confComputeApiAccessCallback(struct ConfidentialComputeApi * pResource,struct RsClient * pInvokingClient,void * pAllocParams,RsAccessRight accessRight)167 static NvBool __nvoc_thunk_RmResource_confComputeApiAccessCallback(struct ConfidentialComputeApi *pResource, struct RsClient *pInvokingClient, void *pAllocParams, RsAccessRight accessRight) {
168     return rmresAccessCallback((struct RmResource *)(((unsigned char *)pResource) + __nvoc_rtti_ConfidentialComputeApi_RmResource.offset), pInvokingClient, pAllocParams, accessRight);
169 }
170 
171 #if !defined(NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG)
172 #define NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(x)      (0)
173 #endif
174 
175 static const struct NVOC_EXPORTED_METHOD_DEF __nvoc_exported_method_def_ConfidentialComputeApi[] =
176 {
177     {               /*  [0] */
178 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
179         /*pFunc=*/      (void (*)(void)) NULL,
180 #else
181         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdSystemSetSecurityPolicy_IMPL,
182 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
183         /*flags=*/      0x4u,
184         /*accessRight=*/0x0u,
185         /*methodId=*/   0xc56f010du,
186         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_SET_SECURITY_POLICY_PARAMS),
187         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
188 #if NV_PRINTF_STRINGS_ALLOWED
189         /*func=*/       "confComputeApiCtrlCmdSystemSetSecurityPolicy"
190 #endif
191     },
192     {               /*  [1] */
193 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
194         /*pFunc=*/      (void (*)(void)) NULL,
195 #else
196         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdSystemGetSecurityPolicy_IMPL,
197 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
198         /*flags=*/      0x10u,
199         /*accessRight=*/0x0u,
200         /*methodId=*/   0xc56f010eu,
201         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_GET_SECURITY_POLICY_PARAMS),
202         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
203 #if NV_PRINTF_STRINGS_ALLOWED
204         /*func=*/       "confComputeApiCtrlCmdSystemGetSecurityPolicy"
205 #endif
206     },
207     {               /*  [2] */
208 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
209         /*pFunc=*/      (void (*)(void)) NULL,
210 #else
211         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdSystemGetCapabilities_IMPL,
212 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
213         /*flags=*/      0x10u,
214         /*accessRight=*/0x0u,
215         /*methodId=*/   0xcb330101u,
216         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_SYSTEM_GET_CAPABILITIES_PARAMS),
217         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
218 #if NV_PRINTF_STRINGS_ALLOWED
219         /*func=*/       "confComputeApiCtrlCmdSystemGetCapabilities"
220 #endif
221     },
222     {               /*  [3] */
223 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
224         /*pFunc=*/      (void (*)(void)) NULL,
225 #else
226         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdSystemGetGpusState_IMPL,
227 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
228         /*flags=*/      0x10u,
229         /*accessRight=*/0x0u,
230         /*methodId=*/   0xcb330104u,
231         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_SYSTEM_GET_GPUS_STATE_PARAMS),
232         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
233 #if NV_PRINTF_STRINGS_ALLOWED
234         /*func=*/       "confComputeApiCtrlCmdSystemGetGpusState"
235 #endif
236     },
237     {               /*  [4] */
238 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
239         /*pFunc=*/      (void (*)(void)) NULL,
240 #else
241         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdSystemSetGpusState_IMPL,
242 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
243         /*flags=*/      0x4u,
244         /*accessRight=*/0x0u,
245         /*methodId=*/   0xcb330105u,
246         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_SYSTEM_SET_GPUS_STATE_PARAMS),
247         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
248 #if NV_PRINTF_STRINGS_ALLOWED
249         /*func=*/       "confComputeApiCtrlCmdSystemSetGpusState"
250 #endif
251     },
252     {               /*  [5] */
253 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
254         /*pFunc=*/      (void (*)(void)) NULL,
255 #else
256         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdGpuGetVidmemSize_IMPL,
257 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
258         /*flags=*/      0x10u,
259         /*accessRight=*/0x0u,
260         /*methodId=*/   0xcb330106u,
261         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_GPU_GET_VIDMEM_SIZE_PARAMS),
262         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
263 #if NV_PRINTF_STRINGS_ALLOWED
264         /*func=*/       "confComputeApiCtrlCmdGpuGetVidmemSize"
265 #endif
266     },
267     {               /*  [6] */
268 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
269         /*pFunc=*/      (void (*)(void)) NULL,
270 #else
271         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdGpuSetVidmemSize_IMPL,
272 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
273         /*flags=*/      0x4u,
274         /*accessRight=*/0x0u,
275         /*methodId=*/   0xcb330107u,
276         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_GPU_SET_VIDMEM_SIZE_PARAMS),
277         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
278 #if NV_PRINTF_STRINGS_ALLOWED
279         /*func=*/       "confComputeApiCtrlCmdGpuSetVidmemSize"
280 #endif
281     },
282     {               /*  [7] */
283 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
284         /*pFunc=*/      (void (*)(void)) NULL,
285 #else
286         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdGetGpuCertificate_IMPL,
287 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
288         /*flags=*/      0x10u,
289         /*accessRight=*/0x0u,
290         /*methodId=*/   0xcb330109u,
291         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_GET_GPU_CERTIFICATE_PARAMS),
292         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
293 #if NV_PRINTF_STRINGS_ALLOWED
294         /*func=*/       "confComputeApiCtrlCmdGetGpuCertificate"
295 #endif
296     },
297     {               /*  [8] */
298 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
299         /*pFunc=*/      (void (*)(void)) NULL,
300 #else
301         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdGetGpuAttestationReport_IMPL,
302 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
303         /*flags=*/      0x10u,
304         /*accessRight=*/0x0u,
305         /*methodId=*/   0xcb33010au,
306         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_GET_GPU_ATTESTATION_REPORT_PARAMS),
307         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
308 #if NV_PRINTF_STRINGS_ALLOWED
309         /*func=*/       "confComputeApiCtrlCmdGetGpuAttestationReport"
310 #endif
311     },
312     {               /*  [9] */
313 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
314         /*pFunc=*/      (void (*)(void)) NULL,
315 #else
316         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdGpuGetNumSecureChannels_IMPL,
317 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
318         /*flags=*/      0x10u,
319         /*accessRight=*/0x0u,
320         /*methodId=*/   0xcb33010bu,
321         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_GPU_GET_NUM_SECURE_CHANNELS_PARAMS),
322         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
323 #if NV_PRINTF_STRINGS_ALLOWED
324         /*func=*/       "confComputeApiCtrlCmdGpuGetNumSecureChannels"
325 #endif
326     },
327     {               /*  [10] */
328 #if NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
329         /*pFunc=*/      (void (*)(void)) NULL,
330 #else
331         /*pFunc=*/      (void (*)(void)) confComputeApiCtrlCmdGpuGetKeyRotationState_IMPL,
332 #endif // NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
333         /*flags=*/      0x10u,
334         /*accessRight=*/0x0u,
335         /*methodId=*/   0xcb33010cu,
336         /*paramSize=*/  sizeof(NV_CONF_COMPUTE_CTRL_CMD_GPU_GET_KEY_ROTATION_STATE_PARAMS),
337         /*pClassInfo=*/ &(__nvoc_class_def_ConfidentialComputeApi.classInfo),
338 #if NV_PRINTF_STRINGS_ALLOWED
339         /*func=*/       "confComputeApiCtrlCmdGpuGetKeyRotationState"
340 #endif
341     },
342 
343 };
344 
345 const struct NVOC_EXPORT_INFO __nvoc_export_info_ConfidentialComputeApi =
346 {
347     /*numEntries=*/     11,
348     /*pExportEntries=*/ __nvoc_exported_method_def_ConfidentialComputeApi
349 };
350 
351 void __nvoc_dtor_RmResource(RmResource*);
__nvoc_dtor_ConfidentialComputeApi(ConfidentialComputeApi * pThis)352 void __nvoc_dtor_ConfidentialComputeApi(ConfidentialComputeApi *pThis) {
353     __nvoc_confComputeApiDestruct(pThis);
354     __nvoc_dtor_RmResource(&pThis->__nvoc_base_RmResource);
355     PORT_UNREFERENCED_VARIABLE(pThis);
356 }
357 
__nvoc_init_dataField_ConfidentialComputeApi(ConfidentialComputeApi * pThis)358 void __nvoc_init_dataField_ConfidentialComputeApi(ConfidentialComputeApi *pThis) {
359     PORT_UNREFERENCED_VARIABLE(pThis);
360 }
361 
362 NV_STATUS __nvoc_ctor_RmResource(RmResource* , CALL_CONTEXT *, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
__nvoc_ctor_ConfidentialComputeApi(ConfidentialComputeApi * pThis,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)363 NV_STATUS __nvoc_ctor_ConfidentialComputeApi(ConfidentialComputeApi *pThis, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams) {
364     NV_STATUS status = NV_OK;
365     status = __nvoc_ctor_RmResource(&pThis->__nvoc_base_RmResource, arg_pCallContext, arg_pParams);
366     if (status != NV_OK) goto __nvoc_ctor_ConfidentialComputeApi_fail_RmResource;
367     __nvoc_init_dataField_ConfidentialComputeApi(pThis);
368 
369     status = __nvoc_confComputeApiConstruct(pThis, arg_pCallContext, arg_pParams);
370     if (status != NV_OK) goto __nvoc_ctor_ConfidentialComputeApi_fail__init;
371     goto __nvoc_ctor_ConfidentialComputeApi_exit; // Success
372 
373 __nvoc_ctor_ConfidentialComputeApi_fail__init:
374     __nvoc_dtor_RmResource(&pThis->__nvoc_base_RmResource);
375 __nvoc_ctor_ConfidentialComputeApi_fail_RmResource:
376 __nvoc_ctor_ConfidentialComputeApi_exit:
377 
378     return status;
379 }
380 
__nvoc_init_funcTable_ConfidentialComputeApi_1(ConfidentialComputeApi * pThis)381 static void __nvoc_init_funcTable_ConfidentialComputeApi_1(ConfidentialComputeApi *pThis) {
382     PORT_UNREFERENCED_VARIABLE(pThis);
383 
384 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
385     pThis->__confComputeApiCtrlCmdSystemGetCapabilities__ = &confComputeApiCtrlCmdSystemGetCapabilities_IMPL;
386 #endif
387 
388 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
389     pThis->__confComputeApiCtrlCmdSystemGetGpusState__ = &confComputeApiCtrlCmdSystemGetGpusState_IMPL;
390 #endif
391 
392 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
393     pThis->__confComputeApiCtrlCmdSystemSetGpusState__ = &confComputeApiCtrlCmdSystemSetGpusState_IMPL;
394 #endif
395 
396 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
397     pThis->__confComputeApiCtrlCmdGpuGetVidmemSize__ = &confComputeApiCtrlCmdGpuGetVidmemSize_IMPL;
398 #endif
399 
400 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
401     pThis->__confComputeApiCtrlCmdGpuSetVidmemSize__ = &confComputeApiCtrlCmdGpuSetVidmemSize_IMPL;
402 #endif
403 
404 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
405     pThis->__confComputeApiCtrlCmdGetGpuCertificate__ = &confComputeApiCtrlCmdGetGpuCertificate_IMPL;
406 #endif
407 
408 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
409     pThis->__confComputeApiCtrlCmdGetGpuAttestationReport__ = &confComputeApiCtrlCmdGetGpuAttestationReport_IMPL;
410 #endif
411 
412 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
413     pThis->__confComputeApiCtrlCmdGpuGetNumSecureChannels__ = &confComputeApiCtrlCmdGpuGetNumSecureChannels_IMPL;
414 #endif
415 
416 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
417     pThis->__confComputeApiCtrlCmdSystemGetSecurityPolicy__ = &confComputeApiCtrlCmdSystemGetSecurityPolicy_IMPL;
418 #endif
419 
420 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x4u)
421     pThis->__confComputeApiCtrlCmdSystemSetSecurityPolicy__ = &confComputeApiCtrlCmdSystemSetSecurityPolicy_IMPL;
422 #endif
423 
424 #if !NVOC_EXPORTED_METHOD_DISABLED_BY_FLAG(0x10u)
425     pThis->__confComputeApiCtrlCmdGpuGetKeyRotationState__ = &confComputeApiCtrlCmdGpuGetKeyRotationState_IMPL;
426 #endif
427 
428     pThis->__confComputeApiShareCallback__ = &__nvoc_thunk_RmResource_confComputeApiShareCallback;
429 
430     pThis->__confComputeApiCheckMemInterUnmap__ = &__nvoc_thunk_RmResource_confComputeApiCheckMemInterUnmap;
431 
432     pThis->__confComputeApiControl__ = &__nvoc_thunk_RsResource_confComputeApiControl;
433 
434     pThis->__confComputeApiGetMemInterMapParams__ = &__nvoc_thunk_RmResource_confComputeApiGetMemInterMapParams;
435 
436     pThis->__confComputeApiGetMemoryMappingDescriptor__ = &__nvoc_thunk_RmResource_confComputeApiGetMemoryMappingDescriptor;
437 
438     pThis->__confComputeApiGetRefCount__ = &__nvoc_thunk_RsResource_confComputeApiGetRefCount;
439 
440     pThis->__confComputeApiControlFilter__ = &__nvoc_thunk_RsResource_confComputeApiControlFilter;
441 
442     pThis->__confComputeApiAddAdditionalDependants__ = &__nvoc_thunk_RsResource_confComputeApiAddAdditionalDependants;
443 
444     pThis->__confComputeApiControlSerialization_Prologue__ = &__nvoc_thunk_RmResource_confComputeApiControlSerialization_Prologue;
445 
446     pThis->__confComputeApiControl_Prologue__ = &__nvoc_thunk_RmResource_confComputeApiControl_Prologue;
447 
448     pThis->__confComputeApiCanCopy__ = &__nvoc_thunk_RsResource_confComputeApiCanCopy;
449 
450     pThis->__confComputeApiUnmap__ = &__nvoc_thunk_RsResource_confComputeApiUnmap;
451 
452     pThis->__confComputeApiIsPartialUnmapSupported__ = &__nvoc_thunk_RsResource_confComputeApiIsPartialUnmapSupported;
453 
454     pThis->__confComputeApiPreDestruct__ = &__nvoc_thunk_RsResource_confComputeApiPreDestruct;
455 
456     pThis->__confComputeApiMapTo__ = &__nvoc_thunk_RsResource_confComputeApiMapTo;
457 
458     pThis->__confComputeApiIsDuplicate__ = &__nvoc_thunk_RsResource_confComputeApiIsDuplicate;
459 
460     pThis->__confComputeApiControlSerialization_Epilogue__ = &__nvoc_thunk_RmResource_confComputeApiControlSerialization_Epilogue;
461 
462     pThis->__confComputeApiControl_Epilogue__ = &__nvoc_thunk_RmResource_confComputeApiControl_Epilogue;
463 
464     pThis->__confComputeApiUnmapFrom__ = &__nvoc_thunk_RsResource_confComputeApiUnmapFrom;
465 
466     pThis->__confComputeApiMap__ = &__nvoc_thunk_RsResource_confComputeApiMap;
467 
468     pThis->__confComputeApiAccessCallback__ = &__nvoc_thunk_RmResource_confComputeApiAccessCallback;
469 }
470 
__nvoc_init_funcTable_ConfidentialComputeApi(ConfidentialComputeApi * pThis)471 void __nvoc_init_funcTable_ConfidentialComputeApi(ConfidentialComputeApi *pThis) {
472     __nvoc_init_funcTable_ConfidentialComputeApi_1(pThis);
473 }
474 
475 void __nvoc_init_RmResource(RmResource*);
__nvoc_init_ConfidentialComputeApi(ConfidentialComputeApi * pThis)476 void __nvoc_init_ConfidentialComputeApi(ConfidentialComputeApi *pThis) {
477     pThis->__nvoc_pbase_ConfidentialComputeApi = pThis;
478     pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object;
479     pThis->__nvoc_pbase_RsResource = &pThis->__nvoc_base_RmResource.__nvoc_base_RsResource;
480     pThis->__nvoc_pbase_RmResourceCommon = &pThis->__nvoc_base_RmResource.__nvoc_base_RmResourceCommon;
481     pThis->__nvoc_pbase_RmResource = &pThis->__nvoc_base_RmResource;
482     __nvoc_init_RmResource(&pThis->__nvoc_base_RmResource);
483     __nvoc_init_funcTable_ConfidentialComputeApi(pThis);
484 }
485 
__nvoc_objCreate_ConfidentialComputeApi(ConfidentialComputeApi ** ppThis,Dynamic * pParent,NvU32 createFlags,CALL_CONTEXT * arg_pCallContext,struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)486 NV_STATUS __nvoc_objCreate_ConfidentialComputeApi(ConfidentialComputeApi **ppThis, Dynamic *pParent, NvU32 createFlags, CALL_CONTEXT * arg_pCallContext, struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams)
487 {
488     NV_STATUS status;
489     Object *pParentObj = NULL;
490     ConfidentialComputeApi *pThis;
491 
492     // Assign `pThis`, allocating memory unless suppressed by flag.
493     status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(ConfidentialComputeApi), (void**)&pThis, (void**)ppThis);
494     if (status != NV_OK)
495         return status;
496 
497     // Zero is the initial value for everything.
498     portMemSet(pThis, 0, sizeof(ConfidentialComputeApi));
499 
500     // Initialize runtime type information.
501     __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_ConfidentialComputeApi);
502 
503     pThis->__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.createFlags = createFlags;
504 
505     // Link the child into the parent if there is one unless flagged not to do so.
506     if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
507     {
508         pParentObj = dynamicCast(pParent, Object);
509         objAddChild(pParentObj, &pThis->__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
510     }
511     else
512     {
513         pThis->__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object.pParent = NULL;
514     }
515 
516     __nvoc_init_ConfidentialComputeApi(pThis);
517     status = __nvoc_ctor_ConfidentialComputeApi(pThis, arg_pCallContext, arg_pParams);
518     if (status != NV_OK) goto __nvoc_objCreate_ConfidentialComputeApi_cleanup;
519 
520     // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
521     *ppThis = pThis;
522 
523     return NV_OK;
524 
525 __nvoc_objCreate_ConfidentialComputeApi_cleanup:
526 
527     // Unlink the child from the parent if it was linked above.
528     if (pParentObj != NULL)
529         objRemoveChild(pParentObj, &pThis->__nvoc_base_RmResource.__nvoc_base_RsResource.__nvoc_base_Object);
530 
531     // Do not call destructors here since the constructor already called them.
532     if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
533         portMemSet(pThis, 0, sizeof(ConfidentialComputeApi));
534     else
535     {
536         portMemFree(pThis);
537         *ppThis = NULL;
538     }
539 
540     // coverity[leaked_storage:FALSE]
541     return status;
542 }
543 
__nvoc_objCreateDynamic_ConfidentialComputeApi(ConfidentialComputeApi ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)544 NV_STATUS __nvoc_objCreateDynamic_ConfidentialComputeApi(ConfidentialComputeApi **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
545     NV_STATUS status;
546     CALL_CONTEXT * arg_pCallContext = va_arg(args, CALL_CONTEXT *);
547     struct RS_RES_ALLOC_PARAMS_INTERNAL * arg_pParams = va_arg(args, struct RS_RES_ALLOC_PARAMS_INTERNAL *);
548 
549     status = __nvoc_objCreate_ConfidentialComputeApi(ppThis, pParent, createFlags, arg_pCallContext, arg_pParams);
550 
551     return status;
552 }
553 
554