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