Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
google
GitHub Repository: google/crosvm
Path: blob/main/hypervisor/src/halla/halla_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 HVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1;
129
pub const HVM_SYSTEM_EVENT_RESET: u32 = 2;
130
pub const HVM_SYSTEM_EVENT_CRASH: u32 = 3;
131
pub const HVM_SYSTEM_EVENT_WAKEUP: u32 = 4;
132
pub const HVM_SYSTEM_EVENT_SUSPEND: u32 = 5;
133
pub const HVM_SYSTEM_EVENT_SEV_TERM: u32 = 6;
134
pub const GIC_V3_NR_LRS: u32 = 16;
135
pub const HVM_IOC_MAGIC: u32 = 76;
136
pub const HVM_CAP_ARM_VM_IPA_SIZE: u32 = 4673601;
137
pub const HVM_CAP_ARM_PROTECTED_VM: u32 = 5264973;
138
pub const HVM_VM_TYPE_ARM_PROTECTED: u32 = 2147483648; // (1UL << 31)
139
pub const HVM_VM_TYPE_IPA_SIZE_MASK: u32 = 255;
140
pub const HVM_USER_MEM_REGION_GUEST_MEM: u32 = 1;
141
pub const HVM_USER_MEM_REGION_PROTECT_FW: u32 = 2;
142
pub const HVM_USER_MEM_REGION_STATIC_SWIOTLB: u32 = 4;
143
pub const HVM_IRQ_VCPU2_SHIFT: u32 = 28;
144
pub const HVM_IRQ_VCPU2_MASK: u32 = 15;
145
pub const HVM_IRQ_TYPE_SHIFT: u32 = 24;
146
pub const HVM_IRQ_TYPE_MASK: u32 = 15;
147
pub const HVM_IRQ_VCPU_SHIFT: u32 = 16;
148
pub const HVM_IRQ_VCPU_MASK: u32 = 255;
149
pub const HVM_IRQ_NUM_SHIFT: u32 = 0;
150
pub const HVM_IRQ_NUM_MASK: u32 = 65535;
151
pub const HVM_IRQ_TYPE_CPU: u32 = 0;
152
pub const HVM_IRQ_TYPE_SPI: u32 = 1;
153
pub const HVM_IRQ_TYPE_PPI: u32 = 2;
154
pub const HVM_IRQ_CPU_IRQ: u32 = 0;
155
pub const HVM_IRQ_CPU_FIQ: u32 = 1;
156
pub const HVM_IRQFD_FLAG_DEASSIGN: u32 = 1;
157
pub const HVM_IRQFD_FLAG_RESAMPLE: u32 = 2;
158
pub const HVM_CAP_ARM_PVM_SET_PVMFW_IPA: u32 = 0;
159
pub const HVM_CAP_ARM_PVM_GET_PVMFW_SIZE: u32 = 1;
160
pub const HVM_REG_ARCH_MASK: i64 = -72057594037927936;
161
pub const HVM_REG_GENERIC: u32 = 0;
162
pub const HVM_REG_ARM: u64 = 4611686018427387904;
163
pub const HVM_REG_ARM64: u64 = 6917529027641081856;
164
pub const HVM_REG_SIZE_SHIFT: u32 = 52;
165
pub const HVM_REG_SIZE_MASK: u64 = 67553994410557440;
166
pub const HVM_REG_SIZE_U8: u32 = 0;
167
pub const HVM_REG_SIZE_U16: u64 = 4503599627370496;
168
pub const HVM_REG_SIZE_U32: u64 = 9007199254740992;
169
pub const HVM_REG_SIZE_U64: u64 = 13510798882111488;
170
pub const HVM_REG_SIZE_U128: u64 = 18014398509481984;
171
pub const HVM_REG_SIZE_U256: u64 = 22517998136852480;
172
pub const HVM_REG_SIZE_U512: u64 = 27021597764222976;
173
pub const HVM_REG_SIZE_U1024: u64 = 31525197391593472;
174
pub const HVM_REG_SIZE_U2048: u64 = 36028797018963968;
175
pub const HVM_NR_SPSR: u32 = 5;
176
pub const HVM_REG_ARM_COPROC_MASK: u32 = 268369920;
177
pub const HVM_REG_ARM_COPROC_SHIFT: u32 = 16;
178
pub const HVM_REG_ARM_CORE: u32 = 1048576;
179
pub const HVM_REG_ARM_DEMUX: u32 = 1114112;
180
pub const HVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280;
181
pub const HVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8;
182
pub const HVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0;
183
pub const HVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255;
184
pub const HVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0;
185
pub const HVM_REG_ARM64_SYSREG: u32 = 1245184;
186
pub const HVM_REG_ARM64_SYSREG_OP0_MASK: u32 = 49152;
187
pub const HVM_REG_ARM64_SYSREG_OP0_SHIFT: u32 = 14;
188
pub const HVM_REG_ARM64_SYSREG_OP1_MASK: u32 = 14336;
189
pub const HVM_REG_ARM64_SYSREG_OP1_SHIFT: u32 = 11;
190
pub const HVM_REG_ARM64_SYSREG_CRN_MASK: u32 = 1920;
191
pub const HVM_REG_ARM64_SYSREG_CRN_SHIFT: u32 = 7;
192
pub const HVM_REG_ARM64_SYSREG_CRM_MASK: u32 = 120;
193
pub const HVM_REG_ARM64_SYSREG_CRM_SHIFT: u32 = 3;
194
pub const HVM_REG_ARM64_SYSREG_OP2_MASK: u32 = 7;
195
pub const HVM_REG_ARM64_SYSREG_OP2_SHIFT: u32 = 0;
196
pub type __le16 = u16;
197
pub type __be16 = u16;
198
pub type __le32 = u32;
199
pub type __be32 = u32;
200
pub type __le64 = u64;
201
pub type __be64 = u64;
202
pub type __sum16 = u16;
203
pub type __wsum = u32;
204
pub type __poll_t = ::std::os::raw::c_uint;
205
#[repr(C)]
206
#[derive(Debug, Default, Copy, Clone)]
207
pub struct user_pt_regs {
208
pub regs: [u64; 31usize],
209
pub sp: u64,
210
pub pc: u64,
211
pub pstate: u64,
212
}
213
#[repr(C)]
214
#[repr(align(16))]
215
#[derive(Debug, Default, Copy, Clone)]
216
pub struct user_fpsimd_state {
217
pub vregs: [__uint128_t; 32usize],
218
pub fpsr: u32,
219
pub fpcr: u32,
220
pub __reserved: [u32; 2usize],
221
}
222
pub const HVM_FUNC_CREATE_VM: ::std::os::raw::c_uint = 0;
223
pub const HVM_FUNC_DESTROY_VM: ::std::os::raw::c_uint = 1;
224
pub const HVM_FUNC_CREATE_VCPU: ::std::os::raw::c_uint = 2;
225
pub const HVM_FUNC_DESTROY_VCPU: ::std::os::raw::c_uint = 3;
226
pub const HVM_FUNC_SET_MEMREGION: ::std::os::raw::c_uint = 4;
227
pub const HVM_FUNC_RUN: ::std::os::raw::c_uint = 5;
228
pub const HVM_FUNC_GET_REGS: ::std::os::raw::c_uint = 6;
229
pub const HVM_FUNC_SET_REGS: ::std::os::raw::c_uint = 7;
230
pub const HVM_FUNC_GET_ONE_REG: ::std::os::raw::c_uint = 8;
231
pub const HVM_FUNC_SET_ONE_REG: ::std::os::raw::c_uint = 9;
232
pub const HVM_FUNC_IRQ_LINE: ::std::os::raw::c_uint = 10;
233
pub const HVM_FUNC_CREATE_DEVICE: ::std::os::raw::c_uint = 11;
234
pub const HVM_FUNC_PROBE: ::std::os::raw::c_uint = 12;
235
pub const HVM_FUNC_ENABLE_CAP: ::std::os::raw::c_uint = 13;
236
pub const HVM_FUNC_MEMREGION_PURPOSE: ::std::os::raw::c_uint = 14;
237
pub const HVM_FUNC_SET_DTB_CONFIG: ::std::os::raw::c_uint = 15;
238
pub const NR_HVM_FUNC: ::std::os::raw::c_uint = 16;
239
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
240
pub type hvm_id_t = u16;
241
pub type hvm_vcpu_id_t = u16;
242
pub const HVM_EXIT_MMIO: ::std::os::raw::c_uint = 1212940289;
243
pub const HVM_EXIT_IRQ: ::std::os::raw::c_uint = 1212940290;
244
pub const HVM_EXIT_EXCEPTION: ::std::os::raw::c_uint = 1212940291;
245
pub const HVM_EXIT_INTERNAL_ERROR: ::std::os::raw::c_uint = 1212940292;
246
pub const HVM_EXIT_SYSTEM_EVENT: ::std::os::raw::c_uint = 1212940293;
247
pub const HVM_EXIT_SHUTDOWN: ::std::os::raw::c_uint = 1212940294;
248
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
249
#[repr(C)]
250
#[derive(Copy, Clone)]
251
pub struct hvm_vcpu_run {
252
pub exit_reason: u32,
253
pub immediate_exit: u8,
254
pub padding1: [u8; 3usize],
255
pub __bindgen_anon_1: hvm_vcpu_run__bindgen_ty_1,
256
}
257
#[repr(C)]
258
#[derive(Copy, Clone)]
259
pub union hvm_vcpu_run__bindgen_ty_1 {
260
pub mmio: hvm_vcpu_run__bindgen_ty_1__bindgen_ty_1,
261
pub system_event: hvm_vcpu_run__bindgen_ty_1__bindgen_ty_2,
262
pub padding: [::std::os::raw::c_char; 256usize],
263
}
264
#[repr(C)]
265
#[derive(Debug, Default, Copy, Clone)]
266
pub struct hvm_vcpu_run__bindgen_ty_1__bindgen_ty_1 {
267
pub phys_addr: u64,
268
pub data: [u8; 8usize],
269
pub size: u64,
270
pub reg_nr: u32,
271
pub is_write: u8,
272
}
273
#[repr(C)]
274
#[derive(Debug, Default, Copy, Clone)]
275
pub struct hvm_vcpu_run__bindgen_ty_1__bindgen_ty_2 {
276
pub type_: u32,
277
pub ndata: u32,
278
pub data: [u64; 16usize],
279
}
280
impl Default for hvm_vcpu_run__bindgen_ty_1 {
281
fn default() -> Self {
282
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
283
unsafe {
284
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
285
s.assume_init()
286
}
287
}
288
}
289
impl Default for hvm_vcpu_run {
290
fn default() -> Self {
291
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
292
unsafe {
293
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
294
s.assume_init()
295
}
296
}
297
}
298
#[repr(C)]
299
#[derive(Debug, Default, Copy, Clone)]
300
pub struct hvm_userspace_memory_region {
301
pub slot: u32,
302
pub flags: u32,
303
pub guest_phys_addr: u64,
304
pub memory_size: u64,
305
pub userspace_addr: u64,
306
}
307
#[repr(C)]
308
#[derive(Copy, Clone)]
309
pub struct hvm_irq_level {
310
pub __bindgen_anon_1: hvm_irq_level__bindgen_ty_1,
311
pub level: u32,
312
}
313
#[repr(C)]
314
#[derive(Copy, Clone)]
315
pub union hvm_irq_level__bindgen_ty_1 {
316
pub irq: u32,
317
pub status: i32,
318
}
319
impl Default for hvm_irq_level__bindgen_ty_1 {
320
fn default() -> Self {
321
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
322
unsafe {
323
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
324
s.assume_init()
325
}
326
}
327
}
328
impl Default for hvm_irq_level {
329
fn default() -> Self {
330
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
331
unsafe {
332
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
333
s.assume_init()
334
}
335
}
336
}
337
#[repr(C)]
338
#[derive(Debug, Default, Copy, Clone)]
339
pub struct hvm_irqfd {
340
pub fd: u32,
341
pub gsi: u32,
342
pub flags: u32,
343
pub resamplefd: u32,
344
pub pad: [u8; 16usize],
345
}
346
pub const hvm_ioeventfd_flag_nr_datamatch: ::std::os::raw::c_uint = 0;
347
pub const hvm_ioeventfd_flag_nr_pio: ::std::os::raw::c_uint = 1;
348
pub const hvm_ioeventfd_flag_nr_deassign: ::std::os::raw::c_uint = 2;
349
pub const hvm_ioeventfd_flag_nr_max: ::std::os::raw::c_uint = 3;
350
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
351
#[repr(C)]
352
#[derive(Debug, Copy, Clone)]
353
pub struct hvm_ioeventfd {
354
pub datamatch: u64,
355
pub addr: u64,
356
pub len: u32,
357
pub fd: i32,
358
pub flags: u32,
359
pub pad: [u8; 36usize],
360
}
361
impl Default for hvm_ioeventfd {
362
fn default() -> Self {
363
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
364
unsafe {
365
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
366
s.assume_init()
367
}
368
}
369
}
370
pub const hvm_device_type_HVM_DEV_TYPE_ARM_VGIC_V3_DIST: hvm_device_type = 0;
371
pub const hvm_device_type_HVM_DEV_TYPE_ARM_VGIC_V3_REDIST: hvm_device_type = 1;
372
pub const hvm_device_type_HVM_DEV_TYPE_MAX: hvm_device_type = 2;
373
pub type hvm_device_type = ::std::os::raw::c_uint;
374
#[repr(C)]
375
#[derive(Debug, Default, Copy, Clone)]
376
pub struct hvm_create_device {
377
pub dev_type: u32,
378
pub id: u32,
379
pub flags: u64,
380
pub dev_addr: u64,
381
pub dev_reg_size: u64,
382
pub attr_addr: u64,
383
pub attr_size: u64,
384
}
385
#[repr(C)]
386
#[derive(Debug, Default, Copy, Clone)]
387
pub struct hvm_dtb_config {
388
pub dtb_addr: u64,
389
pub dtb_size: u64,
390
}
391
#[repr(C)]
392
#[derive(Debug, Default, Copy, Clone)]
393
pub struct hvm_enable_cap {
394
pub cap: u64,
395
pub args: [u64; 5usize],
396
}
397
#[repr(C)]
398
#[derive(Debug, Default, Copy, Clone)]
399
pub struct hvm_one_reg {
400
pub id: u64,
401
pub addr: u64,
402
}
403
#[repr(C)]
404
#[repr(align(16))]
405
#[derive(Debug, Default, Copy, Clone)]
406
pub struct hvm_regs {
407
pub regs: user_pt_regs,
408
pub sp_el1: u64,
409
pub elr_el1: u64,
410
pub spsr: [u64; 5usize],
411
pub __bindgen_padding_0: u64,
412
pub fp_regs: user_fpsimd_state,
413
}
414
pub type __uint128_t = u128;
415
416