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 { default() -> Self366 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 { default() -> Self375 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 { default() -> Self419 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 { default() -> Self428 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 { default() -> Self461 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