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