| /* automatically generated by tools/bindgen-all-the-things */ |
| |
| #![allow(clippy::missing_safety_doc)] |
| #![allow(clippy::ptr_offset_with_cast)] // https://github.com/rust-lang/rust-bindgen/issues/3053 |
| #![allow(clippy::undocumented_unsafe_blocks)] |
| #![allow(clippy::upper_case_acronyms)] |
| #![allow(non_upper_case_globals)] |
| #![allow(non_camel_case_types)] |
| #![allow(non_snake_case)] |
| #![allow(dead_code)] |
| |
| // Added by kvm_sys/bindgen.sh |
| use zerocopy::FromBytes; |
| use zerocopy::Immutable; |
| use zerocopy::IntoBytes; |
| use zerocopy::KnownLayout; |
| |
| // TODO(b/388092267): Replace this with an upstream equivalent when available. |
| // The original index (236) used in the ChromeOS v6.6 kernel was reused upstream for another |
| // capability, so this may return incorrect information on some kernels. |
| pub const KVM_CAP_USER_CONFIGURE_NONCOHERENT_DMA_CROS: u32 = 236; |
| pub const KVM_CAP_USER_CONFIGURE_NONCOHERENT_DMA: u32 = 239; |
| pub const KVM_MEM_NON_COHERENT_DMA: u32 = 8; |
| |
| // TODO(qwandor): Update this once the pKVM patches are merged upstream with a stable capability ID. |
| pub const KVM_CAP_ARM_PROTECTED_VM: u32 = 0xffbadab1; |
| pub const KVM_CAP_ARM_PROTECTED_VM_FLAGS_SET_FW_IPA: u32 = 0; |
| pub const KVM_CAP_ARM_PROTECTED_VM_FLAGS_INFO: u32 = 1; |
| pub const KVM_CAP_ARM_PROTECTED_VM_FLAGS_SET_FFA: u32 = 2; |
| pub const KVM_VM_TYPE_ARM_PROTECTED: u32 = 0x80000000; |
| pub const KVM_X86_PKVM_PROTECTED_VM: u32 = 28; |
| pub const KVM_CAP_X86_PROTECTED_VM: u32 = 0xffbadab2; |
| pub const KVM_CAP_X86_PROTECTED_VM_FLAGS_SET_FW_GPA: u32 = 0; |
| pub const KVM_CAP_X86_PROTECTED_VM_FLAGS_INFO: u32 = 1; |
| pub const KVM_DEV_VFIO_PVIOMMU: u32 = 5; |
| pub const KVM_DEV_VFIO_PVIOMMU_ATTACH: u32 = 1; |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_vfio_iommu_info { |
| pub size: u32, |
| pub device_fd: i32, |
| pub nr_sids: u32, |
| pub __reserved: u32, |
| } |
| pub const KVM_DEV_VFIO_PVIOMMU_GET_INFO: u32 = 2; |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_vfio_iommu_config { |
| pub size: u32, |
| pub device_fd: i32, |
| pub sid_idx: u32, |
| pub vsid: u32, |
| pub __reserved: u32, |
| } |
| |
| pub const KVM_SPSR_EL1: u32 = 0; |
| pub const KVM_SPSR_SVC: u32 = 0; |
| pub const KVM_SPSR_ABT: u32 = 1; |
| pub const KVM_SPSR_UND: u32 = 2; |
| pub const KVM_SPSR_IRQ: u32 = 3; |
| pub const KVM_SPSR_FIQ: u32 = 4; |
| pub const KVM_NR_SPSR: u32 = 5; |
| pub const PSCI_0_2_FN_BASE: u32 = 2214592512; |
| pub const PSCI_0_2_64BIT: u32 = 1073741824; |
| pub const PSCI_0_2_FN64_BASE: u32 = 3288334336; |
| pub const PSCI_0_2_POWER_STATE_ID_MASK: u32 = 65535; |
| pub const PSCI_0_2_POWER_STATE_ID_SHIFT: u32 = 0; |
| pub const PSCI_0_2_POWER_STATE_TYPE_SHIFT: u32 = 16; |
| pub const PSCI_0_2_POWER_STATE_TYPE_MASK: u32 = 65536; |
| pub const PSCI_0_2_POWER_STATE_AFFL_SHIFT: u32 = 24; |
| pub const PSCI_0_2_POWER_STATE_AFFL_MASK: u32 = 50331648; |
| pub const PSCI_1_0_EXT_POWER_STATE_ID_MASK: u32 = 268435455; |
| pub const PSCI_1_0_EXT_POWER_STATE_ID_SHIFT: u32 = 0; |
| pub const PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT: u32 = 30; |
| pub const PSCI_1_0_EXT_POWER_STATE_TYPE_MASK: u32 = 1073741824; |
| pub const PSCI_0_2_AFFINITY_LEVEL_ON: u32 = 0; |
| pub const PSCI_0_2_AFFINITY_LEVEL_OFF: u32 = 1; |
| pub const PSCI_0_2_AFFINITY_LEVEL_ON_PENDING: u32 = 2; |
| pub const PSCI_0_2_TOS_UP_MIGRATE: u32 = 0; |
| pub const PSCI_0_2_TOS_UP_NO_MIGRATE: u32 = 1; |
| pub const PSCI_0_2_TOS_MP: u32 = 2; |
| pub const PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET: u32 = 0; |
| pub const PSCI_1_1_RESET_TYPE_VENDOR_START: u32 = 2147483648; |
| pub const PSCI_VERSION_MAJOR_SHIFT: u32 = 16; |
| pub const PSCI_VERSION_MINOR_MASK: u32 = 65535; |
| pub const PSCI_VERSION_MAJOR_MASK: i32 = -65536; |
| pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT: u32 = 1; |
| pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK: u32 = 2; |
| pub const PSCI_1_0_SUSPEND_MODE_PC: u32 = 0; |
| pub const PSCI_1_0_SUSPEND_MODE_OSI: u32 = 1; |
| pub const PSCI_RET_SUCCESS: u32 = 0; |
| pub const PSCI_RET_NOT_SUPPORTED: i32 = -1; |
| pub const PSCI_RET_INVALID_PARAMS: i32 = -2; |
| pub const PSCI_RET_DENIED: i32 = -3; |
| pub const PSCI_RET_ALREADY_ON: i32 = -4; |
| pub const PSCI_RET_ON_PENDING: i32 = -5; |
| pub const PSCI_RET_INTERNAL_FAILURE: i32 = -6; |
| pub const PSCI_RET_NOT_PRESENT: i32 = -7; |
| pub const PSCI_RET_DISABLED: i32 = -8; |
| pub const PSCI_RET_INVALID_ADDRESS: i32 = -9; |
| pub const HWCAP_FP: u32 = 1; |
| pub const HWCAP_ASIMD: u32 = 2; |
| pub const HWCAP_EVTSTRM: u32 = 4; |
| pub const HWCAP_AES: u32 = 8; |
| pub const HWCAP_PMULL: u32 = 16; |
| pub const HWCAP_SHA1: u32 = 32; |
| pub const HWCAP_SHA2: u32 = 64; |
| pub const HWCAP_CRC32: u32 = 128; |
| pub const HWCAP_ATOMICS: u32 = 256; |
| pub const HWCAP_FPHP: u32 = 512; |
| pub const HWCAP_ASIMDHP: u32 = 1024; |
| pub const HWCAP_CPUID: u32 = 2048; |
| pub const HWCAP_ASIMDRDM: u32 = 4096; |
| pub const HWCAP_JSCVT: u32 = 8192; |
| pub const HWCAP_FCMA: u32 = 16384; |
| pub const HWCAP_LRCPC: u32 = 32768; |
| pub const HWCAP_DCPOP: u32 = 65536; |
| pub const HWCAP_SHA3: u32 = 131072; |
| pub const HWCAP_SM3: u32 = 262144; |
| pub const HWCAP_SM4: u32 = 524288; |
| pub const HWCAP_ASIMDDP: u32 = 1048576; |
| pub const HWCAP_SHA512: u32 = 2097152; |
| pub const HWCAP_SVE: u32 = 4194304; |
| pub const HWCAP_ASIMDFHM: u32 = 8388608; |
| pub const HWCAP_DIT: u32 = 16777216; |
| pub const HWCAP_USCAT: u32 = 33554432; |
| pub const HWCAP_ILRCPC: u32 = 67108864; |
| pub const HWCAP_FLAGM: u32 = 134217728; |
| pub const HWCAP_SSBS: u32 = 268435456; |
| pub const HWCAP_SB: u32 = 536870912; |
| pub const HWCAP_PACA: u32 = 1073741824; |
| pub const HWCAP_PACG: u32 = 2147483648; |
| pub const HWCAP2_DCPODP: u32 = 1; |
| pub const HWCAP2_SVE2: u32 = 2; |
| pub const HWCAP2_SVEAES: u32 = 4; |
| pub const HWCAP2_SVEPMULL: u32 = 8; |
| pub const HWCAP2_SVEBITPERM: u32 = 16; |
| pub const HWCAP2_SVESHA3: u32 = 32; |
| pub const HWCAP2_SVESM4: u32 = 64; |
| pub const HWCAP2_FLAGM2: u32 = 128; |
| pub const HWCAP2_FRINT: u32 = 256; |
| pub const HWCAP2_SVEI8MM: u32 = 512; |
| pub const HWCAP2_SVEF32MM: u32 = 1024; |
| pub const HWCAP2_SVEF64MM: u32 = 2048; |
| pub const HWCAP2_SVEBF16: u32 = 4096; |
| pub const HWCAP2_I8MM: u32 = 8192; |
| pub const HWCAP2_BF16: u32 = 16384; |
| pub const HWCAP2_DGH: u32 = 32768; |
| pub const HWCAP2_RNG: u32 = 65536; |
| pub const HWCAP2_BTI: u32 = 131072; |
| pub const HWCAP2_MTE: u32 = 262144; |
| pub const HWCAP2_ECV: u32 = 524288; |
| pub const HWCAP2_AFP: u32 = 1048576; |
| pub const HWCAP2_RPRES: u32 = 2097152; |
| pub const HWCAP2_MTE3: u32 = 4194304; |
| pub const HWCAP2_SME: u32 = 8388608; |
| pub const HWCAP2_SME_I16I64: u32 = 16777216; |
| pub const HWCAP2_SME_F64F64: u32 = 33554432; |
| pub const HWCAP2_SME_I8I32: u32 = 67108864; |
| pub const HWCAP2_SME_F16F32: u32 = 134217728; |
| pub const HWCAP2_SME_B16F32: u32 = 268435456; |
| pub const HWCAP2_SME_F32F32: u32 = 536870912; |
| pub const HWCAP2_SME_FA64: u32 = 1073741824; |
| pub const HWCAP2_WFXT: u32 = 2147483648; |
| pub const HWCAP2_EBF16: u64 = 4294967296; |
| pub const HWCAP2_SVE_EBF16: u64 = 8589934592; |
| pub const HWCAP2_CSSC: u64 = 17179869184; |
| pub const HWCAP2_RPRFM: u64 = 34359738368; |
| pub const HWCAP2_SVE2P1: u64 = 68719476736; |
| pub const HWCAP2_SME2: u64 = 137438953472; |
| pub const HWCAP2_SME2P1: u64 = 274877906944; |
| pub const HWCAP2_SME_I16I32: u64 = 549755813888; |
| pub const HWCAP2_SME_BI32I32: u64 = 1099511627776; |
| pub const HWCAP2_SME_B16B16: u64 = 2199023255552; |
| pub const HWCAP2_SME_F16F16: u64 = 4398046511104; |
| pub const HWCAP2_MOPS: u64 = 8796093022208; |
| pub const HWCAP2_HBC: u64 = 17592186044416; |
| pub const HWCAP2_SVE_B16B16: u64 = 35184372088832; |
| pub const HWCAP2_LRCPC3: u64 = 70368744177664; |
| pub const HWCAP2_LSE128: u64 = 140737488355328; |
| pub const HWCAP2_FPMR: u64 = 281474976710656; |
| pub const HWCAP2_LUT: u64 = 562949953421312; |
| pub const HWCAP2_FAMINMAX: u64 = 1125899906842624; |
| pub const HWCAP2_F8CVT: u64 = 2251799813685248; |
| pub const HWCAP2_F8FMA: u64 = 4503599627370496; |
| pub const HWCAP2_F8DP4: u64 = 9007199254740992; |
| pub const HWCAP2_F8DP2: u64 = 18014398509481984; |
| pub const HWCAP2_F8E4M3: u64 = 36028797018963968; |
| pub const HWCAP2_F8E5M2: u64 = 72057594037927936; |
| pub const HWCAP2_SME_LUTV2: u64 = 144115188075855872; |
| pub const HWCAP2_SME_F8F16: u64 = 288230376151711744; |
| pub const HWCAP2_SME_F8F32: u64 = 576460752303423488; |
| pub const HWCAP2_SME_SF8FMA: u64 = 1152921504606846976; |
| pub const HWCAP2_SME_SF8DP4: u64 = 2305843009213693952; |
| pub const HWCAP2_SME_SF8DP2: u64 = 4611686018427387904; |
| pub const HWCAP2_POE: i64 = -9223372036854775808; |
| pub const __SVE_VQ_BYTES: u32 = 16; |
| pub const __SVE_VQ_MIN: u32 = 1; |
| pub const __SVE_VQ_MAX: u32 = 512; |
| pub const __SVE_VL_MIN: u32 = 16; |
| pub const __SVE_VL_MAX: u32 = 8192; |
| pub const __SVE_NUM_ZREGS: u32 = 32; |
| pub const __SVE_NUM_PREGS: u32 = 16; |
| pub const __SVE_ZREGS_OFFSET: u32 = 0; |
| pub const PSR_MODE_EL0t: u32 = 0; |
| pub const PSR_MODE_EL1t: u32 = 4; |
| pub const PSR_MODE_EL1h: u32 = 5; |
| pub const PSR_MODE_EL2t: u32 = 8; |
| pub const PSR_MODE_EL2h: u32 = 9; |
| pub const PSR_MODE_EL3t: u32 = 12; |
| pub const PSR_MODE_EL3h: u32 = 13; |
| pub const PSR_MODE_MASK: u32 = 15; |
| pub const PSR_MODE32_BIT: u32 = 16; |
| pub const PSR_F_BIT: u32 = 64; |
| pub const PSR_I_BIT: u32 = 128; |
| pub const PSR_A_BIT: u32 = 256; |
| pub const PSR_D_BIT: u32 = 512; |
| pub const PSR_BTYPE_MASK: u32 = 3072; |
| pub const PSR_SSBS_BIT: u32 = 4096; |
| pub const PSR_PAN_BIT: u32 = 4194304; |
| pub const PSR_UAO_BIT: u32 = 8388608; |
| pub const PSR_DIT_BIT: u32 = 16777216; |
| pub const PSR_TCO_BIT: u32 = 33554432; |
| pub const PSR_V_BIT: u32 = 268435456; |
| pub const PSR_C_BIT: u32 = 536870912; |
| pub const PSR_Z_BIT: u32 = 1073741824; |
| pub const PSR_N_BIT: u32 = 2147483648; |
| pub const PSR_BTYPE_SHIFT: u32 = 10; |
| pub const PSR_f: u32 = 4278190080; |
| pub const PSR_s: u32 = 16711680; |
| pub const PSR_x: u32 = 65280; |
| pub const PSR_c: u32 = 255; |
| pub const PSR_BTYPE_NONE: u32 = 0; |
| pub const PSR_BTYPE_JC: u32 = 1024; |
| pub const PSR_BTYPE_C: u32 = 2048; |
| pub const PSR_BTYPE_J: u32 = 3072; |
| pub const PTRACE_SYSEMU: u32 = 31; |
| pub const PTRACE_SYSEMU_SINGLESTEP: u32 = 32; |
| pub const PTRACE_PEEKMTETAGS: u32 = 33; |
| pub const PTRACE_POKEMTETAGS: u32 = 34; |
| pub const SVE_PT_REGS_MASK: u32 = 1; |
| pub const SVE_PT_REGS_FPSIMD: u32 = 0; |
| pub const SVE_PT_REGS_SVE: u32 = 1; |
| pub const SVE_PT_VL_INHERIT: u32 = 2; |
| pub const SVE_PT_VL_ONEXEC: u32 = 4; |
| pub const ZA_PT_VL_INHERIT: u32 = 2; |
| pub const ZA_PT_VL_ONEXEC: u32 = 4; |
| pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 1; |
| pub const KVM_DIRTY_LOG_PAGE_OFFSET: u32 = 64; |
| pub const KVM_ARM_TARGET_AEM_V8: u32 = 0; |
| pub const KVM_ARM_TARGET_FOUNDATION_V8: u32 = 1; |
| pub const KVM_ARM_TARGET_CORTEX_A57: u32 = 2; |
| pub const KVM_ARM_TARGET_XGENE_POTENZA: u32 = 3; |
| pub const KVM_ARM_TARGET_CORTEX_A53: u32 = 4; |
| pub const KVM_ARM_TARGET_GENERIC_V8: u32 = 5; |
| pub const KVM_ARM_NUM_TARGETS: u32 = 6; |
| pub const KVM_ARM_DEVICE_TYPE_SHIFT: u32 = 0; |
| pub const KVM_ARM_DEVICE_ID_SHIFT: u32 = 16; |
| pub const KVM_ARM_DEVICE_VGIC_V2: u32 = 0; |
| pub const KVM_VGIC_V2_ADDR_TYPE_DIST: u32 = 0; |
| pub const KVM_VGIC_V2_ADDR_TYPE_CPU: u32 = 1; |
| pub const KVM_VGIC_V2_DIST_SIZE: u32 = 4096; |
| pub const KVM_VGIC_V2_CPU_SIZE: u32 = 8192; |
| pub const KVM_VGIC_V3_ADDR_TYPE_DIST: u32 = 2; |
| pub const KVM_VGIC_V3_ADDR_TYPE_REDIST: u32 = 3; |
| pub const KVM_VGIC_ITS_ADDR_TYPE: u32 = 4; |
| pub const KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION: u32 = 5; |
| pub const KVM_ARM_VCPU_POWER_OFF: u32 = 0; |
| pub const KVM_ARM_VCPU_EL1_32BIT: u32 = 1; |
| pub const KVM_ARM_VCPU_PSCI_0_2: u32 = 2; |
| pub const KVM_ARM_VCPU_PMU_V3: u32 = 3; |
| pub const KVM_ARM_VCPU_SVE: u32 = 4; |
| pub const KVM_ARM_VCPU_PTRAUTH_ADDRESS: u32 = 5; |
| pub const KVM_ARM_VCPU_PTRAUTH_GENERIC: u32 = 6; |
| pub const KVM_ARM_VCPU_HAS_EL2: u32 = 7; |
| pub const KVM_ARM_MAX_DBG_REGS: u32 = 16; |
| pub const KVM_DEBUG_ARCH_HSR_HIGH_VALID: u32 = 1; |
| pub const KVM_GUESTDBG_USE_SW_BP: u32 = 65536; |
| pub const KVM_GUESTDBG_USE_HW: u32 = 131072; |
| pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; |
| pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; |
| pub const KVM_ARM_DEV_PMU: u32 = 4; |
| pub const KVM_PMU_EVENT_ALLOW: u32 = 0; |
| pub const KVM_PMU_EVENT_DENY: u32 = 1; |
| pub const KVM_ARM_TAGS_TO_GUEST: u32 = 0; |
| pub const KVM_ARM_TAGS_FROM_GUEST: u32 = 1; |
| pub const KVM_REG_ARM_COPROC_MASK: u32 = 268369920; |
| pub const KVM_REG_ARM_COPROC_SHIFT: u32 = 16; |
| pub const KVM_REG_ARM_CORE: u32 = 1048576; |
| pub const KVM_REG_ARM_DEMUX: u32 = 1114112; |
| pub const KVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280; |
| pub const KVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8; |
| pub const KVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0; |
| pub const KVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255; |
| pub const KVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0; |
| pub const KVM_REG_ARM64_SYSREG: u32 = 1245184; |
| pub const KVM_REG_ARM64_SYSREG_OP0_MASK: u32 = 49152; |
| pub const KVM_REG_ARM64_SYSREG_OP0_SHIFT: u32 = 14; |
| pub const KVM_REG_ARM64_SYSREG_OP1_MASK: u32 = 14336; |
| pub const KVM_REG_ARM64_SYSREG_OP1_SHIFT: u32 = 11; |
| pub const KVM_REG_ARM64_SYSREG_CRN_MASK: u32 = 1920; |
| pub const KVM_REG_ARM64_SYSREG_CRN_SHIFT: u32 = 7; |
| pub const KVM_REG_ARM64_SYSREG_CRM_MASK: u32 = 120; |
| pub const KVM_REG_ARM64_SYSREG_CRM_SHIFT: u32 = 3; |
| pub const KVM_REG_ARM64_SYSREG_OP2_MASK: u32 = 7; |
| pub const KVM_REG_ARM64_SYSREG_OP2_SHIFT: u32 = 0; |
| pub const KVM_REG_ARM_FW: u32 = 1310720; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL: u32 = 0; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL: u32 = 1; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED: u32 = 2; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL: u32 = 0; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN: u32 = 1; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_AVAIL: u32 = 2; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_REQUIRED: u32 = 3; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_ENABLED: u32 = 16; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_3_NOT_AVAIL: u32 = 0; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_3_AVAIL: u32 = 1; |
| pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_3_NOT_REQUIRED: u32 = 2; |
| pub const KVM_REG_ARM64_SVE: u32 = 1376256; |
| pub const KVM_REG_ARM64_SVE_ZREG_BASE: u32 = 0; |
| pub const KVM_REG_ARM64_SVE_PREG_BASE: u32 = 1024; |
| pub const KVM_REG_ARM64_SVE_FFR_BASE: u32 = 1536; |
| pub const KVM_ARM64_SVE_NUM_ZREGS: u32 = 32; |
| pub const KVM_ARM64_SVE_NUM_PREGS: u32 = 16; |
| pub const KVM_ARM64_SVE_MAX_SLICES: u32 = 32; |
| pub const KVM_ARM64_SVE_VQ_MIN: u32 = 1; |
| pub const KVM_ARM64_SVE_VQ_MAX: u32 = 512; |
| pub const KVM_ARM64_SVE_VLS_WORDS: u32 = 8; |
| pub const KVM_REG_ARM_FW_FEAT_BMAP: u32 = 1441792; |
| pub const KVM_ARM_VM_SMCCC_CTRL: u32 = 0; |
| pub const KVM_ARM_VM_SMCCC_FILTER: u32 = 0; |
| pub const KVM_DEV_ARM_VGIC_GRP_ADDR: u32 = 0; |
| pub const KVM_DEV_ARM_VGIC_GRP_DIST_REGS: u32 = 1; |
| pub const KVM_DEV_ARM_VGIC_GRP_CPU_REGS: u32 = 2; |
| pub const KVM_DEV_ARM_VGIC_CPUID_SHIFT: u32 = 32; |
| pub const KVM_DEV_ARM_VGIC_CPUID_MASK: u64 = 1095216660480; |
| pub const KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT: u32 = 32; |
| pub const KVM_DEV_ARM_VGIC_V3_MPIDR_MASK: i64 = -4294967296; |
| pub const KVM_DEV_ARM_VGIC_OFFSET_SHIFT: u32 = 0; |
| pub const KVM_DEV_ARM_VGIC_OFFSET_MASK: u32 = 4294967295; |
| pub const KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK: u32 = 65535; |
| pub const KVM_DEV_ARM_VGIC_GRP_NR_IRQS: u32 = 3; |
| pub const KVM_DEV_ARM_VGIC_GRP_CTRL: u32 = 4; |
| pub const KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: u32 = 5; |
| pub const KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS: u32 = 6; |
| pub const KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: u32 = 7; |
| pub const KVM_DEV_ARM_VGIC_GRP_ITS_REGS: u32 = 8; |
| pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT: u32 = 10; |
| pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK: u32 = 4294966272; |
| pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK: u32 = 1023; |
| pub const VGIC_LEVEL_INFO_LINE_LEVEL: u32 = 0; |
| pub const KVM_DEV_ARM_VGIC_CTRL_INIT: u32 = 0; |
| pub const KVM_DEV_ARM_ITS_SAVE_TABLES: u32 = 1; |
| pub const KVM_DEV_ARM_ITS_RESTORE_TABLES: u32 = 2; |
| pub const KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES: u32 = 3; |
| pub const KVM_DEV_ARM_ITS_CTRL_RESET: u32 = 4; |
| pub const KVM_ARM_VCPU_PMU_V3_CTRL: u32 = 0; |
| pub const KVM_ARM_VCPU_PMU_V3_IRQ: u32 = 0; |
| pub const KVM_ARM_VCPU_PMU_V3_INIT: u32 = 1; |
| pub const KVM_ARM_VCPU_PMU_V3_FILTER: u32 = 2; |
| pub const KVM_ARM_VCPU_PMU_V3_SET_PMU: u32 = 3; |
| pub const KVM_ARM_VCPU_TIMER_CTRL: u32 = 1; |
| pub const KVM_ARM_VCPU_TIMER_IRQ_VTIMER: u32 = 0; |
| pub const KVM_ARM_VCPU_TIMER_IRQ_PTIMER: u32 = 1; |
| pub const KVM_ARM_VCPU_TIMER_IRQ_HVTIMER: u32 = 2; |
| pub const KVM_ARM_VCPU_TIMER_IRQ_HPTIMER: u32 = 3; |
| pub const KVM_ARM_VCPU_PVTIME_CTRL: u32 = 2; |
| pub const KVM_ARM_VCPU_PVTIME_IPA: u32 = 0; |
| pub const KVM_ARM_IRQ_VCPU2_SHIFT: u32 = 28; |
| pub const KVM_ARM_IRQ_VCPU2_MASK: u32 = 15; |
| pub const KVM_ARM_IRQ_TYPE_SHIFT: u32 = 24; |
| pub const KVM_ARM_IRQ_TYPE_MASK: u32 = 15; |
| pub const KVM_ARM_IRQ_VCPU_SHIFT: u32 = 16; |
| pub const KVM_ARM_IRQ_VCPU_MASK: u32 = 255; |
| pub const KVM_ARM_IRQ_NUM_SHIFT: u32 = 0; |
| pub const KVM_ARM_IRQ_NUM_MASK: u32 = 65535; |
| pub const KVM_ARM_IRQ_TYPE_CPU: u32 = 0; |
| pub const KVM_ARM_IRQ_TYPE_SPI: u32 = 1; |
| pub const KVM_ARM_IRQ_TYPE_PPI: u32 = 2; |
| pub const KVM_ARM_IRQ_CPU_IRQ: u32 = 0; |
| pub const KVM_ARM_IRQ_CPU_FIQ: u32 = 1; |
| pub const KVM_ARM_IRQ_GIC_MAX: u32 = 127; |
| pub const KVM_NR_IRQCHIPS: u32 = 1; |
| pub const KVM_PSCI_FN_BASE: u32 = 2512501342; |
| pub const KVM_PSCI_RET_SUCCESS: u32 = 0; |
| pub const KVM_PSCI_RET_NI: i32 = -1; |
| pub const KVM_PSCI_RET_INVAL: i32 = -2; |
| pub const KVM_PSCI_RET_DENIED: i32 = -3; |
| pub const KVM_SYSTEM_EVENT_RESET_FLAG_PSCI_RESET2: u32 = 1; |
| pub const KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED: u32 = 1; |
| pub const KVM_HYPERCALL_EXIT_SMC: u32 = 1; |
| pub const KVM_HYPERCALL_EXIT_16BIT: u32 = 2; |
| pub const KVM_ARM_FEATURE_ID_RANGE: u32 = 0; |
| pub const KVM_ARM_FEATURE_ID_RANGE_SIZE: u32 = 192; |
| pub const KVM_API_VERSION: u32 = 12; |
| pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; |
| pub const KVM_MEM_READONLY: u32 = 2; |
| pub const KVM_MEM_GUEST_MEMFD: u32 = 4; |
| pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; |
| pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; |
| pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; |
| pub const KVM_EXIT_HYPERV_SYNDBG: u32 = 3; |
| pub const KVM_EXIT_XEN_HCALL: u32 = 1; |
| pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; |
| pub const KVM_S390_SKEYS_MAX: u32 = 1048576; |
| pub const KVM_EXIT_UNKNOWN: u32 = 0; |
| pub const KVM_EXIT_EXCEPTION: u32 = 1; |
| pub const KVM_EXIT_IO: u32 = 2; |
| pub const KVM_EXIT_HYPERCALL: u32 = 3; |
| pub const KVM_EXIT_DEBUG: u32 = 4; |
| pub const KVM_EXIT_HLT: u32 = 5; |
| pub const KVM_EXIT_MMIO: u32 = 6; |
| pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; |
| pub const KVM_EXIT_SHUTDOWN: u32 = 8; |
| pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; |
| pub const KVM_EXIT_INTR: u32 = 10; |
| pub const KVM_EXIT_SET_TPR: u32 = 11; |
| pub const KVM_EXIT_TPR_ACCESS: u32 = 12; |
| pub const KVM_EXIT_S390_SIEIC: u32 = 13; |
| pub const KVM_EXIT_S390_RESET: u32 = 14; |
| pub const KVM_EXIT_DCR: u32 = 15; |
| pub const KVM_EXIT_NMI: u32 = 16; |
| pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; |
| pub const KVM_EXIT_OSI: u32 = 18; |
| pub const KVM_EXIT_PAPR_HCALL: u32 = 19; |
| pub const KVM_EXIT_S390_UCONTROL: u32 = 20; |
| pub const KVM_EXIT_WATCHDOG: u32 = 21; |
| pub const KVM_EXIT_S390_TSCH: u32 = 22; |
| pub const KVM_EXIT_EPR: u32 = 23; |
| pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; |
| pub const KVM_EXIT_S390_STSI: u32 = 25; |
| pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; |
| pub const KVM_EXIT_HYPERV: u32 = 27; |
| pub const KVM_EXIT_ARM_NISV: u32 = 28; |
| pub const KVM_EXIT_X86_RDMSR: u32 = 29; |
| pub const KVM_EXIT_X86_WRMSR: u32 = 30; |
| pub const KVM_EXIT_DIRTY_RING_FULL: u32 = 31; |
| pub const KVM_EXIT_AP_RESET_HOLD: u32 = 32; |
| pub const KVM_EXIT_X86_BUS_LOCK: u32 = 33; |
| pub const KVM_EXIT_XEN: u32 = 34; |
| pub const KVM_EXIT_RISCV_SBI: u32 = 35; |
| pub const KVM_EXIT_RISCV_CSR: u32 = 36; |
| pub const KVM_EXIT_NOTIFY: u32 = 37; |
| pub const KVM_EXIT_LOONGARCH_IOCSR: u32 = 38; |
| pub const KVM_EXIT_MEMORY_FAULT: u32 = 39; |
| pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; |
| pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; |
| pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; |
| pub const KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON: u32 = 4; |
| pub const KVM_INTERNAL_ERROR_EMULATION_FLAG_INSTRUCTION_BYTES: u32 = 1; |
| pub const KVM_EXIT_IO_IN: u32 = 0; |
| pub const KVM_EXIT_IO_OUT: u32 = 1; |
| pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; |
| pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; |
| pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; |
| pub const KVM_SYSTEM_EVENT_WAKEUP: u32 = 4; |
| pub const KVM_SYSTEM_EVENT_SUSPEND: u32 = 5; |
| pub const KVM_SYSTEM_EVENT_SEV_TERM: u32 = 6; |
| pub const KVM_MSR_EXIT_REASON_INVAL: u32 = 1; |
| pub const KVM_MSR_EXIT_REASON_UNKNOWN: u32 = 2; |
| pub const KVM_MSR_EXIT_REASON_FILTER: u32 = 4; |
| pub const KVM_MSR_EXIT_REASON_VALID_MASK: u32 = 7; |
| pub const KVM_NOTIFY_CONTEXT_INVALID: u32 = 1; |
| pub const KVM_MEMORY_EXIT_FLAG_PRIVATE: u32 = 8; |
| pub const SYNC_REGS_SIZE_BYTES: u32 = 2048; |
| pub const KVM_MP_STATE_RUNNABLE: u32 = 0; |
| pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; |
| pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; |
| pub const KVM_MP_STATE_HALTED: u32 = 3; |
| pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; |
| pub const KVM_MP_STATE_STOPPED: u32 = 5; |
| pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; |
| pub const KVM_MP_STATE_OPERATING: u32 = 7; |
| pub const KVM_MP_STATE_LOAD: u32 = 8; |
| pub const KVM_MP_STATE_AP_RESET_HOLD: u32 = 9; |
| pub const KVM_MP_STATE_SUSPENDED: u32 = 10; |
| pub const KVM_GUESTDBG_ENABLE: u32 = 1; |
| pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; |
| pub const KVM_X86_DISABLE_EXITS_MWAIT: u32 = 1; |
| pub const KVM_X86_DISABLE_EXITS_HLT: u32 = 2; |
| pub const KVM_X86_DISABLE_EXITS_PAUSE: u32 = 4; |
| pub const KVM_X86_DISABLE_EXITS_CSTATE: u32 = 8; |
| pub const KVM_X86_DISABLE_VALID_EXITS: u32 = 15; |
| pub const KVMIO: u32 = 174; |
| pub const KVM_VM_S390_UCONTROL: u32 = 1; |
| pub const KVM_VM_PPC_HV: u32 = 1; |
| pub const KVM_VM_PPC_PR: u32 = 2; |
| pub const KVM_VM_MIPS_AUTO: u32 = 0; |
| pub const KVM_VM_MIPS_VZ: u32 = 1; |
| pub const KVM_VM_MIPS_TE: u32 = 2; |
| pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; |
| pub const KVM_VM_TYPE_ARM_IPA_SIZE_MASK: u32 = 255; |
| pub const KVM_CAP_IRQCHIP: u32 = 0; |
| pub const KVM_CAP_HLT: u32 = 1; |
| pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; |
| pub const KVM_CAP_USER_MEMORY: u32 = 3; |
| pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; |
| pub const KVM_CAP_VAPIC: u32 = 6; |
| pub const KVM_CAP_EXT_CPUID: u32 = 7; |
| pub const KVM_CAP_CLOCKSOURCE: u32 = 8; |
| pub const KVM_CAP_NR_VCPUS: u32 = 9; |
| pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; |
| pub const KVM_CAP_PIT: u32 = 11; |
| pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; |
| pub const KVM_CAP_PV_MMU: u32 = 13; |
| pub const KVM_CAP_MP_STATE: u32 = 14; |
| pub const KVM_CAP_COALESCED_MMIO: u32 = 15; |
| pub const KVM_CAP_SYNC_MMU: u32 = 16; |
| pub const KVM_CAP_IOMMU: u32 = 18; |
| pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; |
| pub const KVM_CAP_USER_NMI: u32 = 22; |
| pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; |
| pub const KVM_CAP_IRQ_ROUTING: u32 = 25; |
| pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; |
| pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; |
| pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; |
| pub const KVM_CAP_IRQFD: u32 = 32; |
| pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; |
| pub const KVM_CAP_IOEVENTFD: u32 = 36; |
| pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; |
| pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; |
| pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; |
| pub const KVM_CAP_VCPU_EVENTS: u32 = 41; |
| pub const KVM_CAP_S390_PSW: u32 = 42; |
| pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; |
| pub const KVM_CAP_HYPERV: u32 = 44; |
| pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; |
| pub const KVM_CAP_HYPERV_SPIN: u32 = 46; |
| pub const KVM_CAP_PCI_SEGMENT: u32 = 47; |
| pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; |
| pub const KVM_CAP_INTR_SHADOW: u32 = 49; |
| pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; |
| pub const KVM_CAP_PPC_OSI: u32 = 52; |
| pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; |
| pub const KVM_CAP_ENABLE_CAP: u32 = 54; |
| pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; |
| pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; |
| pub const KVM_CAP_ASYNC_PF: u32 = 59; |
| pub const KVM_CAP_TSC_CONTROL: u32 = 60; |
| pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; |
| pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; |
| pub const KVM_CAP_SPAPR_TCE: u32 = 63; |
| pub const KVM_CAP_PPC_SMT: u32 = 64; |
| pub const KVM_CAP_PPC_RMA: u32 = 65; |
| pub const KVM_CAP_MAX_VCPUS: u32 = 66; |
| pub const KVM_CAP_PPC_HIOR: u32 = 67; |
| pub const KVM_CAP_PPC_PAPR: u32 = 68; |
| pub const KVM_CAP_SW_TLB: u32 = 69; |
| pub const KVM_CAP_ONE_REG: u32 = 70; |
| pub const KVM_CAP_S390_GMAP: u32 = 71; |
| pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; |
| pub const KVM_CAP_S390_UCONTROL: u32 = 73; |
| pub const KVM_CAP_SYNC_REGS: u32 = 74; |
| pub const KVM_CAP_PCI_2_3: u32 = 75; |
| pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; |
| pub const KVM_CAP_SIGNAL_MSI: u32 = 77; |
| pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; |
| pub const KVM_CAP_S390_COW: u32 = 79; |
| pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; |
| pub const KVM_CAP_READONLY_MEM: u32 = 81; |
| pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; |
| pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; |
| pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; |
| pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; |
| pub const KVM_CAP_PPC_EPR: u32 = 86; |
| pub const KVM_CAP_ARM_PSCI: u32 = 87; |
| pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; |
| pub const KVM_CAP_DEVICE_CTRL: u32 = 89; |
| pub const KVM_CAP_IRQ_MPIC: u32 = 90; |
| pub const KVM_CAP_PPC_RTAS: u32 = 91; |
| pub const KVM_CAP_IRQ_XICS: u32 = 92; |
| pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; |
| pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; |
| pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; |
| pub const KVM_CAP_HYPERV_TIME: u32 = 96; |
| pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; |
| pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; |
| pub const KVM_CAP_S390_IRQCHIP: u32 = 99; |
| pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; |
| pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; |
| pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; |
| pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; |
| pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; |
| pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; |
| pub const KVM_CAP_S390_USER_SIGP: u32 = 106; |
| pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; |
| pub const KVM_CAP_S390_MEM_OP: u32 = 108; |
| pub const KVM_CAP_S390_USER_STSI: u32 = 109; |
| pub const KVM_CAP_S390_SKEYS: u32 = 110; |
| pub const KVM_CAP_MIPS_FPU: u32 = 111; |
| pub const KVM_CAP_MIPS_MSA: u32 = 112; |
| pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; |
| pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; |
| pub const KVM_CAP_PPC_HWRNG: u32 = 115; |
| pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; |
| pub const KVM_CAP_X86_SMM: u32 = 117; |
| pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; |
| pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; |
| pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; |
| pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; |
| pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; |
| pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; |
| pub const KVM_CAP_S390_RI: u32 = 124; |
| pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; |
| pub const KVM_CAP_ARM_PMU_V3: u32 = 126; |
| pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; |
| pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; |
| pub const KVM_CAP_X2APIC_API: u32 = 129; |
| pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; |
| pub const KVM_CAP_MSI_DEVID: u32 = 131; |
| pub const KVM_CAP_PPC_HTM: u32 = 132; |
| pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; |
| pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; |
| pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; |
| pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; |
| pub const KVM_CAP_MIPS_VZ: u32 = 137; |
| pub const KVM_CAP_MIPS_TE: u32 = 138; |
| pub const KVM_CAP_MIPS_64BIT: u32 = 139; |
| pub const KVM_CAP_S390_GS: u32 = 140; |
| pub const KVM_CAP_S390_AIS: u32 = 141; |
| pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; |
| pub const KVM_CAP_X86_DISABLE_EXITS: u32 = 143; |
| pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; |
| pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; |
| pub const KVM_CAP_PPC_FWNMI: u32 = 146; |
| pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; |
| pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; |
| pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; |
| pub const KVM_CAP_S390_AIS_MIGRATION: u32 = 150; |
| pub const KVM_CAP_PPC_GET_CPU_CHAR: u32 = 151; |
| pub const KVM_CAP_S390_BPB: u32 = 152; |
| pub const KVM_CAP_GET_MSR_FEATURES: u32 = 153; |
| pub const KVM_CAP_HYPERV_EVENTFD: u32 = 154; |
| pub const KVM_CAP_HYPERV_TLBFLUSH: u32 = 155; |
| pub const KVM_CAP_S390_HPAGE_1M: u32 = 156; |
| pub const KVM_CAP_NESTED_STATE: u32 = 157; |
| pub const KVM_CAP_ARM_INJECT_SERROR_ESR: u32 = 158; |
| pub const KVM_CAP_MSR_PLATFORM_INFO: u32 = 159; |
| pub const KVM_CAP_PPC_NESTED_HV: u32 = 160; |
| pub const KVM_CAP_HYPERV_SEND_IPI: u32 = 161; |
| pub const KVM_CAP_COALESCED_PIO: u32 = 162; |
| pub const KVM_CAP_HYPERV_ENLIGHTENED_VMCS: u32 = 163; |
| pub const KVM_CAP_EXCEPTION_PAYLOAD: u32 = 164; |
| pub const KVM_CAP_ARM_VM_IPA_SIZE: u32 = 165; |
| pub const KVM_CAP_MANUAL_DIRTY_LOG_PROTECT: u32 = 166; |
| pub const KVM_CAP_HYPERV_CPUID: u32 = 167; |
| pub const KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2: u32 = 168; |
| pub const KVM_CAP_PPC_IRQ_XIVE: u32 = 169; |
| pub const KVM_CAP_ARM_SVE: u32 = 170; |
| pub const KVM_CAP_ARM_PTRAUTH_ADDRESS: u32 = 171; |
| pub const KVM_CAP_ARM_PTRAUTH_GENERIC: u32 = 172; |
| pub const KVM_CAP_PMU_EVENT_FILTER: u32 = 173; |
| pub const KVM_CAP_ARM_IRQ_LINE_LAYOUT_2: u32 = 174; |
| pub const KVM_CAP_HYPERV_DIRECT_TLBFLUSH: u32 = 175; |
| pub const KVM_CAP_PPC_GUEST_DEBUG_SSTEP: u32 = 176; |
| pub const KVM_CAP_ARM_NISV_TO_USER: u32 = 177; |
| pub const KVM_CAP_ARM_INJECT_EXT_DABT: u32 = 178; |
| pub const KVM_CAP_S390_VCPU_RESETS: u32 = 179; |
| pub const KVM_CAP_S390_PROTECTED: u32 = 180; |
| pub const KVM_CAP_PPC_SECURE_GUEST: u32 = 181; |
| pub const KVM_CAP_HALT_POLL: u32 = 182; |
| pub const KVM_CAP_ASYNC_PF_INT: u32 = 183; |
| pub const KVM_CAP_LAST_CPU: u32 = 184; |
| pub const KVM_CAP_SMALLER_MAXPHYADDR: u32 = 185; |
| pub const KVM_CAP_S390_DIAG318: u32 = 186; |
| pub const KVM_CAP_STEAL_TIME: u32 = 187; |
| pub const KVM_CAP_X86_USER_SPACE_MSR: u32 = 188; |
| pub const KVM_CAP_X86_MSR_FILTER: u32 = 189; |
| pub const KVM_CAP_ENFORCE_PV_FEATURE_CPUID: u32 = 190; |
| pub const KVM_CAP_SYS_HYPERV_CPUID: u32 = 191; |
| pub const KVM_CAP_DIRTY_LOG_RING: u32 = 192; |
| pub const KVM_CAP_X86_BUS_LOCK_EXIT: u32 = 193; |
| pub const KVM_CAP_PPC_DAWR1: u32 = 194; |
| pub const KVM_CAP_SET_GUEST_DEBUG2: u32 = 195; |
| pub const KVM_CAP_SGX_ATTRIBUTE: u32 = 196; |
| pub const KVM_CAP_VM_COPY_ENC_CONTEXT_FROM: u32 = 197; |
| pub const KVM_CAP_PTP_KVM: u32 = 198; |
| pub const KVM_CAP_HYPERV_ENFORCE_CPUID: u32 = 199; |
| pub const KVM_CAP_SREGS2: u32 = 200; |
| pub const KVM_CAP_EXIT_HYPERCALL: u32 = 201; |
| pub const KVM_CAP_PPC_RPT_INVALIDATE: u32 = 202; |
| pub const KVM_CAP_BINARY_STATS_FD: u32 = 203; |
| pub const KVM_CAP_EXIT_ON_EMULATION_FAILURE: u32 = 204; |
| pub const KVM_CAP_ARM_MTE: u32 = 205; |
| pub const KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM: u32 = 206; |
| pub const KVM_CAP_VM_GPA_BITS: u32 = 207; |
| pub const KVM_CAP_XSAVE2: u32 = 208; |
| pub const KVM_CAP_SYS_ATTRIBUTES: u32 = 209; |
| pub const KVM_CAP_PPC_AIL_MODE_3: u32 = 210; |
| pub const KVM_CAP_S390_MEM_OP_EXTENSION: u32 = 211; |
| pub const KVM_CAP_PMU_CAPABILITY: u32 = 212; |
| pub const KVM_CAP_DISABLE_QUIRKS2: u32 = 213; |
| pub const KVM_CAP_VM_TSC_CONTROL: u32 = 214; |
| pub const KVM_CAP_SYSTEM_EVENT_DATA: u32 = 215; |
| pub const KVM_CAP_ARM_SYSTEM_SUSPEND: u32 = 216; |
| pub const KVM_CAP_S390_PROTECTED_DUMP: u32 = 217; |
| pub const KVM_CAP_X86_TRIPLE_FAULT_EVENT: u32 = 218; |
| pub const KVM_CAP_X86_NOTIFY_VMEXIT: u32 = 219; |
| pub const KVM_CAP_VM_DISABLE_NX_HUGE_PAGES: u32 = 220; |
| pub const KVM_CAP_S390_ZPCI_OP: u32 = 221; |
| pub const KVM_CAP_S390_CPU_TOPOLOGY: u32 = 222; |
| pub const KVM_CAP_DIRTY_LOG_RING_ACQ_REL: u32 = 223; |
| pub const KVM_CAP_S390_PROTECTED_ASYNC_DISABLE: u32 = 224; |
| pub const KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP: u32 = 225; |
| pub const KVM_CAP_PMU_EVENT_MASKED_EVENTS: u32 = 226; |
| pub const KVM_CAP_COUNTER_OFFSET: u32 = 227; |
| pub const KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE: u32 = 228; |
| pub const KVM_CAP_ARM_SUPPORTED_BLOCK_SIZES: u32 = 229; |
| pub const KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES: u32 = 230; |
| pub const KVM_CAP_USER_MEMORY2: u32 = 231; |
| pub const KVM_CAP_MEMORY_FAULT_INFO: u32 = 232; |
| pub const KVM_CAP_MEMORY_ATTRIBUTES: u32 = 233; |
| pub const KVM_CAP_GUEST_MEMFD: u32 = 234; |
| pub const KVM_CAP_VM_TYPES: u32 = 235; |
| pub const KVM_CAP_PRE_FAULT_MEMORY: u32 = 236; |
| pub const KVM_CAP_X86_APIC_BUS_CYCLES_NS: u32 = 237; |
| pub const KVM_CAP_X86_GUEST_MODE: u32 = 238; |
| pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; |
| pub const KVM_IRQ_ROUTING_MSI: u32 = 2; |
| pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; |
| pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; |
| pub const KVM_IRQ_ROUTING_XEN_EVTCHN: u32 = 5; |
| pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; |
| pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; |
| pub const KVM_CLOCK_TSC_STABLE: u32 = 2; |
| pub const KVM_CLOCK_REALTIME: u32 = 4; |
| pub const KVM_CLOCK_HOST_TSC: u32 = 8; |
| pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; |
| pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; |
| pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; |
| pub const KVM_REG_GENERIC: u32 = 0; |
| pub const KVM_REG_PPC: u64 = 1152921504606846976; |
| pub const KVM_REG_X86: u64 = 2305843009213693952; |
| pub const KVM_REG_IA64: u64 = 3458764513820540928; |
| pub const KVM_REG_ARM: u64 = 4611686018427387904; |
| pub const KVM_REG_S390: u64 = 5764607523034234880; |
| pub const KVM_REG_ARM64: u64 = 6917529027641081856; |
| pub const KVM_REG_MIPS: u64 = 8070450532247928832; |
| pub const KVM_REG_RISCV: i64 = -9223372036854775808; |
| pub const KVM_REG_LOONGARCH: i64 = -8070450532247928832; |
| pub const KVM_REG_SIZE_SHIFT: u32 = 52; |
| pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; |
| pub const KVM_REG_SIZE_U8: u32 = 0; |
| pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; |
| pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; |
| pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; |
| pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; |
| pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; |
| pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; |
| pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; |
| pub const KVM_REG_SIZE_U2048: u64 = 36028797018963968; |
| pub const KVM_MSI_VALID_DEVID: u32 = 1; |
| pub const KVM_CREATE_DEVICE_TEST: u32 = 1; |
| pub const KVM_DEV_VFIO_FILE: u32 = 1; |
| pub const KVM_DEV_VFIO_FILE_ADD: u32 = 1; |
| pub const KVM_DEV_VFIO_FILE_DEL: u32 = 2; |
| pub const KVM_DEV_VFIO_GROUP: u32 = 1; |
| pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; |
| pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; |
| pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; |
| pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; |
| pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; |
| pub const KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE: u32 = 1; |
| pub const KVM_DIRTY_LOG_INITIALLY_SET: u32 = 2; |
| pub const KVM_DIRTY_GFN_F_MASK: u32 = 3; |
| pub const KVM_BUS_LOCK_DETECTION_OFF: u32 = 1; |
| pub const KVM_BUS_LOCK_DETECTION_EXIT: u32 = 2; |
| pub const KVM_PMU_CAP_DISABLE: u32 = 1; |
| pub const KVM_STATS_TYPE_SHIFT: u32 = 0; |
| pub const KVM_STATS_TYPE_MASK: u32 = 15; |
| pub const KVM_STATS_TYPE_CUMULATIVE: u32 = 0; |
| pub const KVM_STATS_TYPE_INSTANT: u32 = 1; |
| pub const KVM_STATS_TYPE_PEAK: u32 = 2; |
| pub const KVM_STATS_TYPE_LINEAR_HIST: u32 = 3; |
| pub const KVM_STATS_TYPE_LOG_HIST: u32 = 4; |
| pub const KVM_STATS_TYPE_MAX: u32 = 4; |
| pub const KVM_STATS_UNIT_SHIFT: u32 = 4; |
| pub const KVM_STATS_UNIT_MASK: u32 = 240; |
| pub const KVM_STATS_UNIT_NONE: u32 = 0; |
| pub const KVM_STATS_UNIT_BYTES: u32 = 16; |
| pub const KVM_STATS_UNIT_SECONDS: u32 = 32; |
| pub const KVM_STATS_UNIT_CYCLES: u32 = 48; |
| pub const KVM_STATS_UNIT_BOOLEAN: u32 = 64; |
| pub const KVM_STATS_UNIT_MAX: u32 = 64; |
| pub const KVM_STATS_BASE_SHIFT: u32 = 8; |
| pub const KVM_STATS_BASE_MASK: u32 = 3840; |
| pub const KVM_STATS_BASE_POW10: u32 = 0; |
| pub const KVM_STATS_BASE_POW2: u32 = 256; |
| pub const KVM_STATS_BASE_MAX: u32 = 256; |
| pub const KVM_X86_NOTIFY_VMEXIT_ENABLED: u32 = 1; |
| pub const KVM_X86_NOTIFY_VMEXIT_USER: u32 = 2; |
| pub const KVM_MEMORY_ATTRIBUTE_PRIVATE: u32 = 8; |
| pub type __s128 = i128; |
| pub type __u128 = u128; |
| pub type __le16 = u16; |
| pub type __be16 = u16; |
| pub type __le32 = u32; |
| pub type __be32 = u32; |
| pub type __le64 = u64; |
| pub type __be64 = u64; |
| pub type __sum16 = u16; |
| pub type __wsum = u32; |
| pub type __poll_t = ::std::os::raw::c_uint; |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct user_pt_regs { |
| pub regs: [u64; 31usize], |
| pub sp: u64, |
| pub pc: u64, |
| pub pstate: u64, |
| } |
| #[repr(C)] |
| #[repr(align(16))] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct user_fpsimd_state { |
| pub vregs: [__uint128_t; 32usize], |
| pub fpsr: u32, |
| pub fpcr: u32, |
| pub __reserved: [u32; 2usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct user_hwdebug_state { |
| pub dbg_info: u32, |
| pub pad: u32, |
| pub dbg_regs: [user_hwdebug_state__bindgen_ty_1; 16usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct user_hwdebug_state__bindgen_ty_1 { |
| pub addr: u64, |
| pub ctrl: u32, |
| pub pad: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct user_sve_header { |
| pub size: u32, |
| pub max_size: u32, |
| pub vl: u16, |
| pub max_vl: u16, |
| pub flags: u16, |
| pub __reserved: u16, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct user_pac_mask { |
| pub data_mask: u64, |
| pub insn_mask: u64, |
| } |
| #[repr(C)] |
| #[repr(align(16))] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct user_pac_address_keys { |
| pub apiakey: __uint128_t, |
| pub apibkey: __uint128_t, |
| pub apdakey: __uint128_t, |
| pub apdbkey: __uint128_t, |
| } |
| #[repr(C)] |
| #[repr(align(16))] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct user_pac_generic_keys { |
| pub apgakey: __uint128_t, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct user_za_header { |
| pub size: u32, |
| pub max_size: u32, |
| pub vl: u16, |
| pub max_vl: u16, |
| pub flags: u16, |
| pub __reserved: u16, |
| } |
| #[repr(C)] |
| #[repr(align(16))] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct kvm_regs { |
| pub regs: user_pt_regs, |
| pub sp_el1: u64, |
| pub elr_el1: u64, |
| pub spsr: [u64; 5usize], |
| pub __bindgen_padding_0: u64, |
| pub fp_regs: user_fpsimd_state, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_vcpu_init { |
| pub target: u32, |
| pub features: [u32; 7usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct kvm_sregs {} |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct kvm_fpu {} |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_guest_debug_arch { |
| pub dbg_bcr: [u64; 16usize], |
| pub dbg_bvr: [u64; 16usize], |
| pub dbg_wcr: [u64; 16usize], |
| pub dbg_wvr: [u64; 16usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_debug_exit_arch { |
| pub hsr: u32, |
| pub hsr_high: u32, |
| pub far: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_sync_regs { |
| pub device_irq_level: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_pmu_event_filter { |
| pub base_event: u16, |
| pub nevents: u16, |
| pub action: u8, |
| pub pad: [u8; 3usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct kvm_vcpu_events { |
| pub exception: kvm_vcpu_events__bindgen_ty_1, |
| pub reserved: [u32; 12usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct kvm_vcpu_events__bindgen_ty_1 { |
| pub serror_pending: u8, |
| pub serror_has_esr: u8, |
| pub ext_dabt_pending: u8, |
| pub pad: [u8; 5usize], |
| pub serror_esr: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct kvm_arm_copy_mte_tags { |
| pub guest_ipa: u64, |
| pub length: u64, |
| pub addr: *mut ::std::os::raw::c_void, |
| pub flags: u64, |
| pub reserved: [u64; 2usize], |
| } |
| impl Default for kvm_arm_copy_mte_tags { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_arm_counter_offset { |
| pub counter_offset: u64, |
| pub reserved: u64, |
| } |
| pub const KVM_REG_ARM_STD_BIT_TRNG_V1_0: _bindgen_ty_1 = 0; |
| pub type _bindgen_ty_1 = ::std::os::raw::c_uint; |
| pub const KVM_REG_ARM_STD_HYP_BIT_PV_TIME: _bindgen_ty_2 = 0; |
| pub type _bindgen_ty_2 = ::std::os::raw::c_uint; |
| pub const KVM_REG_ARM_VENDOR_HYP_BIT_FUNC_FEAT: _bindgen_ty_3 = 0; |
| pub const KVM_REG_ARM_VENDOR_HYP_BIT_PTP: _bindgen_ty_3 = 1; |
| pub type _bindgen_ty_3 = ::std::os::raw::c_uint; |
| pub const kvm_smccc_filter_action_KVM_SMCCC_FILTER_HANDLE: kvm_smccc_filter_action = 0; |
| pub const kvm_smccc_filter_action_KVM_SMCCC_FILTER_DENY: kvm_smccc_filter_action = 1; |
| pub const kvm_smccc_filter_action_KVM_SMCCC_FILTER_FWD_TO_USER: kvm_smccc_filter_action = 2; |
| pub type kvm_smccc_filter_action = ::std::os::raw::c_uint; |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_smccc_filter { |
| pub base: u32, |
| pub nr_functions: u32, |
| pub action: u8, |
| pub pad: [u8; 15usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct reg_mask_range { |
| pub addr: u64, |
| pub range: u32, |
| pub reserved: [u32; 13usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_userspace_memory_region { |
| pub slot: u32, |
| pub flags: u32, |
| pub guest_phys_addr: u64, |
| pub memory_size: u64, |
| pub userspace_addr: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_userspace_memory_region2 { |
| pub slot: u32, |
| pub flags: u32, |
| pub guest_phys_addr: u64, |
| pub memory_size: u64, |
| pub userspace_addr: u64, |
| pub guest_memfd_offset: u64, |
| pub guest_memfd: u32, |
| pub pad1: u32, |
| pub pad2: [u64; 14usize], |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_irq_level { |
| pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, |
| pub level: u32, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_irq_level__bindgen_ty_1 { |
| pub irq: u32, |
| pub status: i32, |
| } |
| impl Default for kvm_irq_level__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_irq_level { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_irqchip { |
| pub chip_id: u32, |
| pub pad: u32, |
| pub chip: kvm_irqchip__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_irqchip__bindgen_ty_1 { |
| pub dummy: [::std::os::raw::c_char; 512usize], |
| } |
| impl Default for kvm_irqchip__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_irqchip { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_pit_config { |
| pub flags: u32, |
| pub pad: [u32; 15usize], |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_hyperv_exit { |
| pub type_: u32, |
| pub pad1: u32, |
| pub u: kvm_hyperv_exit__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_hyperv_exit__bindgen_ty_1 { |
| pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, |
| pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, |
| pub syndbg: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { |
| pub msr: u32, |
| pub pad2: u32, |
| pub control: u64, |
| pub evt_page: u64, |
| pub msg_page: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { |
| pub input: u64, |
| pub result: u64, |
| pub params: [u64; 2usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3 { |
| pub msr: u32, |
| pub pad2: u32, |
| pub control: u64, |
| pub status: u64, |
| pub send_page: u64, |
| pub recv_page: u64, |
| pub pending_page: u64, |
| } |
| impl Default for kvm_hyperv_exit__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_hyperv_exit { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_xen_exit { |
| pub type_: u32, |
| pub u: kvm_xen_exit__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_xen_exit__bindgen_ty_1 { |
| pub hcall: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_xen_exit__bindgen_ty_1__bindgen_ty_1 { |
| pub longmode: u32, |
| pub cpl: u32, |
| pub input: u64, |
| pub result: u64, |
| pub params: [u64; 6usize], |
| } |
| impl Default for kvm_xen_exit__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_xen_exit { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_run { |
| pub request_interrupt_window: u8, |
| pub immediate_exit: u8, |
| pub padding1: [u8; 6usize], |
| pub exit_reason: u32, |
| pub ready_for_interrupt_injection: u8, |
| pub if_flag: u8, |
| pub flags: u16, |
| pub cr8: u64, |
| pub apic_base: u64, |
| pub __bindgen_anon_1: kvm_run__bindgen_ty_1, |
| pub kvm_valid_regs: u64, |
| pub kvm_dirty_regs: u64, |
| pub s: kvm_run__bindgen_ty_2, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_run__bindgen_ty_1 { |
| pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, |
| pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, |
| pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, |
| pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, |
| pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, |
| pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, |
| pub iocsr_io: kvm_run__bindgen_ty_1__bindgen_ty_7, |
| pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_8, |
| pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_9, |
| pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_10, |
| pub s390_reset_flags: u64, |
| pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_11, |
| pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_12, |
| pub internal: kvm_run__bindgen_ty_1__bindgen_ty_13, |
| pub emulation_failure: kvm_run__bindgen_ty_1__bindgen_ty_14, |
| pub osi: kvm_run__bindgen_ty_1__bindgen_ty_15, |
| pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_16, |
| pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_17, |
| pub epr: kvm_run__bindgen_ty_1__bindgen_ty_18, |
| pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_19, |
| pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_20, |
| pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_21, |
| pub hyperv: kvm_hyperv_exit, |
| pub arm_nisv: kvm_run__bindgen_ty_1__bindgen_ty_22, |
| pub msr: kvm_run__bindgen_ty_1__bindgen_ty_23, |
| pub xen: kvm_xen_exit, |
| pub riscv_sbi: kvm_run__bindgen_ty_1__bindgen_ty_24, |
| pub riscv_csr: kvm_run__bindgen_ty_1__bindgen_ty_25, |
| pub notify: kvm_run__bindgen_ty_1__bindgen_ty_26, |
| pub memory_fault: kvm_run__bindgen_ty_1__bindgen_ty_27, |
| pub padding: [::std::os::raw::c_char; 256usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { |
| pub hardware_exit_reason: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { |
| pub hardware_entry_failure_reason: u64, |
| pub cpu: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { |
| pub exception: u32, |
| pub error_code: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { |
| pub direction: u8, |
| pub size: u8, |
| pub port: u16, |
| pub count: u32, |
| pub data_offset: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { |
| pub arch: kvm_debug_exit_arch, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { |
| pub phys_addr: u64, |
| pub data: [u8; 8usize], |
| pub len: u32, |
| pub is_write: u8, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { |
| pub phys_addr: u64, |
| pub data: [u8; 8usize], |
| pub len: u32, |
| pub is_write: u8, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { |
| pub nr: u64, |
| pub args: [u64; 6usize], |
| pub ret: u64, |
| pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 { |
| pub longmode: u32, |
| pub flags: u64, |
| } |
| impl Default for kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_run__bindgen_ty_1__bindgen_ty_8 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { |
| pub rip: u64, |
| pub is_write: u32, |
| pub pad: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { |
| pub icptcode: u8, |
| pub ipa: u16, |
| pub ipb: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { |
| pub trans_exc_code: u64, |
| pub pgm_code: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { |
| pub dcrn: u32, |
| pub data: u32, |
| pub is_write: u8, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { |
| pub suberror: u32, |
| pub ndata: u32, |
| pub data: [u64; 16usize], |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { |
| pub suberror: u32, |
| pub ndata: u32, |
| pub flags: u64, |
| pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 { |
| pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1 { |
| pub insn_size: u8, |
| pub insn_bytes: [u8; 15usize], |
| } |
| impl Default for kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_run__bindgen_ty_1__bindgen_ty_14 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { |
| pub gprs: [u64; 32usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { |
| pub nr: u64, |
| pub ret: u64, |
| pub args: [u64; 9usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { |
| pub subchannel_id: u16, |
| pub subchannel_nr: u16, |
| pub io_int_parm: u32, |
| pub io_int_word: u32, |
| pub ipb: u32, |
| pub dequeued: u8, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { |
| pub epr: u32, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { |
| pub type_: u32, |
| pub ndata: u32, |
| pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 { |
| pub flags: u64, |
| pub data: [u64; 16usize], |
| } |
| impl Default for kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_run__bindgen_ty_1__bindgen_ty_19 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_20 { |
| pub addr: u64, |
| pub ar: u8, |
| pub reserved: u8, |
| pub fc: u8, |
| pub sel1: u8, |
| pub sel2: u16, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_21 { |
| pub vector: u8, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_22 { |
| pub esr_iss: u64, |
| pub fault_ipa: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_23 { |
| pub error: u8, |
| pub pad: [u8; 7usize], |
| pub reason: u32, |
| pub index: u32, |
| pub data: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_24 { |
| pub extension_id: ::std::os::raw::c_ulong, |
| pub function_id: ::std::os::raw::c_ulong, |
| pub args: [::std::os::raw::c_ulong; 6usize], |
| pub ret: [::std::os::raw::c_ulong; 2usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_25 { |
| pub csr_num: ::std::os::raw::c_ulong, |
| pub new_value: ::std::os::raw::c_ulong, |
| pub write_mask: ::std::os::raw::c_ulong, |
| pub ret_value: ::std::os::raw::c_ulong, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_26 { |
| pub flags: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_run__bindgen_ty_1__bindgen_ty_27 { |
| pub flags: u64, |
| pub gpa: u64, |
| pub size: u64, |
| } |
| impl Default for kvm_run__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_run__bindgen_ty_2 { |
| pub regs: kvm_sync_regs, |
| pub padding: [::std::os::raw::c_char; 2048usize], |
| } |
| impl Default for kvm_run__bindgen_ty_2 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_run { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_coalesced_mmio_zone { |
| pub addr: u64, |
| pub size: u32, |
| pub __bindgen_anon_1: kvm_coalesced_mmio_zone__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_coalesced_mmio_zone__bindgen_ty_1 { |
| pub pad: u32, |
| pub pio: u32, |
| } |
| impl Default for kvm_coalesced_mmio_zone__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_coalesced_mmio_zone { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_coalesced_mmio { |
| pub phys_addr: u64, |
| pub len: u32, |
| pub __bindgen_anon_1: kvm_coalesced_mmio__bindgen_ty_1, |
| pub data: [u8; 8usize], |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_coalesced_mmio__bindgen_ty_1 { |
| pub pad: u32, |
| pub pio: u32, |
| } |
| impl Default for kvm_coalesced_mmio__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_coalesced_mmio { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| pub struct kvm_coalesced_mmio_ring<FAM: ?Sized = [kvm_coalesced_mmio; 0]> { |
| pub first: u32, |
| pub last: u32, |
| pub coalesced_mmio: FAM, |
| } |
| impl kvm_coalesced_mmio_ring<[kvm_coalesced_mmio]> {} |
| impl kvm_coalesced_mmio_ring<[kvm_coalesced_mmio; 0]> {} |
| impl Default for kvm_coalesced_mmio_ring<[kvm_coalesced_mmio; 0]> { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_translation { |
| pub linear_address: u64, |
| pub physical_address: u64, |
| pub valid: u8, |
| pub writeable: u8, |
| pub usermode: u8, |
| pub pad: [u8; 5usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_interrupt { |
| pub irq: u32, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_dirty_log { |
| pub slot: u32, |
| pub padding1: u32, |
| pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_dirty_log__bindgen_ty_1 { |
| pub dirty_bitmap: *mut ::std::os::raw::c_void, |
| pub padding2: u64, |
| } |
| impl Default for kvm_dirty_log__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_dirty_log { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub struct kvm_clear_dirty_log { |
| pub slot: u32, |
| pub num_pages: u32, |
| pub first_page: u64, |
| pub __bindgen_anon_1: kvm_clear_dirty_log__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone)] |
| pub union kvm_clear_dirty_log__bindgen_ty_1 { |
| pub dirty_bitmap: *mut ::std::os::raw::c_void, |
| pub padding2: u64, |
| } |
| impl Default for kvm_clear_dirty_log__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_clear_dirty_log { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default)] |
| pub struct kvm_signal_mask<FAM: ?Sized = [u8; 0]> { |
| pub len: u32, |
| pub sigset: FAM, |
| } |
| impl kvm_signal_mask<[u8]> {} |
| impl kvm_signal_mask<[u8; 0]> {} |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_tpr_access_ctl { |
| pub enabled: u32, |
| pub flags: u32, |
| pub reserved: [u32; 8usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_vapic_addr { |
| pub vapic_addr: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)] |
| pub struct kvm_mp_state { |
| pub mp_state: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_guest_debug { |
| pub control: u32, |
| pub pad: u32, |
| pub arch: kvm_guest_debug_arch, |
| } |
| pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_4 = 0; |
| pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_4 = 1; |
| pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_4 = 2; |
| pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_4 = 3; |
| pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_4 = 4; |
| pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_4 = 5; |
| pub type _bindgen_ty_4 = ::std::os::raw::c_uint; |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct kvm_ioeventfd { |
| pub datamatch: u64, |
| pub addr: u64, |
| pub len: u32, |
| pub fd: i32, |
| pub flags: u32, |
| pub pad: [u8; 36usize], |
| } |
| impl Default for kvm_ioeventfd { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct kvm_enable_cap { |
| pub cap: u32, |
| pub flags: u32, |
| pub args: [u64; 4usize], |
| pub pad: [u8; 64usize], |
| } |
| impl Default for kvm_enable_cap { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_irq_routing_irqchip { |
| pub irqchip: u32, |
| pub pin: u32, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_irq_routing_msi { |
| pub address_lo: u32, |
| pub address_hi: u32, |
| pub data: u32, |
| pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub union kvm_irq_routing_msi__bindgen_ty_1 { |
| pub pad: u32, |
| pub devid: u32, |
| } |
| impl Default for kvm_irq_routing_msi__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_irq_routing_msi { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_irq_routing_s390_adapter { |
| pub ind_addr: u64, |
| pub summary_addr: u64, |
| pub ind_offset: u64, |
| pub summary_offset: u32, |
| pub adapter_id: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_irq_routing_hv_sint { |
| pub vcpu: u32, |
| pub sint: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_irq_routing_xen_evtchn { |
| pub port: u32, |
| pub vcpu: u32, |
| pub priority: u32, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_irq_routing_entry { |
| pub gsi: u32, |
| pub type_: u32, |
| pub flags: u32, |
| pub pad: u32, |
| pub u: kvm_irq_routing_entry__bindgen_ty_1, |
| } |
| #[repr(C)] |
| #[derive(Copy, Clone, FromBytes, Immutable, KnownLayout)] |
| pub union kvm_irq_routing_entry__bindgen_ty_1 { |
| pub irqchip: kvm_irq_routing_irqchip, |
| pub msi: kvm_irq_routing_msi, |
| pub adapter: kvm_irq_routing_s390_adapter, |
| pub hv_sint: kvm_irq_routing_hv_sint, |
| pub xen_evtchn: kvm_irq_routing_xen_evtchn, |
| pub pad: [u32; 8usize], |
| } |
| impl Default for kvm_irq_routing_entry__bindgen_ty_1 { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| impl Default for kvm_irq_routing_entry { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_irq_routing<FAM: ?Sized = [kvm_irq_routing_entry; 0]> { |
| pub nr: u32, |
| pub flags: u32, |
| pub entries: FAM, |
| } |
| impl kvm_irq_routing<[kvm_irq_routing_entry]> {} |
| impl kvm_irq_routing<[kvm_irq_routing_entry; 0]> {} |
| impl Default for kvm_irq_routing<[kvm_irq_routing_entry; 0]> { |
| fn default() -> Self { |
| let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); |
| unsafe { |
| ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); |
| s.assume_init() |
| } |
| } |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_irqfd { |
| pub fd: u32, |
| pub gsi: u32, |
| pub flags: u32, |
| pub resamplefd: u32, |
| pub pad: [u8; 16usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_clock_data { |
| pub clock: u64, |
| pub flags: u32, |
| pub pad0: u32, |
| pub realtime: u64, |
| pub host_tsc: u64, |
| pub pad: [u32; 4usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_config_tlb { |
| pub params: u64, |
| pub array: u64, |
| pub mmu_type: u32, |
| pub array_len: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_dirty_tlb { |
| pub bitmap: u64, |
| pub num_dirty: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, FromBytes, Immutable, KnownLayout)] |
| pub struct kvm_reg_list<FAM: ?Sized = [u64; 0]> { |
| pub n: u64, |
| pub reg: FAM, |
| } |
| impl kvm_reg_list<[u64]> {} |
| impl kvm_reg_list<[u64; 0]> {} |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_one_reg { |
| pub id: u64, |
| pub addr: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_msi { |
| pub address_lo: u32, |
| pub address_hi: u32, |
| pub data: u32, |
| pub flags: u32, |
| pub devid: u32, |
| pub pad: [u8; 12usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_arm_device_addr { |
| pub id: u64, |
| pub addr: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_create_device { |
| pub type_: u32, |
| pub fd: u32, |
| pub flags: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_device_attr { |
| pub flags: u32, |
| pub group: u32, |
| pub attr: u64, |
| pub addr: u64, |
| } |
| pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; |
| pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; |
| pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; |
| pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; |
| pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; |
| pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; |
| pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; |
| pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; |
| pub const kvm_device_type_KVM_DEV_TYPE_XIVE: kvm_device_type = 9; |
| pub const kvm_device_type_KVM_DEV_TYPE_ARM_PV_TIME: kvm_device_type = 10; |
| pub const kvm_device_type_KVM_DEV_TYPE_RISCV_AIA: kvm_device_type = 11; |
| pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 12; |
| pub type kvm_device_type = ::std::os::raw::c_uint; |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_vfio_spapr_tce { |
| pub groupfd: i32, |
| pub tablefd: i32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_enc_region { |
| pub addr: u64, |
| pub size: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_dirty_gfn { |
| pub flags: u32, |
| pub slot: u32, |
| pub offset: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_stats_header { |
| pub flags: u32, |
| pub name_size: u32, |
| pub num_desc: u32, |
| pub id_offset: u32, |
| pub desc_offset: u32, |
| pub data_offset: u32, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default)] |
| pub struct kvm_stats_desc<FAM: ?Sized = [::std::os::raw::c_char; 0]> { |
| pub flags: u32, |
| pub exponent: i16, |
| pub size: u16, |
| pub offset: u32, |
| pub bucket_size: u32, |
| pub name: FAM, |
| } |
| impl kvm_stats_desc<[::std::os::raw::c_char]> {} |
| impl kvm_stats_desc<[::std::os::raw::c_char; 0]> {} |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_memory_attributes { |
| pub address: u64, |
| pub size: u64, |
| pub attributes: u64, |
| pub flags: u64, |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_create_guest_memfd { |
| pub size: u64, |
| pub flags: u64, |
| pub reserved: [u64; 6usize], |
| } |
| #[repr(C)] |
| #[derive(Debug, Default, Copy, Clone)] |
| pub struct kvm_pre_fault_memory { |
| pub gpa: u64, |
| pub size: u64, |
| pub flags: u64, |
| pub padding: [u64; 5usize], |
| } |
| pub type __uint128_t = u128; |