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