xref: /linux/drivers/gpu/nova-core/gsp/fw/r570_144/bindings.rs (revision cbd4480cfac54dd4e9f7fb9ac2e0226ea38fecbb)
1 // SPDX-License-Identifier: GPL-2.0
2 
3 #[repr(C)]
4 #[derive(Default)]
5 pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
6 impl<T> __IncompleteArrayField<T> {
7     #[inline]
new() -> Self8     pub const fn new() -> Self {
9         __IncompleteArrayField(::core::marker::PhantomData, [])
10     }
11     #[inline]
as_ptr(&self) -> *const T12     pub fn as_ptr(&self) -> *const T {
13         self as *const _ as *const T
14     }
15     #[inline]
as_mut_ptr(&mut self) -> *mut T16     pub fn as_mut_ptr(&mut self) -> *mut T {
17         self as *mut _ as *mut T
18     }
19     #[inline]
as_slice(&self, len: usize) -> &[T]20     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21         ::core::slice::from_raw_parts(self.as_ptr(), len)
22     }
23     #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]24     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
25         ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
26     }
27 }
28 impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result29     fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
30         fmt.write_str("__IncompleteArrayField")
31     }
32 }
33 pub const NV_VGPU_MSG_SIGNATURE_VALID: u32 = 1129337430;
34 pub const GSP_FW_HEAP_PARAM_OS_SIZE_LIBOS2: u32 = 0;
35 pub const GSP_FW_HEAP_PARAM_OS_SIZE_LIBOS3_BAREMETAL: u32 = 23068672;
36 pub const GSP_FW_HEAP_PARAM_BASE_RM_SIZE_TU10X: u32 = 8388608;
37 pub const GSP_FW_HEAP_PARAM_SIZE_PER_GB_FB: u32 = 98304;
38 pub const GSP_FW_HEAP_PARAM_CLIENT_ALLOC_SIZE: u32 = 100663296;
39 pub const GSP_FW_HEAP_SIZE_OVERRIDE_LIBOS2_MIN_MB: u32 = 64;
40 pub const GSP_FW_HEAP_SIZE_OVERRIDE_LIBOS2_MAX_MB: u32 = 256;
41 pub const GSP_FW_HEAP_SIZE_OVERRIDE_LIBOS3_BAREMETAL_MIN_MB: u32 = 88;
42 pub const GSP_FW_HEAP_SIZE_OVERRIDE_LIBOS3_BAREMETAL_MAX_MB: u32 = 280;
43 pub const GSP_FW_WPR_META_REVISION: u32 = 1;
44 pub const GSP_FW_WPR_META_MAGIC: i64 = -2577556379034558285;
45 pub const REGISTRY_TABLE_ENTRY_TYPE_DWORD: u32 = 1;
46 pub type __u8 = ffi::c_uchar;
47 pub type __u16 = ffi::c_ushort;
48 pub type __u32 = ffi::c_uint;
49 pub type __u64 = ffi::c_ulonglong;
50 pub type u8_ = __u8;
51 pub type u16_ = __u16;
52 pub type u32_ = __u32;
53 pub type u64_ = __u64;
54 pub const NV_VGPU_MSG_FUNCTION_NOP: _bindgen_ty_2 = 0;
55 pub const NV_VGPU_MSG_FUNCTION_SET_GUEST_SYSTEM_INFO: _bindgen_ty_2 = 1;
56 pub const NV_VGPU_MSG_FUNCTION_ALLOC_ROOT: _bindgen_ty_2 = 2;
57 pub const NV_VGPU_MSG_FUNCTION_ALLOC_DEVICE: _bindgen_ty_2 = 3;
58 pub const NV_VGPU_MSG_FUNCTION_ALLOC_MEMORY: _bindgen_ty_2 = 4;
59 pub const NV_VGPU_MSG_FUNCTION_ALLOC_CTX_DMA: _bindgen_ty_2 = 5;
60 pub const NV_VGPU_MSG_FUNCTION_ALLOC_CHANNEL_DMA: _bindgen_ty_2 = 6;
61 pub const NV_VGPU_MSG_FUNCTION_MAP_MEMORY: _bindgen_ty_2 = 7;
62 pub const NV_VGPU_MSG_FUNCTION_BIND_CTX_DMA: _bindgen_ty_2 = 8;
63 pub const NV_VGPU_MSG_FUNCTION_ALLOC_OBJECT: _bindgen_ty_2 = 9;
64 pub const NV_VGPU_MSG_FUNCTION_FREE: _bindgen_ty_2 = 10;
65 pub const NV_VGPU_MSG_FUNCTION_LOG: _bindgen_ty_2 = 11;
66 pub const NV_VGPU_MSG_FUNCTION_ALLOC_VIDMEM: _bindgen_ty_2 = 12;
67 pub const NV_VGPU_MSG_FUNCTION_UNMAP_MEMORY: _bindgen_ty_2 = 13;
68 pub const NV_VGPU_MSG_FUNCTION_MAP_MEMORY_DMA: _bindgen_ty_2 = 14;
69 pub const NV_VGPU_MSG_FUNCTION_UNMAP_MEMORY_DMA: _bindgen_ty_2 = 15;
70 pub const NV_VGPU_MSG_FUNCTION_GET_EDID: _bindgen_ty_2 = 16;
71 pub const NV_VGPU_MSG_FUNCTION_ALLOC_DISP_CHANNEL: _bindgen_ty_2 = 17;
72 pub const NV_VGPU_MSG_FUNCTION_ALLOC_DISP_OBJECT: _bindgen_ty_2 = 18;
73 pub const NV_VGPU_MSG_FUNCTION_ALLOC_SUBDEVICE: _bindgen_ty_2 = 19;
74 pub const NV_VGPU_MSG_FUNCTION_ALLOC_DYNAMIC_MEMORY: _bindgen_ty_2 = 20;
75 pub const NV_VGPU_MSG_FUNCTION_DUP_OBJECT: _bindgen_ty_2 = 21;
76 pub const NV_VGPU_MSG_FUNCTION_IDLE_CHANNELS: _bindgen_ty_2 = 22;
77 pub const NV_VGPU_MSG_FUNCTION_ALLOC_EVENT: _bindgen_ty_2 = 23;
78 pub const NV_VGPU_MSG_FUNCTION_SEND_EVENT: _bindgen_ty_2 = 24;
79 pub const NV_VGPU_MSG_FUNCTION_REMAPPER_CONTROL: _bindgen_ty_2 = 25;
80 pub const NV_VGPU_MSG_FUNCTION_DMA_CONTROL: _bindgen_ty_2 = 26;
81 pub const NV_VGPU_MSG_FUNCTION_DMA_FILL_PTE_MEM: _bindgen_ty_2 = 27;
82 pub const NV_VGPU_MSG_FUNCTION_MANAGE_HW_RESOURCE: _bindgen_ty_2 = 28;
83 pub const NV_VGPU_MSG_FUNCTION_BIND_ARBITRARY_CTX_DMA: _bindgen_ty_2 = 29;
84 pub const NV_VGPU_MSG_FUNCTION_CREATE_FB_SEGMENT: _bindgen_ty_2 = 30;
85 pub const NV_VGPU_MSG_FUNCTION_DESTROY_FB_SEGMENT: _bindgen_ty_2 = 31;
86 pub const NV_VGPU_MSG_FUNCTION_ALLOC_SHARE_DEVICE: _bindgen_ty_2 = 32;
87 pub const NV_VGPU_MSG_FUNCTION_DEFERRED_API_CONTROL: _bindgen_ty_2 = 33;
88 pub const NV_VGPU_MSG_FUNCTION_REMOVE_DEFERRED_API: _bindgen_ty_2 = 34;
89 pub const NV_VGPU_MSG_FUNCTION_SIM_ESCAPE_READ: _bindgen_ty_2 = 35;
90 pub const NV_VGPU_MSG_FUNCTION_SIM_ESCAPE_WRITE: _bindgen_ty_2 = 36;
91 pub const NV_VGPU_MSG_FUNCTION_SIM_MANAGE_DISPLAY_CONTEXT_DMA: _bindgen_ty_2 = 37;
92 pub const NV_VGPU_MSG_FUNCTION_FREE_VIDMEM_VIRT: _bindgen_ty_2 = 38;
93 pub const NV_VGPU_MSG_FUNCTION_PERF_GET_PSTATE_INFO: _bindgen_ty_2 = 39;
94 pub const NV_VGPU_MSG_FUNCTION_PERF_GET_PERFMON_SAMPLE: _bindgen_ty_2 = 40;
95 pub const NV_VGPU_MSG_FUNCTION_PERF_GET_VIRTUAL_PSTATE_INFO: _bindgen_ty_2 = 41;
96 pub const NV_VGPU_MSG_FUNCTION_PERF_GET_LEVEL_INFO: _bindgen_ty_2 = 42;
97 pub const NV_VGPU_MSG_FUNCTION_MAP_SEMA_MEMORY: _bindgen_ty_2 = 43;
98 pub const NV_VGPU_MSG_FUNCTION_UNMAP_SEMA_MEMORY: _bindgen_ty_2 = 44;
99 pub const NV_VGPU_MSG_FUNCTION_SET_SURFACE_PROPERTIES: _bindgen_ty_2 = 45;
100 pub const NV_VGPU_MSG_FUNCTION_CLEANUP_SURFACE: _bindgen_ty_2 = 46;
101 pub const NV_VGPU_MSG_FUNCTION_UNLOADING_GUEST_DRIVER: _bindgen_ty_2 = 47;
102 pub const NV_VGPU_MSG_FUNCTION_TDR_SET_TIMEOUT_STATE: _bindgen_ty_2 = 48;
103 pub const NV_VGPU_MSG_FUNCTION_SWITCH_TO_VGA: _bindgen_ty_2 = 49;
104 pub const NV_VGPU_MSG_FUNCTION_GPU_EXEC_REG_OPS: _bindgen_ty_2 = 50;
105 pub const NV_VGPU_MSG_FUNCTION_GET_STATIC_INFO: _bindgen_ty_2 = 51;
106 pub const NV_VGPU_MSG_FUNCTION_ALLOC_VIRTMEM: _bindgen_ty_2 = 52;
107 pub const NV_VGPU_MSG_FUNCTION_UPDATE_PDE_2: _bindgen_ty_2 = 53;
108 pub const NV_VGPU_MSG_FUNCTION_SET_PAGE_DIRECTORY: _bindgen_ty_2 = 54;
109 pub const NV_VGPU_MSG_FUNCTION_GET_STATIC_PSTATE_INFO: _bindgen_ty_2 = 55;
110 pub const NV_VGPU_MSG_FUNCTION_TRANSLATE_GUEST_GPU_PTES: _bindgen_ty_2 = 56;
111 pub const NV_VGPU_MSG_FUNCTION_RESERVED_57: _bindgen_ty_2 = 57;
112 pub const NV_VGPU_MSG_FUNCTION_RESET_CURRENT_GR_CONTEXT: _bindgen_ty_2 = 58;
113 pub const NV_VGPU_MSG_FUNCTION_SET_SEMA_MEM_VALIDATION_STATE: _bindgen_ty_2 = 59;
114 pub const NV_VGPU_MSG_FUNCTION_GET_ENGINE_UTILIZATION: _bindgen_ty_2 = 60;
115 pub const NV_VGPU_MSG_FUNCTION_UPDATE_GPU_PDES: _bindgen_ty_2 = 61;
116 pub const NV_VGPU_MSG_FUNCTION_GET_ENCODER_CAPACITY: _bindgen_ty_2 = 62;
117 pub const NV_VGPU_MSG_FUNCTION_VGPU_PF_REG_READ32: _bindgen_ty_2 = 63;
118 pub const NV_VGPU_MSG_FUNCTION_SET_GUEST_SYSTEM_INFO_EXT: _bindgen_ty_2 = 64;
119 pub const NV_VGPU_MSG_FUNCTION_GET_GSP_STATIC_INFO: _bindgen_ty_2 = 65;
120 pub const NV_VGPU_MSG_FUNCTION_RMFS_INIT: _bindgen_ty_2 = 66;
121 pub const NV_VGPU_MSG_FUNCTION_RMFS_CLOSE_QUEUE: _bindgen_ty_2 = 67;
122 pub const NV_VGPU_MSG_FUNCTION_RMFS_CLEANUP: _bindgen_ty_2 = 68;
123 pub const NV_VGPU_MSG_FUNCTION_RMFS_TEST: _bindgen_ty_2 = 69;
124 pub const NV_VGPU_MSG_FUNCTION_UPDATE_BAR_PDE: _bindgen_ty_2 = 70;
125 pub const NV_VGPU_MSG_FUNCTION_CONTINUATION_RECORD: _bindgen_ty_2 = 71;
126 pub const NV_VGPU_MSG_FUNCTION_GSP_SET_SYSTEM_INFO: _bindgen_ty_2 = 72;
127 pub const NV_VGPU_MSG_FUNCTION_SET_REGISTRY: _bindgen_ty_2 = 73;
128 pub const NV_VGPU_MSG_FUNCTION_GSP_INIT_POST_OBJGPU: _bindgen_ty_2 = 74;
129 pub const NV_VGPU_MSG_FUNCTION_SUBDEV_EVENT_SET_NOTIFICATION: _bindgen_ty_2 = 75;
130 pub const NV_VGPU_MSG_FUNCTION_GSP_RM_CONTROL: _bindgen_ty_2 = 76;
131 pub const NV_VGPU_MSG_FUNCTION_GET_STATIC_INFO2: _bindgen_ty_2 = 77;
132 pub const NV_VGPU_MSG_FUNCTION_DUMP_PROTOBUF_COMPONENT: _bindgen_ty_2 = 78;
133 pub const NV_VGPU_MSG_FUNCTION_UNSET_PAGE_DIRECTORY: _bindgen_ty_2 = 79;
134 pub const NV_VGPU_MSG_FUNCTION_GET_CONSOLIDATED_STATIC_INFO: _bindgen_ty_2 = 80;
135 pub const NV_VGPU_MSG_FUNCTION_GMMU_REGISTER_FAULT_BUFFER: _bindgen_ty_2 = 81;
136 pub const NV_VGPU_MSG_FUNCTION_GMMU_UNREGISTER_FAULT_BUFFER: _bindgen_ty_2 = 82;
137 pub const NV_VGPU_MSG_FUNCTION_GMMU_REGISTER_CLIENT_SHADOW_FAULT_BUFFER: _bindgen_ty_2 = 83;
138 pub const NV_VGPU_MSG_FUNCTION_GMMU_UNREGISTER_CLIENT_SHADOW_FAULT_BUFFER: _bindgen_ty_2 = 84;
139 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_VGPU_FB_USAGE: _bindgen_ty_2 = 85;
140 pub const NV_VGPU_MSG_FUNCTION_CTRL_NVFBC_SW_SESSION_UPDATE_INFO: _bindgen_ty_2 = 86;
141 pub const NV_VGPU_MSG_FUNCTION_CTRL_NVENC_SW_SESSION_UPDATE_INFO: _bindgen_ty_2 = 87;
142 pub const NV_VGPU_MSG_FUNCTION_CTRL_RESET_CHANNEL: _bindgen_ty_2 = 88;
143 pub const NV_VGPU_MSG_FUNCTION_CTRL_RESET_ISOLATED_CHANNEL: _bindgen_ty_2 = 89;
144 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPU_HANDLE_VF_PRI_FAULT: _bindgen_ty_2 = 90;
145 pub const NV_VGPU_MSG_FUNCTION_CTRL_CLK_GET_EXTENDED_INFO: _bindgen_ty_2 = 91;
146 pub const NV_VGPU_MSG_FUNCTION_CTRL_PERF_BOOST: _bindgen_ty_2 = 92;
147 pub const NV_VGPU_MSG_FUNCTION_CTRL_PERF_VPSTATES_GET_CONTROL: _bindgen_ty_2 = 93;
148 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_ZBC_CLEAR_TABLE: _bindgen_ty_2 = 94;
149 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_ZBC_COLOR_CLEAR: _bindgen_ty_2 = 95;
150 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_ZBC_DEPTH_CLEAR: _bindgen_ty_2 = 96;
151 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPFIFO_SCHEDULE: _bindgen_ty_2 = 97;
152 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_TIMESLICE: _bindgen_ty_2 = 98;
153 pub const NV_VGPU_MSG_FUNCTION_CTRL_PREEMPT: _bindgen_ty_2 = 99;
154 pub const NV_VGPU_MSG_FUNCTION_CTRL_FIFO_DISABLE_CHANNELS: _bindgen_ty_2 = 100;
155 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_TSG_INTERLEAVE_LEVEL: _bindgen_ty_2 = 101;
156 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_CHANNEL_INTERLEAVE_LEVEL: _bindgen_ty_2 = 102;
157 pub const NV_VGPU_MSG_FUNCTION_GSP_RM_ALLOC: _bindgen_ty_2 = 103;
158 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_P2P_CAPS_V2: _bindgen_ty_2 = 104;
159 pub const NV_VGPU_MSG_FUNCTION_CTRL_CIPHER_AES_ENCRYPT: _bindgen_ty_2 = 105;
160 pub const NV_VGPU_MSG_FUNCTION_CTRL_CIPHER_SESSION_KEY: _bindgen_ty_2 = 106;
161 pub const NV_VGPU_MSG_FUNCTION_CTRL_CIPHER_SESSION_KEY_STATUS: _bindgen_ty_2 = 107;
162 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_CLEAR_ALL_SM_ERROR_STATES: _bindgen_ty_2 = 108;
163 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_READ_ALL_SM_ERROR_STATES: _bindgen_ty_2 = 109;
164 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_SET_EXCEPTION_MASK: _bindgen_ty_2 = 110;
165 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPU_PROMOTE_CTX: _bindgen_ty_2 = 111;
166 pub const NV_VGPU_MSG_FUNCTION_CTRL_GR_CTXSW_PREEMPTION_BIND: _bindgen_ty_2 = 112;
167 pub const NV_VGPU_MSG_FUNCTION_CTRL_GR_SET_CTXSW_PREEMPTION_MODE: _bindgen_ty_2 = 113;
168 pub const NV_VGPU_MSG_FUNCTION_CTRL_GR_CTXSW_ZCULL_BIND: _bindgen_ty_2 = 114;
169 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPU_INITIALIZE_CTX: _bindgen_ty_2 = 115;
170 pub const NV_VGPU_MSG_FUNCTION_CTRL_VASPACE_COPY_SERVER_RESERVED_PDES: _bindgen_ty_2 = 116;
171 pub const NV_VGPU_MSG_FUNCTION_CTRL_FIFO_CLEAR_FAULTED_BIT: _bindgen_ty_2 = 117;
172 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_LATEST_ECC_ADDRESSES: _bindgen_ty_2 = 118;
173 pub const NV_VGPU_MSG_FUNCTION_CTRL_MC_SERVICE_INTERRUPTS: _bindgen_ty_2 = 119;
174 pub const NV_VGPU_MSG_FUNCTION_CTRL_DMA_SET_DEFAULT_VASPACE: _bindgen_ty_2 = 120;
175 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_CE_PCE_MASK: _bindgen_ty_2 = 121;
176 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_ZBC_CLEAR_TABLE_ENTRY: _bindgen_ty_2 = 122;
177 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_NVLINK_PEER_ID_MASK: _bindgen_ty_2 = 123;
178 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_NVLINK_STATUS: _bindgen_ty_2 = 124;
179 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_P2P_CAPS: _bindgen_ty_2 = 125;
180 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_P2P_CAPS_MATRIX: _bindgen_ty_2 = 126;
181 pub const NV_VGPU_MSG_FUNCTION_RESERVED_0: _bindgen_ty_2 = 127;
182 pub const NV_VGPU_MSG_FUNCTION_CTRL_RESERVE_PM_AREA_SMPC: _bindgen_ty_2 = 128;
183 pub const NV_VGPU_MSG_FUNCTION_CTRL_RESERVE_HWPM_LEGACY: _bindgen_ty_2 = 129;
184 pub const NV_VGPU_MSG_FUNCTION_CTRL_B0CC_EXEC_REG_OPS: _bindgen_ty_2 = 130;
185 pub const NV_VGPU_MSG_FUNCTION_CTRL_BIND_PM_RESOURCES: _bindgen_ty_2 = 131;
186 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_SUSPEND_CONTEXT: _bindgen_ty_2 = 132;
187 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_RESUME_CONTEXT: _bindgen_ty_2 = 133;
188 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_EXEC_REG_OPS: _bindgen_ty_2 = 134;
189 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_SET_MODE_MMU_DEBUG: _bindgen_ty_2 = 135;
190 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_READ_SINGLE_SM_ERROR_STATE: _bindgen_ty_2 = 136;
191 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_CLEAR_SINGLE_SM_ERROR_STATE: _bindgen_ty_2 = 137;
192 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_SET_MODE_ERRBAR_DEBUG: _bindgen_ty_2 = 138;
193 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_SET_NEXT_STOP_TRIGGER_TYPE: _bindgen_ty_2 = 139;
194 pub const NV_VGPU_MSG_FUNCTION_CTRL_ALLOC_PMA_STREAM: _bindgen_ty_2 = 140;
195 pub const NV_VGPU_MSG_FUNCTION_CTRL_PMA_STREAM_UPDATE_GET_PUT: _bindgen_ty_2 = 141;
196 pub const NV_VGPU_MSG_FUNCTION_CTRL_FB_GET_INFO_V2: _bindgen_ty_2 = 142;
197 pub const NV_VGPU_MSG_FUNCTION_CTRL_FIFO_SET_CHANNEL_PROPERTIES: _bindgen_ty_2 = 143;
198 pub const NV_VGPU_MSG_FUNCTION_CTRL_GR_GET_CTX_BUFFER_INFO: _bindgen_ty_2 = 144;
199 pub const NV_VGPU_MSG_FUNCTION_CTRL_KGR_GET_CTX_BUFFER_PTES: _bindgen_ty_2 = 145;
200 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPU_EVICT_CTX: _bindgen_ty_2 = 146;
201 pub const NV_VGPU_MSG_FUNCTION_CTRL_FB_GET_FS_INFO: _bindgen_ty_2 = 147;
202 pub const NV_VGPU_MSG_FUNCTION_CTRL_GRMGR_GET_GR_FS_INFO: _bindgen_ty_2 = 148;
203 pub const NV_VGPU_MSG_FUNCTION_CTRL_STOP_CHANNEL: _bindgen_ty_2 = 149;
204 pub const NV_VGPU_MSG_FUNCTION_CTRL_GR_PC_SAMPLING_MODE: _bindgen_ty_2 = 150;
205 pub const NV_VGPU_MSG_FUNCTION_CTRL_PERF_RATED_TDP_GET_STATUS: _bindgen_ty_2 = 151;
206 pub const NV_VGPU_MSG_FUNCTION_CTRL_PERF_RATED_TDP_SET_CONTROL: _bindgen_ty_2 = 152;
207 pub const NV_VGPU_MSG_FUNCTION_CTRL_FREE_PMA_STREAM: _bindgen_ty_2 = 153;
208 pub const NV_VGPU_MSG_FUNCTION_CTRL_TIMER_SET_GR_TICK_FREQ: _bindgen_ty_2 = 154;
209 pub const NV_VGPU_MSG_FUNCTION_CTRL_FIFO_SETUP_VF_ZOMBIE_SUBCTX_PDB: _bindgen_ty_2 = 155;
210 pub const NV_VGPU_MSG_FUNCTION_GET_CONSOLIDATED_GR_STATIC_INFO: _bindgen_ty_2 = 156;
211 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_SET_SINGLE_SM_SINGLE_STEP: _bindgen_ty_2 = 157;
212 pub const NV_VGPU_MSG_FUNCTION_CTRL_GR_GET_TPC_PARTITION_MODE: _bindgen_ty_2 = 158;
213 pub const NV_VGPU_MSG_FUNCTION_CTRL_GR_SET_TPC_PARTITION_MODE: _bindgen_ty_2 = 159;
214 pub const NV_VGPU_MSG_FUNCTION_UVM_PAGING_CHANNEL_ALLOCATE: _bindgen_ty_2 = 160;
215 pub const NV_VGPU_MSG_FUNCTION_UVM_PAGING_CHANNEL_DESTROY: _bindgen_ty_2 = 161;
216 pub const NV_VGPU_MSG_FUNCTION_UVM_PAGING_CHANNEL_MAP: _bindgen_ty_2 = 162;
217 pub const NV_VGPU_MSG_FUNCTION_UVM_PAGING_CHANNEL_UNMAP: _bindgen_ty_2 = 163;
218 pub const NV_VGPU_MSG_FUNCTION_UVM_PAGING_CHANNEL_PUSH_STREAM: _bindgen_ty_2 = 164;
219 pub const NV_VGPU_MSG_FUNCTION_UVM_PAGING_CHANNEL_SET_HANDLES: _bindgen_ty_2 = 165;
220 pub const NV_VGPU_MSG_FUNCTION_UVM_METHOD_STREAM_GUEST_PAGES_OPERATION: _bindgen_ty_2 = 166;
221 pub const NV_VGPU_MSG_FUNCTION_CTRL_INTERNAL_QUIESCE_PMA_CHANNEL: _bindgen_ty_2 = 167;
222 pub const NV_VGPU_MSG_FUNCTION_DCE_RM_INIT: _bindgen_ty_2 = 168;
223 pub const NV_VGPU_MSG_FUNCTION_REGISTER_VIRTUAL_EVENT_BUFFER: _bindgen_ty_2 = 169;
224 pub const NV_VGPU_MSG_FUNCTION_CTRL_EVENT_BUFFER_UPDATE_GET: _bindgen_ty_2 = 170;
225 pub const NV_VGPU_MSG_FUNCTION_GET_PLCABLE_ADDRESS_KIND: _bindgen_ty_2 = 171;
226 pub const NV_VGPU_MSG_FUNCTION_CTRL_PERF_LIMITS_SET_STATUS_V2: _bindgen_ty_2 = 172;
227 pub const NV_VGPU_MSG_FUNCTION_CTRL_INTERNAL_SRIOV_PROMOTE_PMA_STREAM: _bindgen_ty_2 = 173;
228 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_MMU_DEBUG_MODE: _bindgen_ty_2 = 174;
229 pub const NV_VGPU_MSG_FUNCTION_CTRL_INTERNAL_PROMOTE_FAULT_METHOD_BUFFERS: _bindgen_ty_2 = 175;
230 pub const NV_VGPU_MSG_FUNCTION_CTRL_FLCN_GET_CTX_BUFFER_SIZE: _bindgen_ty_2 = 176;
231 pub const NV_VGPU_MSG_FUNCTION_CTRL_FLCN_GET_CTX_BUFFER_INFO: _bindgen_ty_2 = 177;
232 pub const NV_VGPU_MSG_FUNCTION_DISABLE_CHANNELS: _bindgen_ty_2 = 178;
233 pub const NV_VGPU_MSG_FUNCTION_CTRL_FABRIC_MEMORY_DESCRIBE: _bindgen_ty_2 = 179;
234 pub const NV_VGPU_MSG_FUNCTION_CTRL_FABRIC_MEM_STATS: _bindgen_ty_2 = 180;
235 pub const NV_VGPU_MSG_FUNCTION_SAVE_HIBERNATION_DATA: _bindgen_ty_2 = 181;
236 pub const NV_VGPU_MSG_FUNCTION_RESTORE_HIBERNATION_DATA: _bindgen_ty_2 = 182;
237 pub const NV_VGPU_MSG_FUNCTION_CTRL_INTERNAL_MEMSYS_SET_ZBC_REFERENCED: _bindgen_ty_2 = 183;
238 pub const NV_VGPU_MSG_FUNCTION_CTRL_EXEC_PARTITIONS_CREATE: _bindgen_ty_2 = 184;
239 pub const NV_VGPU_MSG_FUNCTION_CTRL_EXEC_PARTITIONS_DELETE: _bindgen_ty_2 = 185;
240 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPFIFO_GET_WORK_SUBMIT_TOKEN: _bindgen_ty_2 = 186;
241 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPFIFO_SET_WORK_SUBMIT_TOKEN_NOTIF_INDEX: _bindgen_ty_2 = 187;
242 pub const NV_VGPU_MSG_FUNCTION_PMA_SCRUBBER_SHARED_BUFFER_GUEST_PAGES_OPERATION: _bindgen_ty_2 =
243     188;
244 pub const NV_VGPU_MSG_FUNCTION_CTRL_MASTER_GET_VIRTUAL_FUNCTION_ERROR_CONT_INTR_MASK:
245     _bindgen_ty_2 = 189;
246 pub const NV_VGPU_MSG_FUNCTION_SET_SYSMEM_DIRTY_PAGE_TRACKING_BUFFER: _bindgen_ty_2 = 190;
247 pub const NV_VGPU_MSG_FUNCTION_CTRL_SUBDEVICE_GET_P2P_CAPS: _bindgen_ty_2 = 191;
248 pub const NV_VGPU_MSG_FUNCTION_CTRL_BUS_SET_P2P_MAPPING: _bindgen_ty_2 = 192;
249 pub const NV_VGPU_MSG_FUNCTION_CTRL_BUS_UNSET_P2P_MAPPING: _bindgen_ty_2 = 193;
250 pub const NV_VGPU_MSG_FUNCTION_CTRL_FLA_SETUP_INSTANCE_MEM_BLOCK: _bindgen_ty_2 = 194;
251 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPU_MIGRATABLE_OPS: _bindgen_ty_2 = 195;
252 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_TOTAL_HS_CREDITS: _bindgen_ty_2 = 196;
253 pub const NV_VGPU_MSG_FUNCTION_CTRL_GET_HS_CREDITS: _bindgen_ty_2 = 197;
254 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_HS_CREDITS: _bindgen_ty_2 = 198;
255 pub const NV_VGPU_MSG_FUNCTION_CTRL_PM_AREA_PC_SAMPLER: _bindgen_ty_2 = 199;
256 pub const NV_VGPU_MSG_FUNCTION_INVALIDATE_TLB: _bindgen_ty_2 = 200;
257 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPU_QUERY_ECC_STATUS: _bindgen_ty_2 = 201;
258 pub const NV_VGPU_MSG_FUNCTION_ECC_NOTIFIER_WRITE_ACK: _bindgen_ty_2 = 202;
259 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_GET_MODE_MMU_DEBUG: _bindgen_ty_2 = 203;
260 pub const NV_VGPU_MSG_FUNCTION_RM_API_CONTROL: _bindgen_ty_2 = 204;
261 pub const NV_VGPU_MSG_FUNCTION_CTRL_CMD_INTERNAL_GPU_START_FABRIC_PROBE: _bindgen_ty_2 = 205;
262 pub const NV_VGPU_MSG_FUNCTION_CTRL_NVLINK_GET_INBAND_RECEIVED_DATA: _bindgen_ty_2 = 206;
263 pub const NV_VGPU_MSG_FUNCTION_GET_STATIC_DATA: _bindgen_ty_2 = 207;
264 pub const NV_VGPU_MSG_FUNCTION_RESERVED_208: _bindgen_ty_2 = 208;
265 pub const NV_VGPU_MSG_FUNCTION_CTRL_GPU_GET_INFO_V2: _bindgen_ty_2 = 209;
266 pub const NV_VGPU_MSG_FUNCTION_GET_BRAND_CAPS: _bindgen_ty_2 = 210;
267 pub const NV_VGPU_MSG_FUNCTION_CTRL_CMD_NVLINK_INBAND_SEND_DATA: _bindgen_ty_2 = 211;
268 pub const NV_VGPU_MSG_FUNCTION_UPDATE_GPM_GUEST_BUFFER_INFO: _bindgen_ty_2 = 212;
269 pub const NV_VGPU_MSG_FUNCTION_CTRL_CMD_INTERNAL_CONTROL_GSP_TRACE: _bindgen_ty_2 = 213;
270 pub const NV_VGPU_MSG_FUNCTION_CTRL_SET_ZBC_STENCIL_CLEAR: _bindgen_ty_2 = 214;
271 pub const NV_VGPU_MSG_FUNCTION_CTRL_SUBDEVICE_GET_VGPU_HEAP_STATS: _bindgen_ty_2 = 215;
272 pub const NV_VGPU_MSG_FUNCTION_CTRL_SUBDEVICE_GET_LIBOS_HEAP_STATS: _bindgen_ty_2 = 216;
273 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_SET_MODE_MMU_GCC_DEBUG: _bindgen_ty_2 = 217;
274 pub const NV_VGPU_MSG_FUNCTION_CTRL_DBG_GET_MODE_MMU_GCC_DEBUG: _bindgen_ty_2 = 218;
275 pub const NV_VGPU_MSG_FUNCTION_CTRL_RESERVE_HES: _bindgen_ty_2 = 219;
276 pub const NV_VGPU_MSG_FUNCTION_CTRL_RELEASE_HES: _bindgen_ty_2 = 220;
277 pub const NV_VGPU_MSG_FUNCTION_CTRL_RESERVE_CCU_PROF: _bindgen_ty_2 = 221;
278 pub const NV_VGPU_MSG_FUNCTION_CTRL_RELEASE_CCU_PROF: _bindgen_ty_2 = 222;
279 pub const NV_VGPU_MSG_FUNCTION_RESERVED: _bindgen_ty_2 = 223;
280 pub const NV_VGPU_MSG_FUNCTION_CTRL_CMD_GET_CHIPLET_HS_CREDIT_POOL: _bindgen_ty_2 = 224;
281 pub const NV_VGPU_MSG_FUNCTION_CTRL_CMD_GET_HS_CREDITS_MAPPING: _bindgen_ty_2 = 225;
282 pub const NV_VGPU_MSG_FUNCTION_CTRL_EXEC_PARTITIONS_EXPORT: _bindgen_ty_2 = 226;
283 pub const NV_VGPU_MSG_FUNCTION_NUM_FUNCTIONS: _bindgen_ty_2 = 227;
284 pub type _bindgen_ty_2 = ffi::c_uint;
285 pub const NV_VGPU_MSG_EVENT_FIRST_EVENT: _bindgen_ty_3 = 4096;
286 pub const NV_VGPU_MSG_EVENT_GSP_INIT_DONE: _bindgen_ty_3 = 4097;
287 pub const NV_VGPU_MSG_EVENT_GSP_RUN_CPU_SEQUENCER: _bindgen_ty_3 = 4098;
288 pub const NV_VGPU_MSG_EVENT_POST_EVENT: _bindgen_ty_3 = 4099;
289 pub const NV_VGPU_MSG_EVENT_RC_TRIGGERED: _bindgen_ty_3 = 4100;
290 pub const NV_VGPU_MSG_EVENT_MMU_FAULT_QUEUED: _bindgen_ty_3 = 4101;
291 pub const NV_VGPU_MSG_EVENT_OS_ERROR_LOG: _bindgen_ty_3 = 4102;
292 pub const NV_VGPU_MSG_EVENT_RG_LINE_INTR: _bindgen_ty_3 = 4103;
293 pub const NV_VGPU_MSG_EVENT_GPUACCT_PERFMON_UTIL_SAMPLES: _bindgen_ty_3 = 4104;
294 pub const NV_VGPU_MSG_EVENT_SIM_READ: _bindgen_ty_3 = 4105;
295 pub const NV_VGPU_MSG_EVENT_SIM_WRITE: _bindgen_ty_3 = 4106;
296 pub const NV_VGPU_MSG_EVENT_SEMAPHORE_SCHEDULE_CALLBACK: _bindgen_ty_3 = 4107;
297 pub const NV_VGPU_MSG_EVENT_UCODE_LIBOS_PRINT: _bindgen_ty_3 = 4108;
298 pub const NV_VGPU_MSG_EVENT_VGPU_GSP_PLUGIN_TRIGGERED: _bindgen_ty_3 = 4109;
299 pub const NV_VGPU_MSG_EVENT_PERF_GPU_BOOST_SYNC_LIMITS_CALLBACK: _bindgen_ty_3 = 4110;
300 pub const NV_VGPU_MSG_EVENT_PERF_BRIDGELESS_INFO_UPDATE: _bindgen_ty_3 = 4111;
301 pub const NV_VGPU_MSG_EVENT_VGPU_CONFIG: _bindgen_ty_3 = 4112;
302 pub const NV_VGPU_MSG_EVENT_DISPLAY_MODESET: _bindgen_ty_3 = 4113;
303 pub const NV_VGPU_MSG_EVENT_EXTDEV_INTR_SERVICE: _bindgen_ty_3 = 4114;
304 pub const NV_VGPU_MSG_EVENT_NVLINK_INBAND_RECEIVED_DATA_256: _bindgen_ty_3 = 4115;
305 pub const NV_VGPU_MSG_EVENT_NVLINK_INBAND_RECEIVED_DATA_512: _bindgen_ty_3 = 4116;
306 pub const NV_VGPU_MSG_EVENT_NVLINK_INBAND_RECEIVED_DATA_1024: _bindgen_ty_3 = 4117;
307 pub const NV_VGPU_MSG_EVENT_NVLINK_INBAND_RECEIVED_DATA_2048: _bindgen_ty_3 = 4118;
308 pub const NV_VGPU_MSG_EVENT_NVLINK_INBAND_RECEIVED_DATA_4096: _bindgen_ty_3 = 4119;
309 pub const NV_VGPU_MSG_EVENT_TIMED_SEMAPHORE_RELEASE: _bindgen_ty_3 = 4120;
310 pub const NV_VGPU_MSG_EVENT_NVLINK_IS_GPU_DEGRADED: _bindgen_ty_3 = 4121;
311 pub const NV_VGPU_MSG_EVENT_PFM_REQ_HNDLR_STATE_SYNC_CALLBACK: _bindgen_ty_3 = 4122;
312 pub const NV_VGPU_MSG_EVENT_NVLINK_FAULT_UP: _bindgen_ty_3 = 4123;
313 pub const NV_VGPU_MSG_EVENT_GSP_LOCKDOWN_NOTICE: _bindgen_ty_3 = 4124;
314 pub const NV_VGPU_MSG_EVENT_MIG_CI_CONFIG_UPDATE: _bindgen_ty_3 = 4125;
315 pub const NV_VGPU_MSG_EVENT_UPDATE_GSP_TRACE: _bindgen_ty_3 = 4126;
316 pub const NV_VGPU_MSG_EVENT_NVLINK_FATAL_ERROR_RECOVERY: _bindgen_ty_3 = 4127;
317 pub const NV_VGPU_MSG_EVENT_GSP_POST_NOCAT_RECORD: _bindgen_ty_3 = 4128;
318 pub const NV_VGPU_MSG_EVENT_FECS_ERROR: _bindgen_ty_3 = 4129;
319 pub const NV_VGPU_MSG_EVENT_RECOVERY_ACTION: _bindgen_ty_3 = 4130;
320 pub const NV_VGPU_MSG_EVENT_NUM_EVENTS: _bindgen_ty_3 = 4131;
321 pub type _bindgen_ty_3 = ffi::c_uint;
322 #[repr(C)]
323 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
324 pub struct NV0080_CTRL_GPU_GET_SRIOV_CAPS_PARAMS {
325     pub totalVFs: u32_,
326     pub firstVfOffset: u32_,
327     pub vfFeatureMask: u32_,
328     pub __bindgen_padding_0: [u8; 4usize],
329     pub FirstVFBar0Address: u64_,
330     pub FirstVFBar1Address: u64_,
331     pub FirstVFBar2Address: u64_,
332     pub bar0Size: u64_,
333     pub bar1Size: u64_,
334     pub bar2Size: u64_,
335     pub b64bitBar0: u8_,
336     pub b64bitBar1: u8_,
337     pub b64bitBar2: u8_,
338     pub bSriovEnabled: u8_,
339     pub bSriovHeavyEnabled: u8_,
340     pub bEmulateVFBar0TlbInvalidationRegister: u8_,
341     pub bClientRmAllocatedCtxBuffer: u8_,
342     pub bNonPowerOf2ChannelCountSupported: u8_,
343     pub bVfResizableBAR1Supported: u8_,
344     pub __bindgen_padding_1: [u8; 7usize],
345 }
346 #[repr(C)]
347 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
348 pub struct NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS {
349     pub BoardID: u32_,
350     pub chipSKU: [ffi::c_char; 9usize],
351     pub chipSKUMod: [ffi::c_char; 5usize],
352     pub __bindgen_padding_0: [u8; 2usize],
353     pub skuConfigVersion: u32_,
354     pub project: [ffi::c_char; 5usize],
355     pub projectSKU: [ffi::c_char; 5usize],
356     pub CDP: [ffi::c_char; 6usize],
357     pub projectSKUMod: [ffi::c_char; 2usize],
358     pub __bindgen_padding_1: [u8; 2usize],
359     pub businessCycle: u32_,
360 }
361 pub type NV2080_CTRL_CMD_FB_GET_FB_REGION_SURFACE_MEM_TYPE_FLAG = [u8_; 17usize];
362 #[repr(C)]
363 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
364 pub struct NV2080_CTRL_CMD_FB_GET_FB_REGION_FB_REGION_INFO {
365     pub base: u64_,
366     pub limit: u64_,
367     pub reserved: u64_,
368     pub performance: u32_,
369     pub supportCompressed: u8_,
370     pub supportISO: u8_,
371     pub bProtected: u8_,
372     pub blackList: NV2080_CTRL_CMD_FB_GET_FB_REGION_SURFACE_MEM_TYPE_FLAG,
373 }
374 #[repr(C)]
375 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
376 pub struct NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS {
377     pub numFBRegions: u32_,
378     pub __bindgen_padding_0: [u8; 4usize],
379     pub fbRegion: [NV2080_CTRL_CMD_FB_GET_FB_REGION_FB_REGION_INFO; 16usize],
380 }
381 #[repr(C)]
382 #[derive(Debug, Copy, Clone, MaybeZeroable)]
383 pub struct NV2080_CTRL_GPU_GET_GID_INFO_PARAMS {
384     pub index: u32_,
385     pub flags: u32_,
386     pub length: u32_,
387     pub data: [u8_; 256usize],
388 }
389 impl Default for NV2080_CTRL_GPU_GET_GID_INFO_PARAMS {
default() -> Self390     fn default() -> Self {
391         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
392         unsafe {
393             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
394             s.assume_init()
395         }
396     }
397 }
398 #[repr(C)]
399 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
400 pub struct DOD_METHOD_DATA {
401     pub status: u32_,
402     pub acpiIdListLen: u32_,
403     pub acpiIdList: [u32_; 16usize],
404 }
405 #[repr(C)]
406 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
407 pub struct JT_METHOD_DATA {
408     pub status: u32_,
409     pub jtCaps: u32_,
410     pub jtRevId: u16_,
411     pub bSBIOSCaps: u8_,
412     pub __bindgen_padding_0: u8,
413 }
414 #[repr(C)]
415 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
416 pub struct MUX_METHOD_DATA_ELEMENT {
417     pub acpiId: u32_,
418     pub mode: u32_,
419     pub status: u32_,
420 }
421 #[repr(C)]
422 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
423 pub struct MUX_METHOD_DATA {
424     pub tableLen: u32_,
425     pub acpiIdMuxModeTable: [MUX_METHOD_DATA_ELEMENT; 16usize],
426     pub acpiIdMuxPartTable: [MUX_METHOD_DATA_ELEMENT; 16usize],
427     pub acpiIdMuxStateTable: [MUX_METHOD_DATA_ELEMENT; 16usize],
428 }
429 #[repr(C)]
430 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
431 pub struct CAPS_METHOD_DATA {
432     pub status: u32_,
433     pub optimusCaps: u32_,
434 }
435 #[repr(C)]
436 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
437 pub struct ACPI_METHOD_DATA {
438     pub bValid: u8_,
439     pub __bindgen_padding_0: [u8; 3usize],
440     pub dodMethodData: DOD_METHOD_DATA,
441     pub jtMethodData: JT_METHOD_DATA,
442     pub muxMethodData: MUX_METHOD_DATA,
443     pub capsMethodData: CAPS_METHOD_DATA,
444 }
445 #[repr(C)]
446 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
447 pub struct VIRTUAL_DISPLAY_GET_MAX_RESOLUTION_PARAMS {
448     pub headIndex: u32_,
449     pub maxHResolution: u32_,
450     pub maxVResolution: u32_,
451 }
452 #[repr(C)]
453 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
454 pub struct VIRTUAL_DISPLAY_GET_NUM_HEADS_PARAMS {
455     pub numHeads: u32_,
456     pub maxNumHeads: u32_,
457 }
458 #[repr(C)]
459 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
460 pub struct BUSINFO {
461     pub deviceID: u16_,
462     pub vendorID: u16_,
463     pub subdeviceID: u16_,
464     pub subvendorID: u16_,
465     pub revisionID: u8_,
466     pub __bindgen_padding_0: u8,
467 }
468 #[repr(C)]
469 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
470 pub struct GSP_VF_INFO {
471     pub totalVFs: u32_,
472     pub firstVFOffset: u32_,
473     pub FirstVFBar0Address: u64_,
474     pub FirstVFBar1Address: u64_,
475     pub FirstVFBar2Address: u64_,
476     pub b64bitBar0: u8_,
477     pub b64bitBar1: u8_,
478     pub b64bitBar2: u8_,
479     pub __bindgen_padding_0: [u8; 5usize],
480 }
481 #[repr(C)]
482 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
483 pub struct GSP_PCIE_CONFIG_REG {
484     pub linkCap: u32_,
485 }
486 #[repr(C)]
487 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
488 pub struct EcidManufacturingInfo {
489     pub ecidLow: u32_,
490     pub ecidHigh: u32_,
491     pub ecidExtended: u32_,
492 }
493 #[repr(C)]
494 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
495 pub struct FW_WPR_LAYOUT_OFFSET {
496     pub nonWprHeapOffset: u64_,
497     pub frtsOffset: u64_,
498 }
499 #[repr(C)]
500 #[derive(Debug, Copy, Clone, MaybeZeroable)]
501 pub struct GspStaticConfigInfo_t {
502     pub grCapsBits: [u8_; 23usize],
503     pub __bindgen_padding_0: u8,
504     pub gidInfo: NV2080_CTRL_GPU_GET_GID_INFO_PARAMS,
505     pub SKUInfo: NV2080_CTRL_BIOS_GET_SKU_INFO_PARAMS,
506     pub __bindgen_padding_1: [u8; 4usize],
507     pub fbRegionInfoParams: NV2080_CTRL_CMD_FB_GET_FB_REGION_INFO_PARAMS,
508     pub sriovCaps: NV0080_CTRL_GPU_GET_SRIOV_CAPS_PARAMS,
509     pub sriovMaxGfid: u32_,
510     pub engineCaps: [u32_; 3usize],
511     pub poisonFuseEnabled: u8_,
512     pub __bindgen_padding_2: [u8; 7usize],
513     pub fb_length: u64_,
514     pub fbio_mask: u64_,
515     pub fb_bus_width: u32_,
516     pub fb_ram_type: u32_,
517     pub fbp_mask: u64_,
518     pub l2_cache_size: u32_,
519     pub gpuNameString: [u8_; 64usize],
520     pub gpuShortNameString: [u8_; 64usize],
521     pub gpuNameString_Unicode: [u16_; 64usize],
522     pub bGpuInternalSku: u8_,
523     pub bIsQuadroGeneric: u8_,
524     pub bIsQuadroAd: u8_,
525     pub bIsNvidiaNvs: u8_,
526     pub bIsVgx: u8_,
527     pub bGeforceSmb: u8_,
528     pub bIsTitan: u8_,
529     pub bIsTesla: u8_,
530     pub bIsMobile: u8_,
531     pub bIsGc6Rtd3Allowed: u8_,
532     pub bIsGc8Rtd3Allowed: u8_,
533     pub bIsGcOffRtd3Allowed: u8_,
534     pub bIsGcoffLegacyAllowed: u8_,
535     pub bIsMigSupported: u8_,
536     pub RTD3GC6TotalBoardPower: u16_,
537     pub RTD3GC6PerstDelay: u16_,
538     pub __bindgen_padding_3: [u8; 2usize],
539     pub bar1PdeBase: u64_,
540     pub bar2PdeBase: u64_,
541     pub bVbiosValid: u8_,
542     pub __bindgen_padding_4: [u8; 3usize],
543     pub vbiosSubVendor: u32_,
544     pub vbiosSubDevice: u32_,
545     pub bPageRetirementSupported: u8_,
546     pub bSplitVasBetweenServerClientRm: u8_,
547     pub bClRootportNeedsNosnoopWAR: u8_,
548     pub __bindgen_padding_5: u8,
549     pub displaylessMaxHeads: VIRTUAL_DISPLAY_GET_NUM_HEADS_PARAMS,
550     pub displaylessMaxResolution: VIRTUAL_DISPLAY_GET_MAX_RESOLUTION_PARAMS,
551     pub __bindgen_padding_6: [u8; 4usize],
552     pub displaylessMaxPixels: u64_,
553     pub hInternalClient: u32_,
554     pub hInternalDevice: u32_,
555     pub hInternalSubdevice: u32_,
556     pub bSelfHostedMode: u8_,
557     pub bAtsSupported: u8_,
558     pub bIsGpuUefi: u8_,
559     pub bIsEfiInit: u8_,
560     pub ecidInfo: [EcidManufacturingInfo; 2usize],
561     pub fwWprLayoutOffset: FW_WPR_LAYOUT_OFFSET,
562 }
563 impl Default for GspStaticConfigInfo_t {
default() -> Self564     fn default() -> Self {
565         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
566         unsafe {
567             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
568             s.assume_init()
569         }
570     }
571 }
572 #[repr(C)]
573 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
574 pub struct GspSystemInfo {
575     pub gpuPhysAddr: u64_,
576     pub gpuPhysFbAddr: u64_,
577     pub gpuPhysInstAddr: u64_,
578     pub gpuPhysIoAddr: u64_,
579     pub nvDomainBusDeviceFunc: u64_,
580     pub simAccessBufPhysAddr: u64_,
581     pub notifyOpSharedSurfacePhysAddr: u64_,
582     pub pcieAtomicsOpMask: u64_,
583     pub consoleMemSize: u64_,
584     pub maxUserVa: u64_,
585     pub pciConfigMirrorBase: u32_,
586     pub pciConfigMirrorSize: u32_,
587     pub PCIDeviceID: u32_,
588     pub PCISubDeviceID: u32_,
589     pub PCIRevisionID: u32_,
590     pub pcieAtomicsCplDeviceCapMask: u32_,
591     pub oorArch: u8_,
592     pub __bindgen_padding_0: [u8; 7usize],
593     pub clPdbProperties: u64_,
594     pub Chipset: u32_,
595     pub bGpuBehindBridge: u8_,
596     pub bFlrSupported: u8_,
597     pub b64bBar0Supported: u8_,
598     pub bMnocAvailable: u8_,
599     pub chipsetL1ssEnable: u32_,
600     pub bUpstreamL0sUnsupported: u8_,
601     pub bUpstreamL1Unsupported: u8_,
602     pub bUpstreamL1PorSupported: u8_,
603     pub bUpstreamL1PorMobileOnly: u8_,
604     pub bSystemHasMux: u8_,
605     pub upstreamAddressValid: u8_,
606     pub FHBBusInfo: BUSINFO,
607     pub chipsetIDInfo: BUSINFO,
608     pub __bindgen_padding_1: [u8; 2usize],
609     pub acpiMethodData: ACPI_METHOD_DATA,
610     pub hypervisorType: u32_,
611     pub bIsPassthru: u8_,
612     pub __bindgen_padding_2: [u8; 7usize],
613     pub sysTimerOffsetNs: u64_,
614     pub gspVFInfo: GSP_VF_INFO,
615     pub bIsPrimary: u8_,
616     pub isGridBuild: u8_,
617     pub __bindgen_padding_3: [u8; 2usize],
618     pub pcieConfigReg: GSP_PCIE_CONFIG_REG,
619     pub gridBuildCsp: u32_,
620     pub bPreserveVideoMemoryAllocations: u8_,
621     pub bTdrEventSupported: u8_,
622     pub bFeatureStretchVblankCapable: u8_,
623     pub bEnableDynamicGranularityPageArrays: u8_,
624     pub bClockBoostSupported: u8_,
625     pub bRouteDispIntrsToCPU: u8_,
626     pub __bindgen_padding_4: [u8; 6usize],
627     pub hostPageSize: u64_,
628 }
629 #[repr(C)]
630 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
631 pub struct MESSAGE_QUEUE_INIT_ARGUMENTS {
632     pub sharedMemPhysAddr: u64_,
633     pub pageTableEntryCount: u32_,
634     pub __bindgen_padding_0: [u8; 4usize],
635     pub cmdQueueOffset: u64_,
636     pub statQueueOffset: u64_,
637 }
638 #[repr(C)]
639 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
640 pub struct GSP_SR_INIT_ARGUMENTS {
641     pub oldLevel: u32_,
642     pub flags: u32_,
643     pub bInPMTransition: u8_,
644     pub __bindgen_padding_0: [u8; 3usize],
645 }
646 #[repr(C)]
647 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
648 pub struct GSP_ARGUMENTS_CACHED {
649     pub messageQueueInitArguments: MESSAGE_QUEUE_INIT_ARGUMENTS,
650     pub srInitArguments: GSP_SR_INIT_ARGUMENTS,
651     pub gpuInstance: u32_,
652     pub bDmemStack: u8_,
653     pub __bindgen_padding_0: [u8; 7usize],
654     pub profilerArgs: GSP_ARGUMENTS_CACHED__bindgen_ty_1,
655 }
656 #[repr(C)]
657 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
658 pub struct GSP_ARGUMENTS_CACHED__bindgen_ty_1 {
659     pub pa: u64_,
660     pub size: u64_,
661 }
662 #[repr(C)]
663 #[derive(Copy, Clone, MaybeZeroable)]
664 pub union rpc_message_rpc_union_field_v03_00 {
665     pub spare: u32_,
666     pub cpuRmGfid: u32_,
667 }
668 impl Default for rpc_message_rpc_union_field_v03_00 {
default() -> Self669     fn default() -> Self {
670         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
671         unsafe {
672             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
673             s.assume_init()
674         }
675     }
676 }
677 pub type rpc_message_rpc_union_field_v = rpc_message_rpc_union_field_v03_00;
678 #[repr(C)]
679 #[derive(MaybeZeroable)]
680 pub struct rpc_message_header_v03_00 {
681     pub header_version: u32_,
682     pub signature: u32_,
683     pub length: u32_,
684     pub function: u32_,
685     pub rpc_result: u32_,
686     pub rpc_result_private: u32_,
687     pub sequence: u32_,
688     pub u: rpc_message_rpc_union_field_v,
689     pub rpc_message_data: __IncompleteArrayField<u8_>,
690 }
691 impl Default for rpc_message_header_v03_00 {
default() -> Self692     fn default() -> Self {
693         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
694         unsafe {
695             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
696             s.assume_init()
697         }
698     }
699 }
700 pub type rpc_message_header_v = rpc_message_header_v03_00;
701 #[repr(C)]
702 #[derive(Copy, Clone, MaybeZeroable)]
703 pub struct GspFwWprMeta {
704     pub magic: u64_,
705     pub revision: u64_,
706     pub sysmemAddrOfRadix3Elf: u64_,
707     pub sizeOfRadix3Elf: u64_,
708     pub sysmemAddrOfBootloader: u64_,
709     pub sizeOfBootloader: u64_,
710     pub bootloaderCodeOffset: u64_,
711     pub bootloaderDataOffset: u64_,
712     pub bootloaderManifestOffset: u64_,
713     pub __bindgen_anon_1: GspFwWprMeta__bindgen_ty_1,
714     pub gspFwRsvdStart: u64_,
715     pub nonWprHeapOffset: u64_,
716     pub nonWprHeapSize: u64_,
717     pub gspFwWprStart: u64_,
718     pub gspFwHeapOffset: u64_,
719     pub gspFwHeapSize: u64_,
720     pub gspFwOffset: u64_,
721     pub bootBinOffset: u64_,
722     pub frtsOffset: u64_,
723     pub frtsSize: u64_,
724     pub gspFwWprEnd: u64_,
725     pub fbSize: u64_,
726     pub vgaWorkspaceOffset: u64_,
727     pub vgaWorkspaceSize: u64_,
728     pub bootCount: u64_,
729     pub __bindgen_anon_2: GspFwWprMeta__bindgen_ty_2,
730     pub gspFwHeapVfPartitionCount: u8_,
731     pub flags: u8_,
732     pub padding: [u8_; 2usize],
733     pub pmuReservedSize: u32_,
734     pub verified: u64_,
735 }
736 #[repr(C)]
737 #[derive(Copy, Clone, MaybeZeroable)]
738 pub union GspFwWprMeta__bindgen_ty_1 {
739     pub __bindgen_anon_1: GspFwWprMeta__bindgen_ty_1__bindgen_ty_1,
740     pub __bindgen_anon_2: GspFwWprMeta__bindgen_ty_1__bindgen_ty_2,
741 }
742 #[repr(C)]
743 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
744 pub struct GspFwWprMeta__bindgen_ty_1__bindgen_ty_1 {
745     pub sysmemAddrOfSignature: u64_,
746     pub sizeOfSignature: u64_,
747 }
748 #[repr(C)]
749 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
750 pub struct GspFwWprMeta__bindgen_ty_1__bindgen_ty_2 {
751     pub gspFwHeapFreeListWprOffset: u32_,
752     pub unused0: u32_,
753     pub unused1: u64_,
754 }
755 impl Default for GspFwWprMeta__bindgen_ty_1 {
default() -> Self756     fn default() -> Self {
757         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
758         unsafe {
759             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
760             s.assume_init()
761         }
762     }
763 }
764 #[repr(C)]
765 #[derive(Copy, Clone, MaybeZeroable)]
766 pub union GspFwWprMeta__bindgen_ty_2 {
767     pub __bindgen_anon_1: GspFwWprMeta__bindgen_ty_2__bindgen_ty_1,
768     pub __bindgen_anon_2: GspFwWprMeta__bindgen_ty_2__bindgen_ty_2,
769 }
770 #[repr(C)]
771 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
772 pub struct GspFwWprMeta__bindgen_ty_2__bindgen_ty_1 {
773     pub partitionRpcAddr: u64_,
774     pub partitionRpcRequestOffset: u16_,
775     pub partitionRpcReplyOffset: u16_,
776     pub elfCodeOffset: u32_,
777     pub elfDataOffset: u32_,
778     pub elfCodeSize: u32_,
779     pub elfDataSize: u32_,
780     pub lsUcodeVersion: u32_,
781 }
782 #[repr(C)]
783 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
784 pub struct GspFwWprMeta__bindgen_ty_2__bindgen_ty_2 {
785     pub partitionRpcPadding: [u32_; 4usize],
786     pub sysmemAddrOfCrashReportQueue: u64_,
787     pub sizeOfCrashReportQueue: u32_,
788     pub lsUcodeVersionPadding: [u32_; 1usize],
789 }
790 impl Default for GspFwWprMeta__bindgen_ty_2 {
default() -> Self791     fn default() -> Self {
792         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
793         unsafe {
794             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
795             s.assume_init()
796         }
797     }
798 }
799 impl Default for GspFwWprMeta {
default() -> Self800     fn default() -> Self {
801         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
802         unsafe {
803             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
804             s.assume_init()
805         }
806     }
807 }
808 pub type LibosAddress = u64_;
809 pub const LibosMemoryRegionKind_LIBOS_MEMORY_REGION_NONE: LibosMemoryRegionKind = 0;
810 pub const LibosMemoryRegionKind_LIBOS_MEMORY_REGION_CONTIGUOUS: LibosMemoryRegionKind = 1;
811 pub const LibosMemoryRegionKind_LIBOS_MEMORY_REGION_RADIX3: LibosMemoryRegionKind = 2;
812 pub type LibosMemoryRegionKind = ffi::c_uint;
813 pub const LibosMemoryRegionLoc_LIBOS_MEMORY_REGION_LOC_NONE: LibosMemoryRegionLoc = 0;
814 pub const LibosMemoryRegionLoc_LIBOS_MEMORY_REGION_LOC_SYSMEM: LibosMemoryRegionLoc = 1;
815 pub const LibosMemoryRegionLoc_LIBOS_MEMORY_REGION_LOC_FB: LibosMemoryRegionLoc = 2;
816 pub type LibosMemoryRegionLoc = ffi::c_uint;
817 #[repr(C)]
818 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
819 pub struct LibosMemoryRegionInitArgument {
820     pub id8: LibosAddress,
821     pub pa: LibosAddress,
822     pub size: LibosAddress,
823     pub kind: u8_,
824     pub loc: u8_,
825     pub __bindgen_padding_0: [u8; 6usize],
826 }
827 #[repr(C)]
828 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
829 pub struct PACKED_REGISTRY_ENTRY {
830     pub nameOffset: u32_,
831     pub type_: u8_,
832     pub __bindgen_padding_0: [u8; 3usize],
833     pub data: u32_,
834     pub length: u32_,
835 }
836 #[repr(C)]
837 #[derive(Debug, Default, MaybeZeroable)]
838 pub struct PACKED_REGISTRY_TABLE {
839     pub size: u32_,
840     pub numEntries: u32_,
841     pub entries: __IncompleteArrayField<PACKED_REGISTRY_ENTRY>,
842 }
843 #[repr(C)]
844 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
845 pub struct msgqTxHeader {
846     pub version: u32_,
847     pub size: u32_,
848     pub msgSize: u32_,
849     pub msgCount: u32_,
850     pub writePtr: u32_,
851     pub flags: u32_,
852     pub rxHdrOff: u32_,
853     pub entryOff: u32_,
854 }
855 #[repr(C)]
856 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
857 pub struct msgqRxHeader {
858     pub readPtr: u32_,
859 }
860 #[repr(C)]
861 #[repr(align(8))]
862 #[derive(MaybeZeroable)]
863 pub struct GSP_MSG_QUEUE_ELEMENT {
864     pub authTagBuffer: [u8_; 16usize],
865     pub aadBuffer: [u8_; 16usize],
866     pub checkSum: u32_,
867     pub seqNum: u32_,
868     pub elemCount: u32_,
869     pub __bindgen_padding_0: [u8; 4usize],
870     pub rpc: rpc_message_header_v,
871 }
872 impl Default for GSP_MSG_QUEUE_ELEMENT {
default() -> Self873     fn default() -> Self {
874         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
875         unsafe {
876             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
877             s.assume_init()
878         }
879     }
880 }
881 #[repr(C)]
882 #[derive(Debug, Default, MaybeZeroable)]
883 pub struct rpc_run_cpu_sequencer_v17_00 {
884     pub bufferSizeDWord: u32_,
885     pub cmdIndex: u32_,
886     pub regSaveArea: [u32_; 8usize],
887     pub commandBuffer: __IncompleteArrayField<u32_>,
888 }
889 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_REG_WRITE: GSP_SEQ_BUF_OPCODE = 0;
890 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_REG_MODIFY: GSP_SEQ_BUF_OPCODE = 1;
891 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_REG_POLL: GSP_SEQ_BUF_OPCODE = 2;
892 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_DELAY_US: GSP_SEQ_BUF_OPCODE = 3;
893 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_REG_STORE: GSP_SEQ_BUF_OPCODE = 4;
894 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_CORE_RESET: GSP_SEQ_BUF_OPCODE = 5;
895 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_CORE_START: GSP_SEQ_BUF_OPCODE = 6;
896 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_CORE_WAIT_FOR_HALT: GSP_SEQ_BUF_OPCODE = 7;
897 pub const GSP_SEQ_BUF_OPCODE_GSP_SEQ_BUF_OPCODE_CORE_RESUME: GSP_SEQ_BUF_OPCODE = 8;
898 pub type GSP_SEQ_BUF_OPCODE = ffi::c_uint;
899 #[repr(C)]
900 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
901 pub struct GSP_SEQ_BUF_PAYLOAD_REG_WRITE {
902     pub addr: u32_,
903     pub val: u32_,
904 }
905 #[repr(C)]
906 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
907 pub struct GSP_SEQ_BUF_PAYLOAD_REG_MODIFY {
908     pub addr: u32_,
909     pub mask: u32_,
910     pub val: u32_,
911 }
912 #[repr(C)]
913 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
914 pub struct GSP_SEQ_BUF_PAYLOAD_REG_POLL {
915     pub addr: u32_,
916     pub mask: u32_,
917     pub val: u32_,
918     pub timeout: u32_,
919     pub error: u32_,
920 }
921 #[repr(C)]
922 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
923 pub struct GSP_SEQ_BUF_PAYLOAD_DELAY_US {
924     pub val: u32_,
925 }
926 #[repr(C)]
927 #[derive(Debug, Default, Copy, Clone, MaybeZeroable)]
928 pub struct GSP_SEQ_BUF_PAYLOAD_REG_STORE {
929     pub addr: u32_,
930     pub index: u32_,
931 }
932 #[repr(C)]
933 #[derive(Copy, Clone, MaybeZeroable)]
934 pub struct GSP_SEQUENCER_BUFFER_CMD {
935     pub opCode: GSP_SEQ_BUF_OPCODE,
936     pub payload: GSP_SEQUENCER_BUFFER_CMD__bindgen_ty_1,
937 }
938 #[repr(C)]
939 #[derive(Copy, Clone, MaybeZeroable)]
940 pub union GSP_SEQUENCER_BUFFER_CMD__bindgen_ty_1 {
941     pub regWrite: GSP_SEQ_BUF_PAYLOAD_REG_WRITE,
942     pub regModify: GSP_SEQ_BUF_PAYLOAD_REG_MODIFY,
943     pub regPoll: GSP_SEQ_BUF_PAYLOAD_REG_POLL,
944     pub delayUs: GSP_SEQ_BUF_PAYLOAD_DELAY_US,
945     pub regStore: GSP_SEQ_BUF_PAYLOAD_REG_STORE,
946 }
947 impl Default for GSP_SEQUENCER_BUFFER_CMD__bindgen_ty_1 {
default() -> Self948     fn default() -> Self {
949         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
950         unsafe {
951             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
952             s.assume_init()
953         }
954     }
955 }
956 impl Default for GSP_SEQUENCER_BUFFER_CMD {
default() -> Self957     fn default() -> Self {
958         let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
959         unsafe {
960             ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
961             s.assume_init()
962         }
963     }
964 }
965