1 #define NVOC_OBJSWENG_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_objsweng_nvoc.h"
9 
10 #ifdef DEBUG
11 char __nvoc_class_id_uniqueness_check_0x95a6f5 = 1;
12 #endif
13 
14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJSWENG;
15 
16 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
17 
18 extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJENGSTATE;
19 
20 void __nvoc_init_OBJSWENG(OBJSWENG*);
21 void __nvoc_init_funcTable_OBJSWENG(OBJSWENG*);
22 NV_STATUS __nvoc_ctor_OBJSWENG(OBJSWENG*);
23 void __nvoc_init_dataField_OBJSWENG(OBJSWENG*);
24 void __nvoc_dtor_OBJSWENG(OBJSWENG*);
25 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_OBJSWENG;
26 
27 static const struct NVOC_RTTI __nvoc_rtti_OBJSWENG_OBJSWENG = {
28     /*pClassDef=*/          &__nvoc_class_def_OBJSWENG,
29     /*dtor=*/               (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_OBJSWENG,
30     /*offset=*/             0,
31 };
32 
33 static const struct NVOC_RTTI __nvoc_rtti_OBJSWENG_Object = {
34     /*pClassDef=*/          &__nvoc_class_def_Object,
35     /*dtor=*/               &__nvoc_destructFromBase,
36     /*offset=*/             NV_OFFSETOF(OBJSWENG, __nvoc_base_OBJENGSTATE.__nvoc_base_Object),
37 };
38 
39 static const struct NVOC_RTTI __nvoc_rtti_OBJSWENG_OBJENGSTATE = {
40     /*pClassDef=*/          &__nvoc_class_def_OBJENGSTATE,
41     /*dtor=*/               &__nvoc_destructFromBase,
42     /*offset=*/             NV_OFFSETOF(OBJSWENG, __nvoc_base_OBJENGSTATE),
43 };
44 
45 static const struct NVOC_CASTINFO __nvoc_castinfo_OBJSWENG = {
46     /*numRelatives=*/       3,
47     /*relatives=*/ {
48         &__nvoc_rtti_OBJSWENG_OBJSWENG,
49         &__nvoc_rtti_OBJSWENG_OBJENGSTATE,
50         &__nvoc_rtti_OBJSWENG_Object,
51     },
52 };
53 
54 const struct NVOC_CLASS_DEF __nvoc_class_def_OBJSWENG =
55 {
56     /*classInfo=*/ {
57         /*size=*/               sizeof(OBJSWENG),
58         /*classId=*/            classId(OBJSWENG),
59         /*providerId=*/         &__nvoc_rtti_provider,
60 #if NV_PRINTF_STRINGS_ALLOWED
61         /*name=*/               "OBJSWENG",
62 #endif
63     },
64     /*objCreatefn=*/        (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_OBJSWENG,
65     /*pCastInfo=*/          &__nvoc_castinfo_OBJSWENG,
66     /*pExportInfo=*/        &__nvoc_export_info_OBJSWENG
67 };
68 
__nvoc_thunk_OBJSWENG_engstateConstructEngine(struct OBJGPU * pGpu,struct OBJENGSTATE * pSweng,ENGDESCRIPTOR arg0)69 static NV_STATUS __nvoc_thunk_OBJSWENG_engstateConstructEngine(struct OBJGPU *pGpu, struct OBJENGSTATE *pSweng, ENGDESCRIPTOR arg0) {
70     return swengConstructEngine(pGpu, (struct OBJSWENG *)(((unsigned char *)pSweng) - __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset), arg0);
71 }
72 
__nvoc_thunk_OBJENGSTATE_swengStateLoad(POBJGPU pGpu,struct OBJSWENG * pEngstate,NvU32 arg0)73 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStateLoad(POBJGPU pGpu, struct OBJSWENG *pEngstate, NvU32 arg0) {
74     return engstateStateLoad(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset), arg0);
75 }
76 
__nvoc_thunk_OBJENGSTATE_swengStateUnload(POBJGPU pGpu,struct OBJSWENG * pEngstate,NvU32 arg0)77 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStateUnload(POBJGPU pGpu, struct OBJSWENG *pEngstate, NvU32 arg0) {
78     return engstateStateUnload(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset), arg0);
79 }
80 
__nvoc_thunk_OBJENGSTATE_swengStateInitLocked(POBJGPU pGpu,struct OBJSWENG * pEngstate)81 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStateInitLocked(POBJGPU pGpu, struct OBJSWENG *pEngstate) {
82     return engstateStateInitLocked(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset));
83 }
84 
__nvoc_thunk_OBJENGSTATE_swengStatePreLoad(POBJGPU pGpu,struct OBJSWENG * pEngstate,NvU32 arg0)85 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStatePreLoad(POBJGPU pGpu, struct OBJSWENG *pEngstate, NvU32 arg0) {
86     return engstateStatePreLoad(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset), arg0);
87 }
88 
__nvoc_thunk_OBJENGSTATE_swengStatePostUnload(POBJGPU pGpu,struct OBJSWENG * pEngstate,NvU32 arg0)89 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStatePostUnload(POBJGPU pGpu, struct OBJSWENG *pEngstate, NvU32 arg0) {
90     return engstateStatePostUnload(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset), arg0);
91 }
92 
__nvoc_thunk_OBJENGSTATE_swengStateDestroy(POBJGPU pGpu,struct OBJSWENG * pEngstate)93 static void __nvoc_thunk_OBJENGSTATE_swengStateDestroy(POBJGPU pGpu, struct OBJSWENG *pEngstate) {
94     engstateStateDestroy(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset));
95 }
96 
__nvoc_thunk_OBJENGSTATE_swengStatePreUnload(POBJGPU pGpu,struct OBJSWENG * pEngstate,NvU32 arg0)97 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStatePreUnload(POBJGPU pGpu, struct OBJSWENG *pEngstate, NvU32 arg0) {
98     return engstateStatePreUnload(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset), arg0);
99 }
100 
__nvoc_thunk_OBJENGSTATE_swengStateInitUnlocked(POBJGPU pGpu,struct OBJSWENG * pEngstate)101 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStateInitUnlocked(POBJGPU pGpu, struct OBJSWENG *pEngstate) {
102     return engstateStateInitUnlocked(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset));
103 }
104 
__nvoc_thunk_OBJENGSTATE_swengInitMissing(POBJGPU pGpu,struct OBJSWENG * pEngstate)105 static void __nvoc_thunk_OBJENGSTATE_swengInitMissing(POBJGPU pGpu, struct OBJSWENG *pEngstate) {
106     engstateInitMissing(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset));
107 }
108 
__nvoc_thunk_OBJENGSTATE_swengStatePreInitLocked(POBJGPU pGpu,struct OBJSWENG * pEngstate)109 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStatePreInitLocked(POBJGPU pGpu, struct OBJSWENG *pEngstate) {
110     return engstateStatePreInitLocked(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset));
111 }
112 
__nvoc_thunk_OBJENGSTATE_swengStatePreInitUnlocked(POBJGPU pGpu,struct OBJSWENG * pEngstate)113 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStatePreInitUnlocked(POBJGPU pGpu, struct OBJSWENG *pEngstate) {
114     return engstateStatePreInitUnlocked(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset));
115 }
116 
__nvoc_thunk_OBJENGSTATE_swengStatePostLoad(POBJGPU pGpu,struct OBJSWENG * pEngstate,NvU32 arg0)117 static NV_STATUS __nvoc_thunk_OBJENGSTATE_swengStatePostLoad(POBJGPU pGpu, struct OBJSWENG *pEngstate, NvU32 arg0) {
118     return engstateStatePostLoad(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset), arg0);
119 }
120 
__nvoc_thunk_OBJENGSTATE_swengIsPresent(POBJGPU pGpu,struct OBJSWENG * pEngstate)121 static NvBool __nvoc_thunk_OBJENGSTATE_swengIsPresent(POBJGPU pGpu, struct OBJSWENG *pEngstate) {
122     return engstateIsPresent(pGpu, (struct OBJENGSTATE *)(((unsigned char *)pEngstate) + __nvoc_rtti_OBJSWENG_OBJENGSTATE.offset));
123 }
124 
125 const struct NVOC_EXPORT_INFO __nvoc_export_info_OBJSWENG =
126 {
127     /*numEntries=*/     0,
128     /*pExportEntries=*/  0
129 };
130 
131 void __nvoc_dtor_OBJENGSTATE(OBJENGSTATE*);
__nvoc_dtor_OBJSWENG(OBJSWENG * pThis)132 void __nvoc_dtor_OBJSWENG(OBJSWENG *pThis) {
133     __nvoc_dtor_OBJENGSTATE(&pThis->__nvoc_base_OBJENGSTATE);
134     PORT_UNREFERENCED_VARIABLE(pThis);
135 }
136 
__nvoc_init_dataField_OBJSWENG(OBJSWENG * pThis)137 void __nvoc_init_dataField_OBJSWENG(OBJSWENG *pThis) {
138     PORT_UNREFERENCED_VARIABLE(pThis);
139 }
140 
141 NV_STATUS __nvoc_ctor_OBJENGSTATE(OBJENGSTATE* );
__nvoc_ctor_OBJSWENG(OBJSWENG * pThis)142 NV_STATUS __nvoc_ctor_OBJSWENG(OBJSWENG *pThis) {
143     NV_STATUS status = NV_OK;
144     status = __nvoc_ctor_OBJENGSTATE(&pThis->__nvoc_base_OBJENGSTATE);
145     if (status != NV_OK) goto __nvoc_ctor_OBJSWENG_fail_OBJENGSTATE;
146     __nvoc_init_dataField_OBJSWENG(pThis);
147     goto __nvoc_ctor_OBJSWENG_exit; // Success
148 
149 __nvoc_ctor_OBJSWENG_fail_OBJENGSTATE:
150 __nvoc_ctor_OBJSWENG_exit:
151 
152     return status;
153 }
154 
__nvoc_init_funcTable_OBJSWENG_1(OBJSWENG * pThis)155 static void __nvoc_init_funcTable_OBJSWENG_1(OBJSWENG *pThis) {
156     PORT_UNREFERENCED_VARIABLE(pThis);
157 
158     pThis->__swengConstructEngine__ = &swengConstructEngine_IMPL;
159 
160     pThis->__nvoc_base_OBJENGSTATE.__engstateConstructEngine__ = &__nvoc_thunk_OBJSWENG_engstateConstructEngine;
161 
162     pThis->__swengStateLoad__ = &__nvoc_thunk_OBJENGSTATE_swengStateLoad;
163 
164     pThis->__swengStateUnload__ = &__nvoc_thunk_OBJENGSTATE_swengStateUnload;
165 
166     pThis->__swengStateInitLocked__ = &__nvoc_thunk_OBJENGSTATE_swengStateInitLocked;
167 
168     pThis->__swengStatePreLoad__ = &__nvoc_thunk_OBJENGSTATE_swengStatePreLoad;
169 
170     pThis->__swengStatePostUnload__ = &__nvoc_thunk_OBJENGSTATE_swengStatePostUnload;
171 
172     pThis->__swengStateDestroy__ = &__nvoc_thunk_OBJENGSTATE_swengStateDestroy;
173 
174     pThis->__swengStatePreUnload__ = &__nvoc_thunk_OBJENGSTATE_swengStatePreUnload;
175 
176     pThis->__swengStateInitUnlocked__ = &__nvoc_thunk_OBJENGSTATE_swengStateInitUnlocked;
177 
178     pThis->__swengInitMissing__ = &__nvoc_thunk_OBJENGSTATE_swengInitMissing;
179 
180     pThis->__swengStatePreInitLocked__ = &__nvoc_thunk_OBJENGSTATE_swengStatePreInitLocked;
181 
182     pThis->__swengStatePreInitUnlocked__ = &__nvoc_thunk_OBJENGSTATE_swengStatePreInitUnlocked;
183 
184     pThis->__swengStatePostLoad__ = &__nvoc_thunk_OBJENGSTATE_swengStatePostLoad;
185 
186     pThis->__swengIsPresent__ = &__nvoc_thunk_OBJENGSTATE_swengIsPresent;
187 }
188 
__nvoc_init_funcTable_OBJSWENG(OBJSWENG * pThis)189 void __nvoc_init_funcTable_OBJSWENG(OBJSWENG *pThis) {
190     __nvoc_init_funcTable_OBJSWENG_1(pThis);
191 }
192 
193 void __nvoc_init_OBJENGSTATE(OBJENGSTATE*);
__nvoc_init_OBJSWENG(OBJSWENG * pThis)194 void __nvoc_init_OBJSWENG(OBJSWENG *pThis) {
195     pThis->__nvoc_pbase_OBJSWENG = pThis;
196     pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_OBJENGSTATE.__nvoc_base_Object;
197     pThis->__nvoc_pbase_OBJENGSTATE = &pThis->__nvoc_base_OBJENGSTATE;
198     __nvoc_init_OBJENGSTATE(&pThis->__nvoc_base_OBJENGSTATE);
199     __nvoc_init_funcTable_OBJSWENG(pThis);
200 }
201 
__nvoc_objCreate_OBJSWENG(OBJSWENG ** ppThis,Dynamic * pParent,NvU32 createFlags)202 NV_STATUS __nvoc_objCreate_OBJSWENG(OBJSWENG **ppThis, Dynamic *pParent, NvU32 createFlags)
203 {
204     NV_STATUS status;
205     Object *pParentObj = NULL;
206     OBJSWENG *pThis;
207 
208     // Assign `pThis`, allocating memory unless suppressed by flag.
209     status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(OBJSWENG), (void**)&pThis, (void**)ppThis);
210     if (status != NV_OK)
211         return status;
212 
213     // Zero is the initial value for everything.
214     portMemSet(pThis, 0, sizeof(OBJSWENG));
215 
216     // Initialize runtime type information.
217     __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_OBJSWENG);
218 
219     pThis->__nvoc_base_OBJENGSTATE.__nvoc_base_Object.createFlags = createFlags;
220 
221     // Link the child into the parent if there is one unless flagged not to do so.
222     if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY))
223     {
224         pParentObj = dynamicCast(pParent, Object);
225         objAddChild(pParentObj, &pThis->__nvoc_base_OBJENGSTATE.__nvoc_base_Object);
226     }
227     else
228     {
229         pThis->__nvoc_base_OBJENGSTATE.__nvoc_base_Object.pParent = NULL;
230     }
231 
232     __nvoc_init_OBJSWENG(pThis);
233     status = __nvoc_ctor_OBJSWENG(pThis);
234     if (status != NV_OK) goto __nvoc_objCreate_OBJSWENG_cleanup;
235 
236     // Assignment has no effect if NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT is set.
237     *ppThis = pThis;
238 
239     return NV_OK;
240 
241 __nvoc_objCreate_OBJSWENG_cleanup:
242 
243     // Unlink the child from the parent if it was linked above.
244     if (pParentObj != NULL)
245         objRemoveChild(pParentObj, &pThis->__nvoc_base_OBJENGSTATE.__nvoc_base_Object);
246 
247     // Do not call destructors here since the constructor already called them.
248     if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT)
249         portMemSet(pThis, 0, sizeof(OBJSWENG));
250     else
251     {
252         portMemFree(pThis);
253         *ppThis = NULL;
254     }
255 
256     // coverity[leaked_storage:FALSE]
257     return status;
258 }
259 
__nvoc_objCreateDynamic_OBJSWENG(OBJSWENG ** ppThis,Dynamic * pParent,NvU32 createFlags,va_list args)260 NV_STATUS __nvoc_objCreateDynamic_OBJSWENG(OBJSWENG **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) {
261     NV_STATUS status;
262 
263     status = __nvoc_objCreate_OBJSWENG(ppThis, pParent, createFlags);
264 
265     return status;
266 }
267 
268