• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* automatically generated by tools/bindgen-all-the-things */
2 
3 #![allow(clippy::missing_safety_doc)]
4 #![allow(clippy::upper_case_acronyms)]
5 #![allow(non_upper_case_globals)]
6 #![allow(non_camel_case_types)]
7 #![allow(non_snake_case)]
8 #![allow(dead_code)]
9 
10 pub const HWCAP_FP: u32 = 1;
11 pub const HWCAP_ASIMD: u32 = 2;
12 pub const HWCAP_EVTSTRM: u32 = 4;
13 pub const HWCAP_AES: u32 = 8;
14 pub const HWCAP_PMULL: u32 = 16;
15 pub const HWCAP_SHA1: u32 = 32;
16 pub const HWCAP_SHA2: u32 = 64;
17 pub const HWCAP_CRC32: u32 = 128;
18 pub const HWCAP_ATOMICS: u32 = 256;
19 pub const HWCAP_FPHP: u32 = 512;
20 pub const HWCAP_ASIMDHP: u32 = 1024;
21 pub const HWCAP_CPUID: u32 = 2048;
22 pub const HWCAP_ASIMDRDM: u32 = 4096;
23 pub const HWCAP_JSCVT: u32 = 8192;
24 pub const HWCAP_FCMA: u32 = 16384;
25 pub const HWCAP_LRCPC: u32 = 32768;
26 pub const HWCAP_DCPOP: u32 = 65536;
27 pub const HWCAP_SHA3: u32 = 131072;
28 pub const HWCAP_SM3: u32 = 262144;
29 pub const HWCAP_SM4: u32 = 524288;
30 pub const HWCAP_ASIMDDP: u32 = 1048576;
31 pub const HWCAP_SHA512: u32 = 2097152;
32 pub const HWCAP_SVE: u32 = 4194304;
33 pub const HWCAP_ASIMDFHM: u32 = 8388608;
34 pub const HWCAP_DIT: u32 = 16777216;
35 pub const HWCAP_USCAT: u32 = 33554432;
36 pub const HWCAP_ILRCPC: u32 = 67108864;
37 pub const HWCAP_FLAGM: u32 = 134217728;
38 pub const HWCAP_SSBS: u32 = 268435456;
39 pub const HWCAP_SB: u32 = 536870912;
40 pub const HWCAP_PACA: u32 = 1073741824;
41 pub const HWCAP_PACG: u32 = 2147483648;
42 pub const HWCAP2_DCPODP: u32 = 1;
43 pub const HWCAP2_SVE2: u32 = 2;
44 pub const HWCAP2_SVEAES: u32 = 4;
45 pub const HWCAP2_SVEPMULL: u32 = 8;
46 pub const HWCAP2_SVEBITPERM: u32 = 16;
47 pub const HWCAP2_SVESHA3: u32 = 32;
48 pub const HWCAP2_SVESM4: u32 = 64;
49 pub const HWCAP2_FLAGM2: u32 = 128;
50 pub const HWCAP2_FRINT: u32 = 256;
51 pub const HWCAP2_SVEI8MM: u32 = 512;
52 pub const HWCAP2_SVEF32MM: u32 = 1024;
53 pub const HWCAP2_SVEF64MM: u32 = 2048;
54 pub const HWCAP2_SVEBF16: u32 = 4096;
55 pub const HWCAP2_I8MM: u32 = 8192;
56 pub const HWCAP2_BF16: u32 = 16384;
57 pub const HWCAP2_DGH: u32 = 32768;
58 pub const HWCAP2_RNG: u32 = 65536;
59 pub const HWCAP2_BTI: u32 = 131072;
60 pub const HWCAP2_MTE: u32 = 262144;
61 pub const HWCAP2_ECV: u32 = 524288;
62 pub const HWCAP2_AFP: u32 = 1048576;
63 pub const HWCAP2_RPRES: u32 = 2097152;
64 pub const HWCAP2_MTE3: u32 = 4194304;
65 pub const HWCAP2_SME: u32 = 8388608;
66 pub const HWCAP2_SME_I16I64: u32 = 16777216;
67 pub const HWCAP2_SME_F64F64: u32 = 33554432;
68 pub const HWCAP2_SME_I8I32: u32 = 67108864;
69 pub const HWCAP2_SME_F16F32: u32 = 134217728;
70 pub const HWCAP2_SME_B16F32: u32 = 268435456;
71 pub const HWCAP2_SME_F32F32: u32 = 536870912;
72 pub const HWCAP2_SME_FA64: u32 = 1073741824;
73 pub const HWCAP2_WFXT: u32 = 2147483648;
74 pub const HWCAP2_EBF16: u64 = 4294967296;
75 pub const HWCAP2_SVE_EBF16: u64 = 8589934592;
76 pub const __SVE_VQ_BYTES: u32 = 16;
77 pub const __SVE_VQ_MIN: u32 = 1;
78 pub const __SVE_VQ_MAX: u32 = 512;
79 pub const __SVE_VL_MIN: u32 = 16;
80 pub const __SVE_VL_MAX: u32 = 8192;
81 pub const __SVE_NUM_ZREGS: u32 = 32;
82 pub const __SVE_NUM_PREGS: u32 = 16;
83 pub const __SVE_ZREGS_OFFSET: u32 = 0;
84 pub const PSR_MODE_EL0t: u32 = 0;
85 pub const PSR_MODE_EL1t: u32 = 4;
86 pub const PSR_MODE_EL1h: u32 = 5;
87 pub const PSR_MODE_EL2t: u32 = 8;
88 pub const PSR_MODE_EL2h: u32 = 9;
89 pub const PSR_MODE_EL3t: u32 = 12;
90 pub const PSR_MODE_EL3h: u32 = 13;
91 pub const PSR_MODE_MASK: u32 = 15;
92 pub const PSR_MODE32_BIT: u32 = 16;
93 pub const PSR_F_BIT: u32 = 64;
94 pub const PSR_I_BIT: u32 = 128;
95 pub const PSR_A_BIT: u32 = 256;
96 pub const PSR_D_BIT: u32 = 512;
97 pub const PSR_BTYPE_MASK: u32 = 3072;
98 pub const PSR_SSBS_BIT: u32 = 4096;
99 pub const PSR_PAN_BIT: u32 = 4194304;
100 pub const PSR_UAO_BIT: u32 = 8388608;
101 pub const PSR_DIT_BIT: u32 = 16777216;
102 pub const PSR_TCO_BIT: u32 = 33554432;
103 pub const PSR_V_BIT: u32 = 268435456;
104 pub const PSR_C_BIT: u32 = 536870912;
105 pub const PSR_Z_BIT: u32 = 1073741824;
106 pub const PSR_N_BIT: u32 = 2147483648;
107 pub const PSR_BTYPE_SHIFT: u32 = 10;
108 pub const PSR_f: u32 = 4278190080;
109 pub const PSR_s: u32 = 16711680;
110 pub const PSR_x: u32 = 65280;
111 pub const PSR_c: u32 = 255;
112 pub const PSR_BTYPE_NONE: u32 = 0;
113 pub const PSR_BTYPE_JC: u32 = 1024;
114 pub const PSR_BTYPE_C: u32 = 2048;
115 pub const PSR_BTYPE_J: u32 = 3072;
116 pub const PTRACE_SYSEMU: u32 = 31;
117 pub const PTRACE_SYSEMU_SINGLESTEP: u32 = 32;
118 pub const PTRACE_PEEKMTETAGS: u32 = 33;
119 pub const PTRACE_POKEMTETAGS: u32 = 34;
120 pub const SVE_PT_REGS_MASK: u32 = 1;
121 pub const SVE_PT_REGS_FPSIMD: u32 = 0;
122 pub const SVE_PT_REGS_SVE: u32 = 1;
123 pub const SVE_PT_VL_INHERIT: u32 = 2;
124 pub const SVE_PT_VL_ONEXEC: u32 = 4;
125 pub const ZA_PT_VL_INHERIT: u32 = 2;
126 pub const ZA_PT_VL_ONEXEC: u32 = 4;
127 pub const GZVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1;
128 pub const GZVM_SYSTEM_EVENT_RESET: u32 = 2;
129 pub const GZVM_SYSTEM_EVENT_CRASH: u32 = 3;
130 pub const GZVM_SYSTEM_EVENT_WAKEUP: u32 = 4;
131 pub const GZVM_SYSTEM_EVENT_SUSPEND: u32 = 5;
132 pub const GZVM_SYSTEM_EVENT_SEV_TERM: u32 = 6;
133 pub const GZVM_SYSTEM_EVENT_S2IDLE: u32 = 7;
134 pub const GIC_V3_NR_LRS: u32 = 16;
135 pub const GZVM_IOC_MAGIC: u32 = 146;
136 pub const GZVM_CAP_ARM_VM_IPA_SIZE: u32 = 165;
137 pub const GZVM_CAP_ARM_PROTECTED_VM: u32 = 4290435761;
138 pub const GZVM_IRQ_VCPU2_SHIFT: u32 = 28;
139 pub const GZVM_IRQ_VCPU2_MASK: u32 = 15;
140 pub const GZVM_IRQ_TYPE_SHIFT: u32 = 24;
141 pub const GZVM_IRQ_TYPE_MASK: u32 = 15;
142 pub const GZVM_IRQ_VCPU_SHIFT: u32 = 16;
143 pub const GZVM_IRQ_VCPU_MASK: u32 = 255;
144 pub const GZVM_IRQ_NUM_SHIFT: u32 = 0;
145 pub const GZVM_IRQ_NUM_MASK: u32 = 65535;
146 pub const GZVM_IRQ_TYPE_CPU: u32 = 0;
147 pub const GZVM_IRQ_TYPE_SPI: u32 = 1;
148 pub const GZVM_IRQ_TYPE_PPI: u32 = 2;
149 pub const GZVM_IRQ_CPU_IRQ: u32 = 0;
150 pub const GZVM_IRQ_CPU_FIQ: u32 = 1;
151 pub const GZVM_IRQFD_FLAG_DEASSIGN: u32 = 1;
152 pub const GZVM_IRQFD_FLAG_RESAMPLE: u32 = 2;
153 pub const GZVM_CAP_ARM_PVM_SET_PVMFW_IPA: u32 = 0;
154 pub const GZVM_CAP_ARM_PVM_GET_PVMFW_SIZE: u32 = 1;
155 pub const GZVM_REG_ARCH_MASK: i64 = -72057594037927936;
156 pub const GZVM_REG_GENERIC: u32 = 0;
157 pub const GZVM_REG_ARM: u64 = 4611686018427387904;
158 pub const GZVM_REG_ARM64: u64 = 6917529027641081856;
159 pub const GZVM_REG_SIZE_SHIFT: u32 = 52;
160 pub const GZVM_REG_SIZE_MASK: u64 = 67553994410557440;
161 pub const GZVM_REG_SIZE_U8: u32 = 0;
162 pub const GZVM_REG_SIZE_U16: u64 = 4503599627370496;
163 pub const GZVM_REG_SIZE_U32: u64 = 9007199254740992;
164 pub const GZVM_REG_SIZE_U64: u64 = 13510798882111488;
165 pub const GZVM_REG_SIZE_U128: u64 = 18014398509481984;
166 pub const GZVM_REG_SIZE_U256: u64 = 22517998136852480;
167 pub const GZVM_REG_SIZE_U512: u64 = 27021597764222976;
168 pub const GZVM_REG_SIZE_U1024: u64 = 31525197391593472;
169 pub const GZVM_REG_SIZE_U2048: u64 = 36028797018963968;
170 pub const GZVM_NR_SPSR: u32 = 5;
171 pub const GZVM_REG_ARM_COPROC_MASK: u32 = 268369920;
172 pub const GZVM_REG_ARM_COPROC_SHIFT: u32 = 16;
173 pub const GZVM_REG_ARM_CORE: u32 = 1048576;
174 pub const GZVM_REG_ARM_DEMUX: u32 = 1114112;
175 pub const GZVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280;
176 pub const GZVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8;
177 pub const GZVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0;
178 pub const GZVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255;
179 pub const GZVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0;
180 pub const GZVM_REG_ARM64_SYSREG: u32 = 1245184;
181 pub const GZVM_REG_ARM64_SYSREG_OP0_MASK: u32 = 49152;
182 pub const GZVM_REG_ARM64_SYSREG_OP0_SHIFT: u32 = 14;
183 pub const GZVM_REG_ARM64_SYSREG_OP1_MASK: u32 = 14336;
184 pub const GZVM_REG_ARM64_SYSREG_OP1_SHIFT: u32 = 11;
185 pub const GZVM_REG_ARM64_SYSREG_CRN_MASK: u32 = 1920;
186 pub const GZVM_REG_ARM64_SYSREG_CRN_SHIFT: u32 = 7;
187 pub const GZVM_REG_ARM64_SYSREG_CRM_MASK: u32 = 120;
188 pub const GZVM_REG_ARM64_SYSREG_CRM_SHIFT: u32 = 3;
189 pub const GZVM_REG_ARM64_SYSREG_OP2_MASK: u32 = 7;
190 pub const GZVM_REG_ARM64_SYSREG_OP2_SHIFT: u32 = 0;
191 pub type __le16 = u16;
192 pub type __be16 = u16;
193 pub type __le32 = u32;
194 pub type __be32 = u32;
195 pub type __le64 = u64;
196 pub type __be64 = u64;
197 pub type __sum16 = u16;
198 pub type __wsum = u32;
199 pub type __poll_t = ::std::os::raw::c_uint;
200 #[repr(C)]
201 #[derive(Debug, Default, Copy, Clone)]
202 pub struct user_pt_regs {
203     pub regs: [u64; 31usize],
204     pub sp: u64,
205     pub pc: u64,
206     pub pstate: u64,
207 }
208 #[repr(C)]
209 #[repr(align(16))]
210 #[derive(Debug, Default, Copy, Clone)]
211 pub struct user_fpsimd_state {
212     pub vregs: [__uint128_t; 32usize],
213     pub fpsr: u32,
214     pub fpcr: u32,
215     pub __reserved: [u32; 2usize],
216 }
217 #[repr(C)]
218 #[derive(Debug, Default, Copy, Clone)]
219 pub struct user_hwdebug_state {
220     pub dbg_info: u32,
221     pub pad: u32,
222     pub dbg_regs: [user_hwdebug_state__bindgen_ty_1; 16usize],
223 }
224 #[repr(C)]
225 #[derive(Debug, Default, Copy, Clone)]
226 pub struct user_hwdebug_state__bindgen_ty_1 {
227     pub addr: u64,
228     pub ctrl: u32,
229     pub pad: u32,
230 }
231 #[repr(C)]
232 #[derive(Debug, Default, Copy, Clone)]
233 pub struct user_sve_header {
234     pub size: u32,
235     pub max_size: u32,
236     pub vl: u16,
237     pub max_vl: u16,
238     pub flags: u16,
239     pub __reserved: u16,
240 }
241 #[repr(C)]
242 #[derive(Debug, Default, Copy, Clone)]
243 pub struct user_pac_mask {
244     pub data_mask: u64,
245     pub insn_mask: u64,
246 }
247 #[repr(C)]
248 #[repr(align(16))]
249 #[derive(Debug, Default, Copy, Clone)]
250 pub struct user_pac_address_keys {
251     pub apiakey: __uint128_t,
252     pub apibkey: __uint128_t,
253     pub apdakey: __uint128_t,
254     pub apdbkey: __uint128_t,
255 }
256 #[repr(C)]
257 #[repr(align(16))]
258 #[derive(Debug, Default, Copy, Clone)]
259 pub struct user_pac_generic_keys {
260     pub apgakey: __uint128_t,
261 }
262 #[repr(C)]
263 #[derive(Debug, Default, Copy, Clone)]
264 pub struct user_za_header {
265     pub size: u32,
266     pub max_size: u32,
267     pub vl: u16,
268     pub max_vl: u16,
269     pub flags: u16,
270     pub __reserved: u16,
271 }
272 pub const GZVM_FUNC_CREATE_VM: ::std::os::raw::c_uint = 0;
273 pub const GZVM_FUNC_DESTROY_VM: ::std::os::raw::c_uint = 1;
274 pub const GZVM_FUNC_CREATE_VCPU: ::std::os::raw::c_uint = 2;
275 pub const GZVM_FUNC_DESTROY_VCPU: ::std::os::raw::c_uint = 3;
276 pub const GZVM_FUNC_SET_MEMREGION: ::std::os::raw::c_uint = 4;
277 pub const GZVM_FUNC_RUN: ::std::os::raw::c_uint = 5;
278 pub const GZVM_FUNC_GET_REGS: ::std::os::raw::c_uint = 6;
279 pub const GZVM_FUNC_SET_REGS: ::std::os::raw::c_uint = 7;
280 pub const GZVM_FUNC_GET_ONE_REG: ::std::os::raw::c_uint = 8;
281 pub const GZVM_FUNC_SET_ONE_REG: ::std::os::raw::c_uint = 9;
282 pub const GZVM_FUNC_IRQ_LINE: ::std::os::raw::c_uint = 10;
283 pub const GZVM_FUNC_CREATE_DEVICE: ::std::os::raw::c_uint = 11;
284 pub const GZVM_FUNC_PROBE: ::std::os::raw::c_uint = 12;
285 pub const GZVM_FUNC_ENABLE_CAP: ::std::os::raw::c_uint = 13;
286 pub const NR_GZVM_FUNC: ::std::os::raw::c_uint = 14;
287 pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
288 pub type gzvm_id_t = u16;
289 pub type gzvm_vcpu_id_t = u16;
290 pub const GZVM_EXIT_UNKNOWN: ::std::os::raw::c_uint = 2459041792;
291 pub const GZVM_EXIT_MMIO: ::std::os::raw::c_uint = 2459041793;
292 pub const GZVM_EXIT_HVC: ::std::os::raw::c_uint = 2459041794;
293 pub const GZVM_EXIT_IRQ: ::std::os::raw::c_uint = 2459041795;
294 pub const GZVM_EXIT_EXCEPTION: ::std::os::raw::c_uint = 2459041796;
295 pub const GZVM_EXIT_DEBUG: ::std::os::raw::c_uint = 2459041797;
296 pub const GZVM_EXIT_FAIL_ENTRY: ::std::os::raw::c_uint = 2459041798;
297 pub const GZVM_EXIT_INTERNAL_ERROR: ::std::os::raw::c_uint = 2459041799;
298 pub const GZVM_EXIT_SYSTEM_EVENT: ::std::os::raw::c_uint = 2459041800;
299 pub const GZVM_EXIT_SHUTDOWN: ::std::os::raw::c_uint = 2459041801;
300 pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
301 #[repr(C)]
302 #[derive(Copy, Clone)]
303 pub struct gzvm_vcpu_run {
304     pub exit_reason: u32,
305     pub immediate_exit: u8,
306     pub padding1: [u8; 3usize],
307     pub __bindgen_anon_1: gzvm_vcpu_run__bindgen_ty_1,
308 }
309 #[repr(C)]
310 #[derive(Copy, Clone)]
311 pub union gzvm_vcpu_run__bindgen_ty_1 {
312     pub mmio: gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_1,
313     pub fail_entry: gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_2,
314     pub exception: gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_3,
315     pub hvc: gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_4,
316     pub internal: gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_5,
317     pub system_event: gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_6,
318     pub padding: [::std::os::raw::c_char; 256usize],
319 }
320 #[repr(C)]
321 #[derive(Debug, Default, Copy, Clone)]
322 pub struct gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_1 {
323     pub phys_addr: u64,
324     pub data: [u8; 8usize],
325     pub size: u64,
326     pub reg_nr: u32,
327     pub is_write: u8,
328 }
329 #[repr(C)]
330 #[derive(Debug, Default, Copy, Clone)]
331 pub struct gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_2 {
332     pub hardware_entry_failure_reason: u64,
333     pub cpu: u32,
334 }
335 #[repr(C)]
336 #[derive(Debug, Default, Copy, Clone)]
337 pub struct gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_3 {
338     pub exception: u32,
339     pub error_code: u32,
340 }
341 #[repr(C)]
342 #[derive(Debug, Default, Copy, Clone)]
343 pub struct gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_4 {
344     pub args: [u64; 8usize],
345 }
346 #[repr(C)]
347 #[derive(Debug, Default, Copy, Clone)]
348 pub struct gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_5 {
349     pub suberror: u32,
350     pub ndata: u32,
351     pub data: [u64; 16usize],
352 }
353 #[repr(C)]
354 #[derive(Debug, Default, Copy, Clone)]
355 pub struct gzvm_vcpu_run__bindgen_ty_1__bindgen_ty_6 {
356     pub type_: u32,
357     pub ndata: u32,
358     pub data: [u64; 16usize],
359 }
360 impl Default for gzvm_vcpu_run__bindgen_ty_1 {
default() -> Self361     fn default() -> Self {
362         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
363         unsafe {
364             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
365             s.assume_init()
366         }
367     }
368 }
369 impl Default for gzvm_vcpu_run {
default() -> Self370     fn default() -> Self {
371         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
372         unsafe {
373             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
374             s.assume_init()
375         }
376     }
377 }
378 #[repr(C)]
379 #[derive(Debug, Default, Copy, Clone)]
380 pub struct gzvm_vcpu_hwstate {
381     pub nr_lrs: u32,
382     pub lr: [u64; 16usize],
383 }
384 #[repr(C)]
385 #[derive(Debug, Default, Copy, Clone)]
386 pub struct gzvm_memory_region {
387     pub slot: u32,
388     pub flags: u32,
389     pub guest_phys_addr: u64,
390     pub memory_size: u64,
391 }
392 #[repr(C)]
393 #[derive(Debug, Default, Copy, Clone)]
394 pub struct gzvm_userspace_memory_region {
395     pub slot: u32,
396     pub flags: u32,
397     pub guest_phys_addr: u64,
398     pub memory_size: u64,
399     pub userspace_addr: u64,
400 }
401 #[repr(C)]
402 #[derive(Copy, Clone)]
403 pub struct gzvm_irq_level {
404     pub __bindgen_anon_1: gzvm_irq_level__bindgen_ty_1,
405     pub level: u32,
406 }
407 #[repr(C)]
408 #[derive(Copy, Clone)]
409 pub union gzvm_irq_level__bindgen_ty_1 {
410     pub irq: u32,
411     pub status: i32,
412 }
413 impl Default for gzvm_irq_level__bindgen_ty_1 {
default() -> Self414     fn default() -> Self {
415         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
416         unsafe {
417             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
418             s.assume_init()
419         }
420     }
421 }
422 impl Default for gzvm_irq_level {
default() -> Self423     fn default() -> Self {
424         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
425         unsafe {
426             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
427             s.assume_init()
428         }
429     }
430 }
431 #[repr(C)]
432 #[derive(Debug, Default, Copy, Clone)]
433 pub struct gzvm_irqfd {
434     pub fd: u32,
435     pub gsi: u32,
436     pub flags: u32,
437     pub resamplefd: u32,
438     pub pad: [u8; 16usize],
439 }
440 pub const gzvm_ioeventfd_flag_nr_datamatch: ::std::os::raw::c_uint = 0;
441 pub const gzvm_ioeventfd_flag_nr_pio: ::std::os::raw::c_uint = 1;
442 pub const gzvm_ioeventfd_flag_nr_deassign: ::std::os::raw::c_uint = 2;
443 pub const gzvm_ioeventfd_flag_nr_max: ::std::os::raw::c_uint = 3;
444 pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
445 #[repr(C)]
446 #[derive(Debug, Copy, Clone)]
447 pub struct gzvm_ioeventfd {
448     pub datamatch: u64,
449     pub addr: u64,
450     pub len: u32,
451     pub fd: i32,
452     pub flags: u32,
453     pub pad: [u8; 36usize],
454 }
455 impl Default for gzvm_ioeventfd {
default() -> Self456     fn default() -> Self {
457         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
458         unsafe {
459             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
460             s.assume_init()
461         }
462     }
463 }
464 pub const gzvm_device_type_GZVM_DEV_TYPE_ARM_VGIC_V3_DIST: gzvm_device_type = 0;
465 pub const gzvm_device_type_GZVM_DEV_TYPE_ARM_VGIC_V3_REDIST: gzvm_device_type = 1;
466 pub const gzvm_device_type_GZVM_DEV_TYPE_MAX: gzvm_device_type = 2;
467 pub type gzvm_device_type = ::std::os::raw::c_uint;
468 #[repr(C)]
469 #[derive(Debug, Default, Copy, Clone)]
470 pub struct gzvm_create_device {
471     pub dev_type: u32,
472     pub id: u32,
473     pub flags: u64,
474     pub dev_addr: u64,
475     pub dev_reg_size: u64,
476     pub attr_addr: u64,
477     pub attr_size: u64,
478 }
479 #[repr(C)]
480 #[derive(Debug, Default, Copy, Clone)]
481 pub struct gzvm_enable_cap {
482     pub cap: u64,
483     pub args: [u64; 5usize],
484 }
485 #[repr(C)]
486 #[derive(Debug, Default, Copy, Clone)]
487 pub struct gzvm_one_reg {
488     pub id: u64,
489     pub addr: u64,
490 }
491 #[repr(C)]
492 #[repr(align(16))]
493 #[derive(Debug, Default, Copy, Clone)]
494 pub struct gzvm_regs {
495     pub regs: user_pt_regs,
496     pub sp_el1: u64,
497     pub elr_el1: u64,
498     pub spsr: [u64; 5usize],
499     pub __bindgen_padding_0: u64,
500     pub fp_regs: user_fpsimd_state,
501 }
502 pub type __uint128_t = u128;
503