1 #define NVOC_CE_UTILS_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_ce_utils_nvoc.h" 9 10 #ifdef DEBUG 11 char __nvoc_class_id_uniqueness_check_0x8b8bae = 1; 12 #endif 13 14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_CeUtils; 15 16 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object; 17 18 void __nvoc_init_CeUtils(CeUtils*); 19 void __nvoc_init_funcTable_CeUtils(CeUtils*); 20 NV_STATUS __nvoc_ctor_CeUtils(CeUtils*, OBJGPU * arg_pGpu, NV0050_ALLOCATION_PARAMETERS * arg_pAllocParams); 21 void __nvoc_init_dataField_CeUtils(CeUtils*); 22 void __nvoc_dtor_CeUtils(CeUtils*); 23 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_CeUtils; 24 25 static const struct NVOC_RTTI __nvoc_rtti_CeUtils_CeUtils = { 26 /*pClassDef=*/ &__nvoc_class_def_CeUtils, 27 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_CeUtils, 28 /*offset=*/ 0, 29 }; 30 31 static const struct NVOC_RTTI __nvoc_rtti_CeUtils_Object = { 32 /*pClassDef=*/ &__nvoc_class_def_Object, 33 /*dtor=*/ &__nvoc_destructFromBase, 34 /*offset=*/ NV_OFFSETOF(CeUtils, __nvoc_base_Object), 35 }; 36 37 static const struct NVOC_CASTINFO __nvoc_castinfo_CeUtils = { 38 /*numRelatives=*/ 2, 39 /*relatives=*/ { 40 &__nvoc_rtti_CeUtils_CeUtils, 41 &__nvoc_rtti_CeUtils_Object, 42 }, 43 }; 44 45 const struct NVOC_CLASS_DEF __nvoc_class_def_CeUtils = 46 { 47 /*classInfo=*/ { 48 /*size=*/ sizeof(CeUtils), 49 /*classId=*/ classId(CeUtils), 50 /*providerId=*/ &__nvoc_rtti_provider, 51 #if NV_PRINTF_STRINGS_ALLOWED 52 /*name=*/ "CeUtils", 53 #endif 54 }, 55 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) &__nvoc_objCreateDynamic_CeUtils, 56 /*pCastInfo=*/ &__nvoc_castinfo_CeUtils, 57 /*pExportInfo=*/ &__nvoc_export_info_CeUtils 58 }; 59 60 const struct NVOC_EXPORT_INFO __nvoc_export_info_CeUtils = 61 { 62 /*numEntries=*/ 0, 63 /*pExportEntries=*/ 0 64 }; 65 66 void __nvoc_dtor_Object(Object*); 67 void __nvoc_dtor_CeUtils(CeUtils *pThis) { 68 __nvoc_ceutilsDestruct(pThis); 69 __nvoc_dtor_Object(&pThis->__nvoc_base_Object); 70 PORT_UNREFERENCED_VARIABLE(pThis); 71 } 72 73 void __nvoc_init_dataField_CeUtils(CeUtils *pThis) { 74 PORT_UNREFERENCED_VARIABLE(pThis); 75 } 76 77 NV_STATUS __nvoc_ctor_Object(Object* ); 78 NV_STATUS __nvoc_ctor_CeUtils(CeUtils *pThis, OBJGPU * arg_pGpu, NV0050_ALLOCATION_PARAMETERS * arg_pAllocParams) { 79 NV_STATUS status = NV_OK; 80 status = __nvoc_ctor_Object(&pThis->__nvoc_base_Object); 81 if (status != NV_OK) goto __nvoc_ctor_CeUtils_fail_Object; 82 __nvoc_init_dataField_CeUtils(pThis); 83 84 status = __nvoc_ceutilsConstruct(pThis, arg_pGpu, arg_pAllocParams); 85 if (status != NV_OK) goto __nvoc_ctor_CeUtils_fail__init; 86 goto __nvoc_ctor_CeUtils_exit; // Success 87 88 __nvoc_ctor_CeUtils_fail__init: 89 __nvoc_dtor_Object(&pThis->__nvoc_base_Object); 90 __nvoc_ctor_CeUtils_fail_Object: 91 __nvoc_ctor_CeUtils_exit: 92 93 return status; 94 } 95 96 static void __nvoc_init_funcTable_CeUtils_1(CeUtils *pThis) { 97 PORT_UNREFERENCED_VARIABLE(pThis); 98 } 99 100 void __nvoc_init_funcTable_CeUtils(CeUtils *pThis) { 101 __nvoc_init_funcTable_CeUtils_1(pThis); 102 } 103 104 void __nvoc_init_Object(Object*); 105 void __nvoc_init_CeUtils(CeUtils *pThis) { 106 pThis->__nvoc_pbase_CeUtils = pThis; 107 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_Object; 108 __nvoc_init_Object(&pThis->__nvoc_base_Object); 109 __nvoc_init_funcTable_CeUtils(pThis); 110 } 111 112 NV_STATUS __nvoc_objCreate_CeUtils(CeUtils **ppThis, Dynamic *pParent, NvU32 createFlags, OBJGPU * arg_pGpu, NV0050_ALLOCATION_PARAMETERS * arg_pAllocParams) { 113 NV_STATUS status; 114 Object *pParentObj; 115 CeUtils *pThis; 116 117 status = __nvoc_handleObjCreateMemAlloc(createFlags, sizeof(CeUtils), (void**)&pThis, (void**)ppThis); 118 if (status != NV_OK) 119 return status; 120 121 portMemSet(pThis, 0, sizeof(CeUtils)); 122 123 __nvoc_initRtti(staticCast(pThis, Dynamic), &__nvoc_class_def_CeUtils); 124 125 pThis->__nvoc_base_Object.createFlags = createFlags; 126 127 if (pParent != NULL && !(createFlags & NVOC_OBJ_CREATE_FLAGS_PARENT_HALSPEC_ONLY)) 128 { 129 pParentObj = dynamicCast(pParent, Object); 130 objAddChild(pParentObj, &pThis->__nvoc_base_Object); 131 } 132 else 133 { 134 pThis->__nvoc_base_Object.pParent = NULL; 135 } 136 137 __nvoc_init_CeUtils(pThis); 138 status = __nvoc_ctor_CeUtils(pThis, arg_pGpu, arg_pAllocParams); 139 if (status != NV_OK) goto __nvoc_objCreate_CeUtils_cleanup; 140 141 *ppThis = pThis; 142 143 return NV_OK; 144 145 __nvoc_objCreate_CeUtils_cleanup: 146 // do not call destructors here since the constructor already called them 147 if (createFlags & NVOC_OBJ_CREATE_FLAGS_IN_PLACE_CONSTRUCT) 148 portMemSet(pThis, 0, sizeof(CeUtils)); 149 else 150 portMemFree(pThis); 151 152 // coverity[leaked_storage:FALSE] 153 return status; 154 } 155 156 NV_STATUS __nvoc_objCreateDynamic_CeUtils(CeUtils **ppThis, Dynamic *pParent, NvU32 createFlags, va_list args) { 157 NV_STATUS status; 158 OBJGPU * arg_pGpu = va_arg(args, OBJGPU *); 159 NV0050_ALLOCATION_PARAMETERS * arg_pAllocParams = va_arg(args, NV0050_ALLOCATION_PARAMETERS *); 160 161 status = __nvoc_objCreate_CeUtils(ppThis, pParent, createFlags, arg_pGpu, arg_pAllocParams); 162 163 return status; 164 } 165 166