Path: blob/main/hypervisor/src/halla/halla_sys/aarch64/bindings.rs
5394 views
/* automatically generated by tools/bindgen-all-the-things */12#![allow(clippy::missing_safety_doc)]3#![allow(clippy::undocumented_unsafe_blocks)]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)]910pub const HWCAP_FP: u32 = 1;11pub const HWCAP_ASIMD: u32 = 2;12pub const HWCAP_EVTSTRM: u32 = 4;13pub const HWCAP_AES: u32 = 8;14pub const HWCAP_PMULL: u32 = 16;15pub const HWCAP_SHA1: u32 = 32;16pub const HWCAP_SHA2: u32 = 64;17pub const HWCAP_CRC32: u32 = 128;18pub const HWCAP_ATOMICS: u32 = 256;19pub const HWCAP_FPHP: u32 = 512;20pub const HWCAP_ASIMDHP: u32 = 1024;21pub const HWCAP_CPUID: u32 = 2048;22pub const HWCAP_ASIMDRDM: u32 = 4096;23pub const HWCAP_JSCVT: u32 = 8192;24pub const HWCAP_FCMA: u32 = 16384;25pub const HWCAP_LRCPC: u32 = 32768;26pub const HWCAP_DCPOP: u32 = 65536;27pub const HWCAP_SHA3: u32 = 131072;28pub const HWCAP_SM3: u32 = 262144;29pub const HWCAP_SM4: u32 = 524288;30pub const HWCAP_ASIMDDP: u32 = 1048576;31pub const HWCAP_SHA512: u32 = 2097152;32pub const HWCAP_SVE: u32 = 4194304;33pub const HWCAP_ASIMDFHM: u32 = 8388608;34pub const HWCAP_DIT: u32 = 16777216;35pub const HWCAP_USCAT: u32 = 33554432;36pub const HWCAP_ILRCPC: u32 = 67108864;37pub const HWCAP_FLAGM: u32 = 134217728;38pub const HWCAP_SSBS: u32 = 268435456;39pub const HWCAP_SB: u32 = 536870912;40pub const HWCAP_PACA: u32 = 1073741824;41pub const HWCAP_PACG: u32 = 2147483648;42pub const HWCAP2_DCPODP: u32 = 1;43pub const HWCAP2_SVE2: u32 = 2;44pub const HWCAP2_SVEAES: u32 = 4;45pub const HWCAP2_SVEPMULL: u32 = 8;46pub const HWCAP2_SVEBITPERM: u32 = 16;47pub const HWCAP2_SVESHA3: u32 = 32;48pub const HWCAP2_SVESM4: u32 = 64;49pub const HWCAP2_FLAGM2: u32 = 128;50pub const HWCAP2_FRINT: u32 = 256;51pub const HWCAP2_SVEI8MM: u32 = 512;52pub const HWCAP2_SVEF32MM: u32 = 1024;53pub const HWCAP2_SVEF64MM: u32 = 2048;54pub const HWCAP2_SVEBF16: u32 = 4096;55pub const HWCAP2_I8MM: u32 = 8192;56pub const HWCAP2_BF16: u32 = 16384;57pub const HWCAP2_DGH: u32 = 32768;58pub const HWCAP2_RNG: u32 = 65536;59pub const HWCAP2_BTI: u32 = 131072;60pub const HWCAP2_MTE: u32 = 262144;61pub const HWCAP2_ECV: u32 = 524288;62pub const HWCAP2_AFP: u32 = 1048576;63pub const HWCAP2_RPRES: u32 = 2097152;64pub const HWCAP2_MTE3: u32 = 4194304;65pub const HWCAP2_SME: u32 = 8388608;66pub const HWCAP2_SME_I16I64: u32 = 16777216;67pub const HWCAP2_SME_F64F64: u32 = 33554432;68pub const HWCAP2_SME_I8I32: u32 = 67108864;69pub const HWCAP2_SME_F16F32: u32 = 134217728;70pub const HWCAP2_SME_B16F32: u32 = 268435456;71pub const HWCAP2_SME_F32F32: u32 = 536870912;72pub const HWCAP2_SME_FA64: u32 = 1073741824;73pub const HWCAP2_WFXT: u32 = 2147483648;74pub const HWCAP2_EBF16: u64 = 4294967296;75pub const HWCAP2_SVE_EBF16: u64 = 8589934592;76pub const __SVE_VQ_BYTES: u32 = 16;77pub const __SVE_VQ_MIN: u32 = 1;78pub const __SVE_VQ_MAX: u32 = 512;79pub const __SVE_VL_MIN: u32 = 16;80pub const __SVE_VL_MAX: u32 = 8192;81pub const __SVE_NUM_ZREGS: u32 = 32;82pub const __SVE_NUM_PREGS: u32 = 16;83pub const __SVE_ZREGS_OFFSET: u32 = 0;84pub const PSR_MODE_EL0t: u32 = 0;85pub const PSR_MODE_EL1t: u32 = 4;86pub const PSR_MODE_EL1h: u32 = 5;87pub const PSR_MODE_EL2t: u32 = 8;88pub const PSR_MODE_EL2h: u32 = 9;89pub const PSR_MODE_EL3t: u32 = 12;90pub const PSR_MODE_EL3h: u32 = 13;91pub const PSR_MODE_MASK: u32 = 15;92pub const PSR_MODE32_BIT: u32 = 16;93pub const PSR_F_BIT: u32 = 64;94pub const PSR_I_BIT: u32 = 128;95pub const PSR_A_BIT: u32 = 256;96pub const PSR_D_BIT: u32 = 512;97pub const PSR_BTYPE_MASK: u32 = 3072;98pub const PSR_SSBS_BIT: u32 = 4096;99pub const PSR_PAN_BIT: u32 = 4194304;100pub const PSR_UAO_BIT: u32 = 8388608;101pub const PSR_DIT_BIT: u32 = 16777216;102pub const PSR_TCO_BIT: u32 = 33554432;103pub const PSR_V_BIT: u32 = 268435456;104pub const PSR_C_BIT: u32 = 536870912;105pub const PSR_Z_BIT: u32 = 1073741824;106pub const PSR_N_BIT: u32 = 2147483648;107pub const PSR_BTYPE_SHIFT: u32 = 10;108pub const PSR_f: u32 = 4278190080;109pub const PSR_s: u32 = 16711680;110pub const PSR_x: u32 = 65280;111pub const PSR_c: u32 = 255;112pub const PSR_BTYPE_NONE: u32 = 0;113pub const PSR_BTYPE_JC: u32 = 1024;114pub const PSR_BTYPE_C: u32 = 2048;115pub const PSR_BTYPE_J: u32 = 3072;116pub const PTRACE_SYSEMU: u32 = 31;117pub const PTRACE_SYSEMU_SINGLESTEP: u32 = 32;118pub const PTRACE_PEEKMTETAGS: u32 = 33;119pub const PTRACE_POKEMTETAGS: u32 = 34;120pub const SVE_PT_REGS_MASK: u32 = 1;121pub const SVE_PT_REGS_FPSIMD: u32 = 0;122pub const SVE_PT_REGS_SVE: u32 = 1;123pub const SVE_PT_VL_INHERIT: u32 = 2;124pub const SVE_PT_VL_ONEXEC: u32 = 4;125pub const ZA_PT_VL_INHERIT: u32 = 2;126pub const ZA_PT_VL_ONEXEC: u32 = 4;127pub const HVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1;128pub const HVM_SYSTEM_EVENT_RESET: u32 = 2;129pub const HVM_SYSTEM_EVENT_CRASH: u32 = 3;130pub const HVM_SYSTEM_EVENT_WAKEUP: u32 = 4;131pub const HVM_SYSTEM_EVENT_SUSPEND: u32 = 5;132pub const HVM_SYSTEM_EVENT_SEV_TERM: u32 = 6;133pub const GIC_V3_NR_LRS: u32 = 16;134pub const HVM_IOC_MAGIC: u32 = 76;135pub const HVM_CAP_ARM_VM_IPA_SIZE: u32 = 4673601;136pub const HVM_CAP_ARM_PROTECTED_VM: u32 = 5264973;137pub const HVM_VM_TYPE_ARM_PROTECTED: u32 = 2147483648; // (1UL << 31)138pub const HVM_VM_TYPE_IPA_SIZE_MASK: u32 = 255;139pub const HVM_USER_MEM_REGION_GUEST_MEM: u32 = 1;140pub const HVM_USER_MEM_REGION_PROTECT_FW: u32 = 2;141pub const HVM_USER_MEM_REGION_STATIC_SWIOTLB: u32 = 4;142pub const HVM_IRQ_VCPU2_SHIFT: u32 = 28;143pub const HVM_IRQ_VCPU2_MASK: u32 = 15;144pub const HVM_IRQ_TYPE_SHIFT: u32 = 24;145pub const HVM_IRQ_TYPE_MASK: u32 = 15;146pub const HVM_IRQ_VCPU_SHIFT: u32 = 16;147pub const HVM_IRQ_VCPU_MASK: u32 = 255;148pub const HVM_IRQ_NUM_SHIFT: u32 = 0;149pub const HVM_IRQ_NUM_MASK: u32 = 65535;150pub const HVM_IRQ_TYPE_CPU: u32 = 0;151pub const HVM_IRQ_TYPE_SPI: u32 = 1;152pub const HVM_IRQ_TYPE_PPI: u32 = 2;153pub const HVM_IRQ_CPU_IRQ: u32 = 0;154pub const HVM_IRQ_CPU_FIQ: u32 = 1;155pub const HVM_IRQFD_FLAG_DEASSIGN: u32 = 1;156pub const HVM_IRQFD_FLAG_RESAMPLE: u32 = 2;157pub const HVM_CAP_ARM_PVM_SET_PVMFW_IPA: u32 = 0;158pub const HVM_CAP_ARM_PVM_GET_PVMFW_SIZE: u32 = 1;159pub const HVM_REG_ARCH_MASK: i64 = -72057594037927936;160pub const HVM_REG_GENERIC: u32 = 0;161pub const HVM_REG_ARM: u64 = 4611686018427387904;162pub const HVM_REG_ARM64: u64 = 6917529027641081856;163pub const HVM_REG_SIZE_SHIFT: u32 = 52;164pub const HVM_REG_SIZE_MASK: u64 = 67553994410557440;165pub const HVM_REG_SIZE_U8: u32 = 0;166pub const HVM_REG_SIZE_U16: u64 = 4503599627370496;167pub const HVM_REG_SIZE_U32: u64 = 9007199254740992;168pub const HVM_REG_SIZE_U64: u64 = 13510798882111488;169pub const HVM_REG_SIZE_U128: u64 = 18014398509481984;170pub const HVM_REG_SIZE_U256: u64 = 22517998136852480;171pub const HVM_REG_SIZE_U512: u64 = 27021597764222976;172pub const HVM_REG_SIZE_U1024: u64 = 31525197391593472;173pub const HVM_REG_SIZE_U2048: u64 = 36028797018963968;174pub const HVM_NR_SPSR: u32 = 5;175pub const HVM_REG_ARM_COPROC_MASK: u32 = 268369920;176pub const HVM_REG_ARM_COPROC_SHIFT: u32 = 16;177pub const HVM_REG_ARM_CORE: u32 = 1048576;178pub const HVM_REG_ARM_DEMUX: u32 = 1114112;179pub const HVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280;180pub const HVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8;181pub const HVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0;182pub const HVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255;183pub const HVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0;184pub const HVM_REG_ARM64_SYSREG: u32 = 1245184;185pub const HVM_REG_ARM64_SYSREG_OP0_MASK: u32 = 49152;186pub const HVM_REG_ARM64_SYSREG_OP0_SHIFT: u32 = 14;187pub const HVM_REG_ARM64_SYSREG_OP1_MASK: u32 = 14336;188pub const HVM_REG_ARM64_SYSREG_OP1_SHIFT: u32 = 11;189pub const HVM_REG_ARM64_SYSREG_CRN_MASK: u32 = 1920;190pub const HVM_REG_ARM64_SYSREG_CRN_SHIFT: u32 = 7;191pub const HVM_REG_ARM64_SYSREG_CRM_MASK: u32 = 120;192pub const HVM_REG_ARM64_SYSREG_CRM_SHIFT: u32 = 3;193pub const HVM_REG_ARM64_SYSREG_OP2_MASK: u32 = 7;194pub const HVM_REG_ARM64_SYSREG_OP2_SHIFT: u32 = 0;195pub type __le16 = u16;196pub type __be16 = u16;197pub type __le32 = u32;198pub type __be32 = u32;199pub type __le64 = u64;200pub type __be64 = u64;201pub type __sum16 = u16;202pub type __wsum = u32;203pub type __poll_t = ::std::os::raw::c_uint;204#[repr(C)]205#[derive(Debug, Default, Copy, Clone)]206pub struct user_pt_regs {207pub regs: [u64; 31usize],208pub sp: u64,209pub pc: u64,210pub pstate: u64,211}212#[repr(C)]213#[repr(align(16))]214#[derive(Debug, Default, Copy, Clone)]215pub struct user_fpsimd_state {216pub vregs: [__uint128_t; 32usize],217pub fpsr: u32,218pub fpcr: u32,219pub __reserved: [u32; 2usize],220}221pub const HVM_FUNC_CREATE_VM: ::std::os::raw::c_uint = 0;222pub const HVM_FUNC_DESTROY_VM: ::std::os::raw::c_uint = 1;223pub const HVM_FUNC_CREATE_VCPU: ::std::os::raw::c_uint = 2;224pub const HVM_FUNC_DESTROY_VCPU: ::std::os::raw::c_uint = 3;225pub const HVM_FUNC_SET_MEMREGION: ::std::os::raw::c_uint = 4;226pub const HVM_FUNC_RUN: ::std::os::raw::c_uint = 5;227pub const HVM_FUNC_GET_REGS: ::std::os::raw::c_uint = 6;228pub const HVM_FUNC_SET_REGS: ::std::os::raw::c_uint = 7;229pub const HVM_FUNC_GET_ONE_REG: ::std::os::raw::c_uint = 8;230pub const HVM_FUNC_SET_ONE_REG: ::std::os::raw::c_uint = 9;231pub const HVM_FUNC_IRQ_LINE: ::std::os::raw::c_uint = 10;232pub const HVM_FUNC_CREATE_DEVICE: ::std::os::raw::c_uint = 11;233pub const HVM_FUNC_PROBE: ::std::os::raw::c_uint = 12;234pub const HVM_FUNC_ENABLE_CAP: ::std::os::raw::c_uint = 13;235pub const HVM_FUNC_MEMREGION_PURPOSE: ::std::os::raw::c_uint = 14;236pub const HVM_FUNC_SET_DTB_CONFIG: ::std::os::raw::c_uint = 15;237pub const NR_HVM_FUNC: ::std::os::raw::c_uint = 16;238pub type _bindgen_ty_1 = ::std::os::raw::c_uint;239pub type hvm_id_t = u16;240pub type hvm_vcpu_id_t = u16;241pub const HVM_EXIT_MMIO: ::std::os::raw::c_uint = 1212940289;242pub const HVM_EXIT_IRQ: ::std::os::raw::c_uint = 1212940290;243pub const HVM_EXIT_EXCEPTION: ::std::os::raw::c_uint = 1212940291;244pub const HVM_EXIT_INTERNAL_ERROR: ::std::os::raw::c_uint = 1212940292;245pub const HVM_EXIT_SYSTEM_EVENT: ::std::os::raw::c_uint = 1212940293;246pub const HVM_EXIT_SHUTDOWN: ::std::os::raw::c_uint = 1212940294;247pub type _bindgen_ty_2 = ::std::os::raw::c_uint;248#[repr(C)]249#[derive(Copy, Clone)]250pub struct hvm_vcpu_run {251pub exit_reason: u32,252pub immediate_exit: u8,253pub padding1: [u8; 3usize],254pub __bindgen_anon_1: hvm_vcpu_run__bindgen_ty_1,255}256#[repr(C)]257#[derive(Copy, Clone)]258pub union hvm_vcpu_run__bindgen_ty_1 {259pub mmio: hvm_vcpu_run__bindgen_ty_1__bindgen_ty_1,260pub system_event: hvm_vcpu_run__bindgen_ty_1__bindgen_ty_2,261pub padding: [::std::os::raw::c_char; 256usize],262}263#[repr(C)]264#[derive(Debug, Default, Copy, Clone)]265pub struct hvm_vcpu_run__bindgen_ty_1__bindgen_ty_1 {266pub phys_addr: u64,267pub data: [u8; 8usize],268pub size: u64,269pub reg_nr: u32,270pub is_write: u8,271}272#[repr(C)]273#[derive(Debug, Default, Copy, Clone)]274pub struct hvm_vcpu_run__bindgen_ty_1__bindgen_ty_2 {275pub type_: u32,276pub ndata: u32,277pub data: [u64; 16usize],278}279impl Default for hvm_vcpu_run__bindgen_ty_1 {280fn default() -> Self {281let mut s = ::std::mem::MaybeUninit::<Self>::uninit();282unsafe {283::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);284s.assume_init()285}286}287}288impl Default for hvm_vcpu_run {289fn default() -> Self {290let mut s = ::std::mem::MaybeUninit::<Self>::uninit();291unsafe {292::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);293s.assume_init()294}295}296}297#[repr(C)]298#[derive(Debug, Default, Copy, Clone)]299pub struct hvm_userspace_memory_region {300pub slot: u32,301pub flags: u32,302pub guest_phys_addr: u64,303pub memory_size: u64,304pub userspace_addr: u64,305}306#[repr(C)]307#[derive(Copy, Clone)]308pub struct hvm_irq_level {309pub __bindgen_anon_1: hvm_irq_level__bindgen_ty_1,310pub level: u32,311}312#[repr(C)]313#[derive(Copy, Clone)]314pub union hvm_irq_level__bindgen_ty_1 {315pub irq: u32,316pub status: i32,317}318impl Default for hvm_irq_level__bindgen_ty_1 {319fn default() -> Self {320let mut s = ::std::mem::MaybeUninit::<Self>::uninit();321unsafe {322::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);323s.assume_init()324}325}326}327impl Default for hvm_irq_level {328fn default() -> Self {329let mut s = ::std::mem::MaybeUninit::<Self>::uninit();330unsafe {331::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);332s.assume_init()333}334}335}336#[repr(C)]337#[derive(Debug, Default, Copy, Clone)]338pub struct hvm_irqfd {339pub fd: u32,340pub gsi: u32,341pub flags: u32,342pub resamplefd: u32,343pub pad: [u8; 16usize],344}345pub const hvm_ioeventfd_flag_nr_datamatch: ::std::os::raw::c_uint = 0;346pub const hvm_ioeventfd_flag_nr_pio: ::std::os::raw::c_uint = 1;347pub const hvm_ioeventfd_flag_nr_deassign: ::std::os::raw::c_uint = 2;348pub const hvm_ioeventfd_flag_nr_max: ::std::os::raw::c_uint = 3;349pub type _bindgen_ty_3 = ::std::os::raw::c_uint;350#[repr(C)]351#[derive(Debug, Copy, Clone)]352pub struct hvm_ioeventfd {353pub datamatch: u64,354pub addr: u64,355pub len: u32,356pub fd: i32,357pub flags: u32,358pub pad: [u8; 36usize],359}360impl Default for hvm_ioeventfd {361fn default() -> Self {362let mut s = ::std::mem::MaybeUninit::<Self>::uninit();363unsafe {364::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);365s.assume_init()366}367}368}369pub const hvm_device_type_HVM_DEV_TYPE_ARM_VGIC_V3_DIST: hvm_device_type = 0;370pub const hvm_device_type_HVM_DEV_TYPE_ARM_VGIC_V3_REDIST: hvm_device_type = 1;371pub const hvm_device_type_HVM_DEV_TYPE_MAX: hvm_device_type = 2;372pub type hvm_device_type = ::std::os::raw::c_uint;373#[repr(C)]374#[derive(Debug, Default, Copy, Clone)]375pub struct hvm_create_device {376pub dev_type: u32,377pub id: u32,378pub flags: u64,379pub dev_addr: u64,380pub dev_reg_size: u64,381pub attr_addr: u64,382pub attr_size: u64,383}384#[repr(C)]385#[derive(Debug, Default, Copy, Clone)]386pub struct hvm_dtb_config {387pub dtb_addr: u64,388pub dtb_size: u64,389}390#[repr(C)]391#[derive(Debug, Default, Copy, Clone)]392pub struct hvm_enable_cap {393pub cap: u64,394pub args: [u64; 5usize],395}396#[repr(C)]397#[derive(Debug, Default, Copy, Clone)]398pub struct hvm_one_reg {399pub id: u64,400pub addr: u64,401}402#[repr(C)]403#[repr(align(16))]404#[derive(Debug, Default, Copy, Clone)]405pub struct hvm_regs {406pub regs: user_pt_regs,407pub sp_el1: u64,408pub elr_el1: u64,409pub spsr: [u64; 5usize],410pub __bindgen_padding_0: u64,411pub fp_regs: user_fpsimd_state,412}413pub type __uint128_t = u128;414415416