1 #define NVOC_VASPACE_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_vaspace_nvoc.h"
9
10 #ifdef DEBUG
11 char __nvoc_class_id_uniqueness_check_0x6c347f = 1;
12 #endif
13
14 extern const struct NVOC_CLASS_DEF __nvoc_class_def_OBJVASPACE;
15
16 extern const struct NVOC_CLASS_DEF __nvoc_class_def_Object;
17
18 void __nvoc_init_OBJVASPACE(OBJVASPACE*);
19 void __nvoc_init_funcTable_OBJVASPACE(OBJVASPACE*);
20 NV_STATUS __nvoc_ctor_OBJVASPACE(OBJVASPACE*);
21 void __nvoc_init_dataField_OBJVASPACE(OBJVASPACE*);
22 void __nvoc_dtor_OBJVASPACE(OBJVASPACE*);
23 extern const struct NVOC_EXPORT_INFO __nvoc_export_info_OBJVASPACE;
24
25 static const struct NVOC_RTTI __nvoc_rtti_OBJVASPACE_OBJVASPACE = {
26 /*pClassDef=*/ &__nvoc_class_def_OBJVASPACE,
27 /*dtor=*/ (NVOC_DYNAMIC_DTOR) &__nvoc_dtor_OBJVASPACE,
28 /*offset=*/ 0,
29 };
30
31 static const struct NVOC_RTTI __nvoc_rtti_OBJVASPACE_Object = {
32 /*pClassDef=*/ &__nvoc_class_def_Object,
33 /*dtor=*/ &__nvoc_destructFromBase,
34 /*offset=*/ NV_OFFSETOF(OBJVASPACE, __nvoc_base_Object),
35 };
36
37 static const struct NVOC_CASTINFO __nvoc_castinfo_OBJVASPACE = {
38 /*numRelatives=*/ 2,
39 /*relatives=*/ {
40 &__nvoc_rtti_OBJVASPACE_OBJVASPACE,
41 &__nvoc_rtti_OBJVASPACE_Object,
42 },
43 };
44
45 // Not instantiable because it's an abstract class with following pure virtual functions:
46 // vaspaceConstruct_
47 // vaspaceAlloc
48 // vaspaceFree
49 // vaspaceApplyDefaultAlignment
50 // vaspaceGetVasInfo
51 const struct NVOC_CLASS_DEF __nvoc_class_def_OBJVASPACE =
52 {
53 /*classInfo=*/ {
54 /*size=*/ sizeof(OBJVASPACE),
55 /*classId=*/ classId(OBJVASPACE),
56 /*providerId=*/ &__nvoc_rtti_provider,
57 #if NV_PRINTF_STRINGS_ALLOWED
58 /*name=*/ "OBJVASPACE",
59 #endif
60 },
61 /*objCreatefn=*/ (NVOC_DYNAMIC_OBJ_CREATE) NULL,
62 /*pCastInfo=*/ &__nvoc_castinfo_OBJVASPACE,
63 /*pExportInfo=*/ &__nvoc_export_info_OBJVASPACE
64 };
65
66 const struct NVOC_EXPORT_INFO __nvoc_export_info_OBJVASPACE =
67 {
68 /*numEntries=*/ 0,
69 /*pExportEntries=*/ 0
70 };
71
72 void __nvoc_dtor_Object(Object*);
__nvoc_dtor_OBJVASPACE(OBJVASPACE * pThis)73 void __nvoc_dtor_OBJVASPACE(OBJVASPACE *pThis) {
74 __nvoc_dtor_Object(&pThis->__nvoc_base_Object);
75 PORT_UNREFERENCED_VARIABLE(pThis);
76 }
77
__nvoc_init_dataField_OBJVASPACE(OBJVASPACE * pThis)78 void __nvoc_init_dataField_OBJVASPACE(OBJVASPACE *pThis) {
79 PORT_UNREFERENCED_VARIABLE(pThis);
80 }
81
82 NV_STATUS __nvoc_ctor_Object(Object* );
__nvoc_ctor_OBJVASPACE(OBJVASPACE * pThis)83 NV_STATUS __nvoc_ctor_OBJVASPACE(OBJVASPACE *pThis) {
84 NV_STATUS status = NV_OK;
85 status = __nvoc_ctor_Object(&pThis->__nvoc_base_Object);
86 if (status != NV_OK) goto __nvoc_ctor_OBJVASPACE_fail_Object;
87 __nvoc_init_dataField_OBJVASPACE(pThis);
88 goto __nvoc_ctor_OBJVASPACE_exit; // Success
89
90 __nvoc_ctor_OBJVASPACE_fail_Object:
91 __nvoc_ctor_OBJVASPACE_exit:
92
93 return status;
94 }
95
__nvoc_init_funcTable_OBJVASPACE_1(OBJVASPACE * pThis)96 static void __nvoc_init_funcTable_OBJVASPACE_1(OBJVASPACE *pThis) {
97 PORT_UNREFERENCED_VARIABLE(pThis);
98
99 pThis->__vaspaceConstruct___ = NULL;
100
101 pThis->__vaspaceAlloc__ = NULL;
102
103 pThis->__vaspaceFree__ = NULL;
104
105 pThis->__vaspaceApplyDefaultAlignment__ = NULL;
106
107 pThis->__vaspaceIncAllocRefCnt__ = &vaspaceIncAllocRefCnt_b7902c;
108
109 pThis->__vaspaceGetVaStart__ = &vaspaceGetVaStart_IMPL;
110
111 pThis->__vaspaceGetVaLimit__ = &vaspaceGetVaLimit_IMPL;
112
113 pThis->__vaspaceGetVasInfo__ = NULL;
114
115 pThis->__vaspaceGetFlags__ = &vaspaceGetFlags_edd98b;
116
117 pThis->__vaspaceMap__ = &vaspaceMap_b7902c;
118
119 pThis->__vaspaceUnmap__ = &vaspaceUnmap_8b86a5;
120
121 pThis->__vaspaceReserveMempool__ = &vaspaceReserveMempool_ac1694;
122
123 pThis->__vaspaceGetHeap__ = &vaspaceGetHeap_128d6d;
124
125 pThis->__vaspaceGetMapPageSize__ = &vaspaceGetMapPageSize_07238a;
126
127 pThis->__vaspaceGetBigPageSize__ = &vaspaceGetBigPageSize_07238a;
128
129 pThis->__vaspaceIsMirrored__ = &vaspaceIsMirrored_814c13;
130
131 pThis->__vaspaceIsFaultCapable__ = &vaspaceIsFaultCapable_814c13;
132
133 pThis->__vaspaceIsExternallyOwned__ = &vaspaceIsExternallyOwned_814c13;
134
135 pThis->__vaspaceIsAtsEnabled__ = &vaspaceIsAtsEnabled_814c13;
136
137 pThis->__vaspaceGetPasid__ = &vaspaceGetPasid_b7902c;
138
139 pThis->__vaspaceGetPageDirBase__ = &vaspaceGetPageDirBase_128d6d;
140
141 pThis->__vaspaceGetKernelPageDirBase__ = &vaspaceGetKernelPageDirBase_128d6d;
142
143 pThis->__vaspacePinRootPageDir__ = &vaspacePinRootPageDir_b7902c;
144
145 pThis->__vaspaceUnpinRootPageDir__ = &vaspaceUnpinRootPageDir_8b86a5;
146
147 pThis->__vaspaceInvalidateTlb__ = &vaspaceInvalidateTlb_IMPL;
148
149 pThis->__vaspaceGetPageTableInfo__ = &vaspaceGetPageTableInfo_b7902c;
150
151 pThis->__vaspaceGetPteInfo__ = &vaspaceGetPteInfo_b7902c;
152
153 pThis->__vaspaceSetPteInfo__ = &vaspaceSetPteInfo_b7902c;
154
155 pThis->__vaspaceFreeV2__ = &vaspaceFreeV2_b7902c;
156 }
157
__nvoc_init_funcTable_OBJVASPACE(OBJVASPACE * pThis)158 void __nvoc_init_funcTable_OBJVASPACE(OBJVASPACE *pThis) {
159 __nvoc_init_funcTable_OBJVASPACE_1(pThis);
160 }
161
162 void __nvoc_init_Object(Object*);
__nvoc_init_OBJVASPACE(OBJVASPACE * pThis)163 void __nvoc_init_OBJVASPACE(OBJVASPACE *pThis) {
164 pThis->__nvoc_pbase_OBJVASPACE = pThis;
165 pThis->__nvoc_pbase_Object = &pThis->__nvoc_base_Object;
166 __nvoc_init_Object(&pThis->__nvoc_base_Object);
167 __nvoc_init_funcTable_OBJVASPACE(pThis);
168 }
169
170