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