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 // Added by kvm_sys/bindgen.sh 12 use zerocopy::AsBytes; 13 use zerocopy::FromBytes; 14 use zerocopy::FromZeroes; 15 16 // TODO(b/316337317): Update if new memslot flag is accepted in upstream 17 pub const KVM_MEM_NON_COHERENT_DMA: u32 = 8; 18 pub const KVM_CAP_USER_CONFIGURE_NONCOHERENT_DMA: u32 = 236; 19 20 // TODO(qwandor): Update this once the pKVM patches are merged upstream with a stable capability ID. 21 pub const KVM_CAP_ARM_PROTECTED_VM: u32 = 0xffbadab1; 22 pub const KVM_CAP_ARM_PROTECTED_VM_FLAGS_SET_FW_IPA: u32 = 0; 23 pub const KVM_CAP_ARM_PROTECTED_VM_FLAGS_INFO: u32 = 1; 24 pub const KVM_VM_TYPE_ARM_PROTECTED: u32 = 0x80000000; 25 pub const KVM_X86_PKVM_PROTECTED_VM: u32 = 28; 26 pub const KVM_DEV_VFIO_PVIOMMU: u32 = 2; 27 pub const KVM_DEV_VFIO_PVIOMMU_ATTACH: u32 = 1; 28 #[repr(C)] 29 #[derive(Debug, Default, Copy, Clone)] 30 pub struct kvm_vfio_iommu_info { 31 pub device_fd: i32, 32 pub nr_sids: u32, 33 } 34 pub const KVM_DEV_VFIO_PVIOMMU_GET_INFO: u32 = 2; 35 #[repr(C)] 36 #[derive(Debug, Default, Copy, Clone)] 37 pub struct kvm_vfio_iommu_config { 38 pub device_fd: i32, 39 pub sid_idx: u32, 40 pub vsid: u32, 41 } 42 43 #[repr(C)] 44 #[derive(Default)] 45 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]); 46 impl<T> __IncompleteArrayField<T> { 47 #[inline] new() -> Self48 pub const fn new() -> Self { 49 __IncompleteArrayField(::std::marker::PhantomData, []) 50 } 51 #[inline] as_ptr(&self) -> *const T52 pub fn as_ptr(&self) -> *const T { 53 self as *const _ as *const T 54 } 55 #[inline] as_mut_ptr(&mut self) -> *mut T56 pub fn as_mut_ptr(&mut self) -> *mut T { 57 self as *mut _ as *mut T 58 } 59 #[inline] as_slice(&self, len: usize) -> &[T]60 pub unsafe fn as_slice(&self, len: usize) -> &[T] { 61 ::std::slice::from_raw_parts(self.as_ptr(), len) 62 } 63 #[inline] as_mut_slice(&mut self, len: usize) -> &mut [T]64 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { 65 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) 66 } 67 } 68 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> { fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result69 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { 70 fmt.write_str("__IncompleteArrayField") 71 } 72 } 73 pub const KVM_SPSR_EL1: u32 = 0; 74 pub const KVM_SPSR_SVC: u32 = 0; 75 pub const KVM_SPSR_ABT: u32 = 1; 76 pub const KVM_SPSR_UND: u32 = 2; 77 pub const KVM_SPSR_IRQ: u32 = 3; 78 pub const KVM_SPSR_FIQ: u32 = 4; 79 pub const KVM_NR_SPSR: u32 = 5; 80 pub const PSCI_0_2_FN_BASE: u32 = 2214592512; 81 pub const PSCI_0_2_64BIT: u32 = 1073741824; 82 pub const PSCI_0_2_FN64_BASE: u32 = 3288334336; 83 pub const PSCI_0_2_POWER_STATE_ID_MASK: u32 = 65535; 84 pub const PSCI_0_2_POWER_STATE_ID_SHIFT: u32 = 0; 85 pub const PSCI_0_2_POWER_STATE_TYPE_SHIFT: u32 = 16; 86 pub const PSCI_0_2_POWER_STATE_TYPE_MASK: u32 = 65536; 87 pub const PSCI_0_2_POWER_STATE_AFFL_SHIFT: u32 = 24; 88 pub const PSCI_0_2_POWER_STATE_AFFL_MASK: u32 = 50331648; 89 pub const PSCI_1_0_EXT_POWER_STATE_ID_MASK: u32 = 268435455; 90 pub const PSCI_1_0_EXT_POWER_STATE_ID_SHIFT: u32 = 0; 91 pub const PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT: u32 = 30; 92 pub const PSCI_1_0_EXT_POWER_STATE_TYPE_MASK: u32 = 1073741824; 93 pub const PSCI_0_2_AFFINITY_LEVEL_ON: u32 = 0; 94 pub const PSCI_0_2_AFFINITY_LEVEL_OFF: u32 = 1; 95 pub const PSCI_0_2_AFFINITY_LEVEL_ON_PENDING: u32 = 2; 96 pub const PSCI_0_2_TOS_UP_MIGRATE: u32 = 0; 97 pub const PSCI_0_2_TOS_UP_NO_MIGRATE: u32 = 1; 98 pub const PSCI_0_2_TOS_MP: u32 = 2; 99 pub const PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET: u32 = 0; 100 pub const PSCI_1_1_RESET_TYPE_VENDOR_START: u32 = 2147483648; 101 pub const PSCI_VERSION_MAJOR_SHIFT: u32 = 16; 102 pub const PSCI_VERSION_MINOR_MASK: u32 = 65535; 103 pub const PSCI_VERSION_MAJOR_MASK: i32 = -65536; 104 pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT: u32 = 1; 105 pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK: u32 = 2; 106 pub const PSCI_1_0_SUSPEND_MODE_PC: u32 = 0; 107 pub const PSCI_1_0_SUSPEND_MODE_OSI: u32 = 1; 108 pub const PSCI_RET_SUCCESS: u32 = 0; 109 pub const PSCI_RET_NOT_SUPPORTED: i32 = -1; 110 pub const PSCI_RET_INVALID_PARAMS: i32 = -2; 111 pub const PSCI_RET_DENIED: i32 = -3; 112 pub const PSCI_RET_ALREADY_ON: i32 = -4; 113 pub const PSCI_RET_ON_PENDING: i32 = -5; 114 pub const PSCI_RET_INTERNAL_FAILURE: i32 = -6; 115 pub const PSCI_RET_NOT_PRESENT: i32 = -7; 116 pub const PSCI_RET_DISABLED: i32 = -8; 117 pub const PSCI_RET_INVALID_ADDRESS: i32 = -9; 118 pub const HWCAP_FP: u32 = 1; 119 pub const HWCAP_ASIMD: u32 = 2; 120 pub const HWCAP_EVTSTRM: u32 = 4; 121 pub const HWCAP_AES: u32 = 8; 122 pub const HWCAP_PMULL: u32 = 16; 123 pub const HWCAP_SHA1: u32 = 32; 124 pub const HWCAP_SHA2: u32 = 64; 125 pub const HWCAP_CRC32: u32 = 128; 126 pub const HWCAP_ATOMICS: u32 = 256; 127 pub const HWCAP_FPHP: u32 = 512; 128 pub const HWCAP_ASIMDHP: u32 = 1024; 129 pub const HWCAP_CPUID: u32 = 2048; 130 pub const HWCAP_ASIMDRDM: u32 = 4096; 131 pub const HWCAP_JSCVT: u32 = 8192; 132 pub const HWCAP_FCMA: u32 = 16384; 133 pub const HWCAP_LRCPC: u32 = 32768; 134 pub const HWCAP_DCPOP: u32 = 65536; 135 pub const HWCAP_SHA3: u32 = 131072; 136 pub const HWCAP_SM3: u32 = 262144; 137 pub const HWCAP_SM4: u32 = 524288; 138 pub const HWCAP_ASIMDDP: u32 = 1048576; 139 pub const HWCAP_SHA512: u32 = 2097152; 140 pub const HWCAP_SVE: u32 = 4194304; 141 pub const HWCAP_ASIMDFHM: u32 = 8388608; 142 pub const HWCAP_DIT: u32 = 16777216; 143 pub const HWCAP_USCAT: u32 = 33554432; 144 pub const HWCAP_ILRCPC: u32 = 67108864; 145 pub const HWCAP_FLAGM: u32 = 134217728; 146 pub const HWCAP_SSBS: u32 = 268435456; 147 pub const HWCAP_SB: u32 = 536870912; 148 pub const HWCAP_PACA: u32 = 1073741824; 149 pub const HWCAP_PACG: u32 = 2147483648; 150 pub const HWCAP2_DCPODP: u32 = 1; 151 pub const HWCAP2_SVE2: u32 = 2; 152 pub const HWCAP2_SVEAES: u32 = 4; 153 pub const HWCAP2_SVEPMULL: u32 = 8; 154 pub const HWCAP2_SVEBITPERM: u32 = 16; 155 pub const HWCAP2_SVESHA3: u32 = 32; 156 pub const HWCAP2_SVESM4: u32 = 64; 157 pub const HWCAP2_FLAGM2: u32 = 128; 158 pub const HWCAP2_FRINT: u32 = 256; 159 pub const HWCAP2_SVEI8MM: u32 = 512; 160 pub const HWCAP2_SVEF32MM: u32 = 1024; 161 pub const HWCAP2_SVEF64MM: u32 = 2048; 162 pub const HWCAP2_SVEBF16: u32 = 4096; 163 pub const HWCAP2_I8MM: u32 = 8192; 164 pub const HWCAP2_BF16: u32 = 16384; 165 pub const HWCAP2_DGH: u32 = 32768; 166 pub const HWCAP2_RNG: u32 = 65536; 167 pub const HWCAP2_BTI: u32 = 131072; 168 pub const HWCAP2_MTE: u32 = 262144; 169 pub const HWCAP2_ECV: u32 = 524288; 170 pub const HWCAP2_AFP: u32 = 1048576; 171 pub const HWCAP2_RPRES: u32 = 2097152; 172 pub const HWCAP2_MTE3: u32 = 4194304; 173 pub const HWCAP2_SME: u32 = 8388608; 174 pub const HWCAP2_SME_I16I64: u32 = 16777216; 175 pub const HWCAP2_SME_F64F64: u32 = 33554432; 176 pub const HWCAP2_SME_I8I32: u32 = 67108864; 177 pub const HWCAP2_SME_F16F32: u32 = 134217728; 178 pub const HWCAP2_SME_B16F32: u32 = 268435456; 179 pub const HWCAP2_SME_F32F32: u32 = 536870912; 180 pub const HWCAP2_SME_FA64: u32 = 1073741824; 181 pub const HWCAP2_WFXT: u32 = 2147483648; 182 pub const HWCAP2_EBF16: u64 = 4294967296; 183 pub const HWCAP2_SVE_EBF16: u64 = 8589934592; 184 pub const HWCAP2_CSSC: u64 = 17179869184; 185 pub const HWCAP2_RPRFM: u64 = 34359738368; 186 pub const HWCAP2_SVE2P1: u64 = 68719476736; 187 pub const HWCAP2_SME2: u64 = 137438953472; 188 pub const HWCAP2_SME2P1: u64 = 274877906944; 189 pub const HWCAP2_SME_I16I32: u64 = 549755813888; 190 pub const HWCAP2_SME_BI32I32: u64 = 1099511627776; 191 pub const HWCAP2_SME_B16B16: u64 = 2199023255552; 192 pub const HWCAP2_SME_F16F16: u64 = 4398046511104; 193 pub const HWCAP2_MOPS: u64 = 8796093022208; 194 pub const HWCAP2_HBC: u64 = 17592186044416; 195 pub const __SVE_VQ_BYTES: u32 = 16; 196 pub const __SVE_VQ_MIN: u32 = 1; 197 pub const __SVE_VQ_MAX: u32 = 512; 198 pub const __SVE_VL_MIN: u32 = 16; 199 pub const __SVE_VL_MAX: u32 = 8192; 200 pub const __SVE_NUM_ZREGS: u32 = 32; 201 pub const __SVE_NUM_PREGS: u32 = 16; 202 pub const __SVE_ZREGS_OFFSET: u32 = 0; 203 pub const PSR_MODE_EL0t: u32 = 0; 204 pub const PSR_MODE_EL1t: u32 = 4; 205 pub const PSR_MODE_EL1h: u32 = 5; 206 pub const PSR_MODE_EL2t: u32 = 8; 207 pub const PSR_MODE_EL2h: u32 = 9; 208 pub const PSR_MODE_EL3t: u32 = 12; 209 pub const PSR_MODE_EL3h: u32 = 13; 210 pub const PSR_MODE_MASK: u32 = 15; 211 pub const PSR_MODE32_BIT: u32 = 16; 212 pub const PSR_F_BIT: u32 = 64; 213 pub const PSR_I_BIT: u32 = 128; 214 pub const PSR_A_BIT: u32 = 256; 215 pub const PSR_D_BIT: u32 = 512; 216 pub const PSR_BTYPE_MASK: u32 = 3072; 217 pub const PSR_SSBS_BIT: u32 = 4096; 218 pub const PSR_PAN_BIT: u32 = 4194304; 219 pub const PSR_UAO_BIT: u32 = 8388608; 220 pub const PSR_DIT_BIT: u32 = 16777216; 221 pub const PSR_TCO_BIT: u32 = 33554432; 222 pub const PSR_V_BIT: u32 = 268435456; 223 pub const PSR_C_BIT: u32 = 536870912; 224 pub const PSR_Z_BIT: u32 = 1073741824; 225 pub const PSR_N_BIT: u32 = 2147483648; 226 pub const PSR_BTYPE_SHIFT: u32 = 10; 227 pub const PSR_f: u32 = 4278190080; 228 pub const PSR_s: u32 = 16711680; 229 pub const PSR_x: u32 = 65280; 230 pub const PSR_c: u32 = 255; 231 pub const PSR_BTYPE_NONE: u32 = 0; 232 pub const PSR_BTYPE_JC: u32 = 1024; 233 pub const PSR_BTYPE_C: u32 = 2048; 234 pub const PSR_BTYPE_J: u32 = 3072; 235 pub const PTRACE_SYSEMU: u32 = 31; 236 pub const PTRACE_SYSEMU_SINGLESTEP: u32 = 32; 237 pub const PTRACE_PEEKMTETAGS: u32 = 33; 238 pub const PTRACE_POKEMTETAGS: u32 = 34; 239 pub const SVE_PT_REGS_MASK: u32 = 1; 240 pub const SVE_PT_REGS_FPSIMD: u32 = 0; 241 pub const SVE_PT_REGS_SVE: u32 = 1; 242 pub const SVE_PT_VL_INHERIT: u32 = 2; 243 pub const SVE_PT_VL_ONEXEC: u32 = 4; 244 pub const ZA_PT_VL_INHERIT: u32 = 2; 245 pub const ZA_PT_VL_ONEXEC: u32 = 4; 246 pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 1; 247 pub const KVM_DIRTY_LOG_PAGE_OFFSET: u32 = 64; 248 pub const KVM_ARM_TARGET_AEM_V8: u32 = 0; 249 pub const KVM_ARM_TARGET_FOUNDATION_V8: u32 = 1; 250 pub const KVM_ARM_TARGET_CORTEX_A57: u32 = 2; 251 pub const KVM_ARM_TARGET_XGENE_POTENZA: u32 = 3; 252 pub const KVM_ARM_TARGET_CORTEX_A53: u32 = 4; 253 pub const KVM_ARM_TARGET_GENERIC_V8: u32 = 5; 254 pub const KVM_ARM_NUM_TARGETS: u32 = 6; 255 pub const KVM_ARM_DEVICE_TYPE_SHIFT: u32 = 0; 256 pub const KVM_ARM_DEVICE_ID_SHIFT: u32 = 16; 257 pub const KVM_ARM_DEVICE_VGIC_V2: u32 = 0; 258 pub const KVM_VGIC_V2_ADDR_TYPE_DIST: u32 = 0; 259 pub const KVM_VGIC_V2_ADDR_TYPE_CPU: u32 = 1; 260 pub const KVM_VGIC_V2_DIST_SIZE: u32 = 4096; 261 pub const KVM_VGIC_V2_CPU_SIZE: u32 = 8192; 262 pub const KVM_VGIC_V3_ADDR_TYPE_DIST: u32 = 2; 263 pub const KVM_VGIC_V3_ADDR_TYPE_REDIST: u32 = 3; 264 pub const KVM_VGIC_ITS_ADDR_TYPE: u32 = 4; 265 pub const KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION: u32 = 5; 266 pub const KVM_ARM_VCPU_POWER_OFF: u32 = 0; 267 pub const KVM_ARM_VCPU_EL1_32BIT: u32 = 1; 268 pub const KVM_ARM_VCPU_PSCI_0_2: u32 = 2; 269 pub const KVM_ARM_VCPU_PMU_V3: u32 = 3; 270 pub const KVM_ARM_VCPU_SVE: u32 = 4; 271 pub const KVM_ARM_VCPU_PTRAUTH_ADDRESS: u32 = 5; 272 pub const KVM_ARM_VCPU_PTRAUTH_GENERIC: u32 = 6; 273 pub const KVM_ARM_VCPU_HAS_EL2: u32 = 7; 274 pub const KVM_ARM_MAX_DBG_REGS: u32 = 16; 275 pub const KVM_DEBUG_ARCH_HSR_HIGH_VALID: u32 = 1; 276 pub const KVM_GUESTDBG_USE_SW_BP: u32 = 65536; 277 pub const KVM_GUESTDBG_USE_HW: u32 = 131072; 278 pub const KVM_PMU_EVENT_ALLOW: u32 = 0; 279 pub const KVM_PMU_EVENT_DENY: u32 = 1; 280 pub const KVM_ARM_TAGS_TO_GUEST: u32 = 0; 281 pub const KVM_ARM_TAGS_FROM_GUEST: u32 = 1; 282 pub const KVM_REG_ARM_COPROC_MASK: u32 = 268369920; 283 pub const KVM_REG_ARM_COPROC_SHIFT: u32 = 16; 284 pub const KVM_REG_ARM_CORE: u32 = 1048576; 285 pub const KVM_REG_ARM_DEMUX: u32 = 1114112; 286 pub const KVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280; 287 pub const KVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8; 288 pub const KVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0; 289 pub const KVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255; 290 pub const KVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0; 291 pub const KVM_REG_ARM64_SYSREG: u32 = 1245184; 292 pub const KVM_REG_ARM64_SYSREG_OP0_MASK: u32 = 49152; 293 pub const KVM_REG_ARM64_SYSREG_OP0_SHIFT: u32 = 14; 294 pub const KVM_REG_ARM64_SYSREG_OP1_MASK: u32 = 14336; 295 pub const KVM_REG_ARM64_SYSREG_OP1_SHIFT: u32 = 11; 296 pub const KVM_REG_ARM64_SYSREG_CRN_MASK: u32 = 1920; 297 pub const KVM_REG_ARM64_SYSREG_CRN_SHIFT: u32 = 7; 298 pub const KVM_REG_ARM64_SYSREG_CRM_MASK: u32 = 120; 299 pub const KVM_REG_ARM64_SYSREG_CRM_SHIFT: u32 = 3; 300 pub const KVM_REG_ARM64_SYSREG_OP2_MASK: u32 = 7; 301 pub const KVM_REG_ARM64_SYSREG_OP2_SHIFT: u32 = 0; 302 pub const KVM_REG_ARM_FW: u32 = 1310720; 303 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL: u32 = 0; 304 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL: u32 = 1; 305 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED: u32 = 2; 306 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL: u32 = 0; 307 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN: u32 = 1; 308 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_AVAIL: u32 = 2; 309 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_REQUIRED: u32 = 3; 310 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_ENABLED: u32 = 16; 311 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_3_NOT_AVAIL: u32 = 0; 312 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_3_AVAIL: u32 = 1; 313 pub const KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_3_NOT_REQUIRED: u32 = 2; 314 pub const KVM_REG_ARM64_SVE: u32 = 1376256; 315 pub const KVM_REG_ARM64_SVE_ZREG_BASE: u32 = 0; 316 pub const KVM_REG_ARM64_SVE_PREG_BASE: u32 = 1024; 317 pub const KVM_REG_ARM64_SVE_FFR_BASE: u32 = 1536; 318 pub const KVM_ARM64_SVE_NUM_ZREGS: u32 = 32; 319 pub const KVM_ARM64_SVE_NUM_PREGS: u32 = 16; 320 pub const KVM_ARM64_SVE_MAX_SLICES: u32 = 32; 321 pub const KVM_ARM64_SVE_VQ_MIN: u32 = 1; 322 pub const KVM_ARM64_SVE_VQ_MAX: u32 = 512; 323 pub const KVM_ARM64_SVE_VLS_WORDS: u32 = 8; 324 pub const KVM_REG_ARM_FW_FEAT_BMAP: u32 = 1441792; 325 pub const KVM_ARM_VM_SMCCC_CTRL: u32 = 0; 326 pub const KVM_ARM_VM_SMCCC_FILTER: u32 = 0; 327 pub const KVM_DEV_ARM_VGIC_GRP_ADDR: u32 = 0; 328 pub const KVM_DEV_ARM_VGIC_GRP_DIST_REGS: u32 = 1; 329 pub const KVM_DEV_ARM_VGIC_GRP_CPU_REGS: u32 = 2; 330 pub const KVM_DEV_ARM_VGIC_CPUID_SHIFT: u32 = 32; 331 pub const KVM_DEV_ARM_VGIC_CPUID_MASK: u64 = 1095216660480; 332 pub const KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT: u32 = 32; 333 pub const KVM_DEV_ARM_VGIC_V3_MPIDR_MASK: i64 = -4294967296; 334 pub const KVM_DEV_ARM_VGIC_OFFSET_SHIFT: u32 = 0; 335 pub const KVM_DEV_ARM_VGIC_OFFSET_MASK: u32 = 4294967295; 336 pub const KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK: u32 = 65535; 337 pub const KVM_DEV_ARM_VGIC_GRP_NR_IRQS: u32 = 3; 338 pub const KVM_DEV_ARM_VGIC_GRP_CTRL: u32 = 4; 339 pub const KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: u32 = 5; 340 pub const KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS: u32 = 6; 341 pub const KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: u32 = 7; 342 pub const KVM_DEV_ARM_VGIC_GRP_ITS_REGS: u32 = 8; 343 pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT: u32 = 10; 344 pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK: u32 = 4294966272; 345 pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK: u32 = 1023; 346 pub const VGIC_LEVEL_INFO_LINE_LEVEL: u32 = 0; 347 pub const KVM_DEV_ARM_VGIC_CTRL_INIT: u32 = 0; 348 pub const KVM_DEV_ARM_ITS_SAVE_TABLES: u32 = 1; 349 pub const KVM_DEV_ARM_ITS_RESTORE_TABLES: u32 = 2; 350 pub const KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES: u32 = 3; 351 pub const KVM_DEV_ARM_ITS_CTRL_RESET: u32 = 4; 352 pub const KVM_ARM_VCPU_PMU_V3_CTRL: u32 = 0; 353 pub const KVM_ARM_VCPU_PMU_V3_IRQ: u32 = 0; 354 pub const KVM_ARM_VCPU_PMU_V3_INIT: u32 = 1; 355 pub const KVM_ARM_VCPU_PMU_V3_FILTER: u32 = 2; 356 pub const KVM_ARM_VCPU_PMU_V3_SET_PMU: u32 = 3; 357 pub const KVM_ARM_VCPU_TIMER_CTRL: u32 = 1; 358 pub const KVM_ARM_VCPU_TIMER_IRQ_VTIMER: u32 = 0; 359 pub const KVM_ARM_VCPU_TIMER_IRQ_PTIMER: u32 = 1; 360 pub const KVM_ARM_VCPU_TIMER_IRQ_HVTIMER: u32 = 2; 361 pub const KVM_ARM_VCPU_TIMER_IRQ_HPTIMER: u32 = 3; 362 pub const KVM_ARM_VCPU_PVTIME_CTRL: u32 = 2; 363 pub const KVM_ARM_VCPU_PVTIME_IPA: u32 = 0; 364 pub const KVM_ARM_IRQ_VCPU2_SHIFT: u32 = 28; 365 pub const KVM_ARM_IRQ_VCPU2_MASK: u32 = 15; 366 pub const KVM_ARM_IRQ_TYPE_SHIFT: u32 = 24; 367 pub const KVM_ARM_IRQ_TYPE_MASK: u32 = 15; 368 pub const KVM_ARM_IRQ_VCPU_SHIFT: u32 = 16; 369 pub const KVM_ARM_IRQ_VCPU_MASK: u32 = 255; 370 pub const KVM_ARM_IRQ_NUM_SHIFT: u32 = 0; 371 pub const KVM_ARM_IRQ_NUM_MASK: u32 = 65535; 372 pub const KVM_ARM_IRQ_TYPE_CPU: u32 = 0; 373 pub const KVM_ARM_IRQ_TYPE_SPI: u32 = 1; 374 pub const KVM_ARM_IRQ_TYPE_PPI: u32 = 2; 375 pub const KVM_ARM_IRQ_CPU_IRQ: u32 = 0; 376 pub const KVM_ARM_IRQ_CPU_FIQ: u32 = 1; 377 pub const KVM_ARM_IRQ_GIC_MAX: u32 = 127; 378 pub const KVM_NR_IRQCHIPS: u32 = 1; 379 pub const KVM_PSCI_FN_BASE: u32 = 2512501342; 380 pub const KVM_PSCI_RET_SUCCESS: u32 = 0; 381 pub const KVM_PSCI_RET_NI: i32 = -1; 382 pub const KVM_PSCI_RET_INVAL: i32 = -2; 383 pub const KVM_PSCI_RET_DENIED: i32 = -3; 384 pub const KVM_SYSTEM_EVENT_RESET_FLAG_PSCI_RESET2: u32 = 1; 385 pub const KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED: u32 = 1; 386 pub const KVM_HYPERCALL_EXIT_SMC: u32 = 1; 387 pub const KVM_HYPERCALL_EXIT_16BIT: u32 = 2; 388 pub const KVM_API_VERSION: u32 = 12; 389 pub const KVM_TRC_SHIFT: u32 = 16; 390 pub const KVM_TRC_ENTRYEXIT: u32 = 65536; 391 pub const KVM_TRC_HANDLER: u32 = 131072; 392 pub const KVM_TRC_VMENTRY: u32 = 65537; 393 pub const KVM_TRC_VMEXIT: u32 = 65538; 394 pub const KVM_TRC_PAGE_FAULT: u32 = 131073; 395 pub const KVM_TRC_HEAD_SIZE: u32 = 12; 396 pub const KVM_TRC_CYCLE_SIZE: u32 = 8; 397 pub const KVM_TRC_EXTRA_MAX: u32 = 7; 398 pub const KVM_TRC_INJ_VIRQ: u32 = 131074; 399 pub const KVM_TRC_REDELIVER_EVT: u32 = 131075; 400 pub const KVM_TRC_PEND_INTR: u32 = 131076; 401 pub const KVM_TRC_IO_READ: u32 = 131077; 402 pub const KVM_TRC_IO_WRITE: u32 = 131078; 403 pub const KVM_TRC_CR_READ: u32 = 131079; 404 pub const KVM_TRC_CR_WRITE: u32 = 131080; 405 pub const KVM_TRC_DR_READ: u32 = 131081; 406 pub const KVM_TRC_DR_WRITE: u32 = 131082; 407 pub const KVM_TRC_MSR_READ: u32 = 131083; 408 pub const KVM_TRC_MSR_WRITE: u32 = 131084; 409 pub const KVM_TRC_CPUID: u32 = 131085; 410 pub const KVM_TRC_INTR: u32 = 131086; 411 pub const KVM_TRC_NMI: u32 = 131087; 412 pub const KVM_TRC_VMMCALL: u32 = 131088; 413 pub const KVM_TRC_HLT: u32 = 131089; 414 pub const KVM_TRC_CLTS: u32 = 131090; 415 pub const KVM_TRC_LMSW: u32 = 131091; 416 pub const KVM_TRC_APIC_ACCESS: u32 = 131092; 417 pub const KVM_TRC_TDP_FAULT: u32 = 131093; 418 pub const KVM_TRC_GTLB_WRITE: u32 = 131094; 419 pub const KVM_TRC_STLB_WRITE: u32 = 131095; 420 pub const KVM_TRC_STLB_INVAL: u32 = 131096; 421 pub const KVM_TRC_PPC_INSTR: u32 = 131097; 422 pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; 423 pub const KVM_MEM_READONLY: u32 = 2; 424 pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; 425 pub const KVM_S390_CMMA_PEEK: u32 = 1; 426 pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; 427 pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; 428 pub const KVM_EXIT_HYPERV_SYNDBG: u32 = 3; 429 pub const KVM_EXIT_XEN_HCALL: u32 = 1; 430 pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; 431 pub const KVM_S390_SKEYS_MAX: u32 = 1048576; 432 pub const KVM_EXIT_UNKNOWN: u32 = 0; 433 pub const KVM_EXIT_EXCEPTION: u32 = 1; 434 pub const KVM_EXIT_IO: u32 = 2; 435 pub const KVM_EXIT_HYPERCALL: u32 = 3; 436 pub const KVM_EXIT_DEBUG: u32 = 4; 437 pub const KVM_EXIT_HLT: u32 = 5; 438 pub const KVM_EXIT_MMIO: u32 = 6; 439 pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; 440 pub const KVM_EXIT_SHUTDOWN: u32 = 8; 441 pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; 442 pub const KVM_EXIT_INTR: u32 = 10; 443 pub const KVM_EXIT_SET_TPR: u32 = 11; 444 pub const KVM_EXIT_TPR_ACCESS: u32 = 12; 445 pub const KVM_EXIT_S390_SIEIC: u32 = 13; 446 pub const KVM_EXIT_S390_RESET: u32 = 14; 447 pub const KVM_EXIT_DCR: u32 = 15; 448 pub const KVM_EXIT_NMI: u32 = 16; 449 pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; 450 pub const KVM_EXIT_OSI: u32 = 18; 451 pub const KVM_EXIT_PAPR_HCALL: u32 = 19; 452 pub const KVM_EXIT_S390_UCONTROL: u32 = 20; 453 pub const KVM_EXIT_WATCHDOG: u32 = 21; 454 pub const KVM_EXIT_S390_TSCH: u32 = 22; 455 pub const KVM_EXIT_EPR: u32 = 23; 456 pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; 457 pub const KVM_EXIT_S390_STSI: u32 = 25; 458 pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; 459 pub const KVM_EXIT_HYPERV: u32 = 27; 460 pub const KVM_EXIT_ARM_NISV: u32 = 28; 461 pub const KVM_EXIT_X86_RDMSR: u32 = 29; 462 pub const KVM_EXIT_X86_WRMSR: u32 = 30; 463 pub const KVM_EXIT_DIRTY_RING_FULL: u32 = 31; 464 pub const KVM_EXIT_AP_RESET_HOLD: u32 = 32; 465 pub const KVM_EXIT_X86_BUS_LOCK: u32 = 33; 466 pub const KVM_EXIT_XEN: u32 = 34; 467 pub const KVM_EXIT_RISCV_SBI: u32 = 35; 468 pub const KVM_EXIT_RISCV_CSR: u32 = 36; 469 pub const KVM_EXIT_NOTIFY: u32 = 37; 470 pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; 471 pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; 472 pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; 473 pub const KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON: u32 = 4; 474 pub const KVM_INTERNAL_ERROR_EMULATION_FLAG_INSTRUCTION_BYTES: u32 = 1; 475 pub const KVM_EXIT_IO_IN: u32 = 0; 476 pub const KVM_EXIT_IO_OUT: u32 = 1; 477 pub const KVM_S390_RESET_POR: u32 = 1; 478 pub const KVM_S390_RESET_CLEAR: u32 = 2; 479 pub const KVM_S390_RESET_SUBSYSTEM: u32 = 4; 480 pub const KVM_S390_RESET_CPU_INIT: u32 = 8; 481 pub const KVM_S390_RESET_IPL: u32 = 16; 482 pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; 483 pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; 484 pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; 485 pub const KVM_SYSTEM_EVENT_WAKEUP: u32 = 4; 486 pub const KVM_SYSTEM_EVENT_SUSPEND: u32 = 5; 487 pub const KVM_SYSTEM_EVENT_SEV_TERM: u32 = 6; 488 pub const KVM_MSR_EXIT_REASON_INVAL: u32 = 1; 489 pub const KVM_MSR_EXIT_REASON_UNKNOWN: u32 = 2; 490 pub const KVM_MSR_EXIT_REASON_FILTER: u32 = 4; 491 pub const KVM_MSR_EXIT_REASON_VALID_MASK: u32 = 7; 492 pub const KVM_NOTIFY_CONTEXT_INVALID: u32 = 1; 493 pub const SYNC_REGS_SIZE_BYTES: u32 = 2048; 494 pub const KVM_S390_MEMOP_LOGICAL_READ: u32 = 0; 495 pub const KVM_S390_MEMOP_LOGICAL_WRITE: u32 = 1; 496 pub const KVM_S390_MEMOP_SIDA_READ: u32 = 2; 497 pub const KVM_S390_MEMOP_SIDA_WRITE: u32 = 3; 498 pub const KVM_S390_MEMOP_ABSOLUTE_READ: u32 = 4; 499 pub const KVM_S390_MEMOP_ABSOLUTE_WRITE: u32 = 5; 500 pub const KVM_S390_MEMOP_ABSOLUTE_CMPXCHG: u32 = 6; 501 pub const KVM_S390_MEMOP_F_CHECK_ONLY: u32 = 1; 502 pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: u32 = 2; 503 pub const KVM_S390_MEMOP_F_SKEY_PROTECTION: u32 = 4; 504 pub const KVM_S390_MEMOP_EXTENSION_CAP_BASE: u32 = 1; 505 pub const KVM_S390_MEMOP_EXTENSION_CAP_CMPXCHG: u32 = 2; 506 pub const KVM_MP_STATE_RUNNABLE: u32 = 0; 507 pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; 508 pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; 509 pub const KVM_MP_STATE_HALTED: u32 = 3; 510 pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; 511 pub const KVM_MP_STATE_STOPPED: u32 = 5; 512 pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; 513 pub const KVM_MP_STATE_OPERATING: u32 = 7; 514 pub const KVM_MP_STATE_LOAD: u32 = 8; 515 pub const KVM_MP_STATE_AP_RESET_HOLD: u32 = 9; 516 pub const KVM_MP_STATE_SUSPENDED: u32 = 10; 517 pub const KVM_S390_SIGP_STOP: u32 = 4294836224; 518 pub const KVM_S390_PROGRAM_INT: u32 = 4294836225; 519 pub const KVM_S390_SIGP_SET_PREFIX: u32 = 4294836226; 520 pub const KVM_S390_RESTART: u32 = 4294836227; 521 pub const KVM_S390_INT_PFAULT_INIT: u32 = 4294836228; 522 pub const KVM_S390_INT_PFAULT_DONE: u32 = 4294836229; 523 pub const KVM_S390_MCHK: u32 = 4294840320; 524 pub const KVM_S390_INT_CLOCK_COMP: u32 = 4294905860; 525 pub const KVM_S390_INT_CPU_TIMER: u32 = 4294905861; 526 pub const KVM_S390_INT_VIRTIO: u32 = 4294911491; 527 pub const KVM_S390_INT_SERVICE: u32 = 4294910977; 528 pub const KVM_S390_INT_EMERGENCY: u32 = 4294906369; 529 pub const KVM_S390_INT_EXTERNAL_CALL: u32 = 4294906370; 530 pub const KVM_S390_INT_IO_MIN: u32 = 0; 531 pub const KVM_S390_INT_IO_MAX: u32 = 4294836223; 532 pub const KVM_S390_INT_IO_AI_MASK: u32 = 67108864; 533 pub const KVM_S390_PGM_FLAGS_ILC_VALID: u32 = 1; 534 pub const KVM_S390_PGM_FLAGS_ILC_0: u32 = 2; 535 pub const KVM_S390_PGM_FLAGS_ILC_1: u32 = 4; 536 pub const KVM_S390_PGM_FLAGS_ILC_MASK: u32 = 6; 537 pub const KVM_S390_PGM_FLAGS_NO_REWIND: u32 = 8; 538 pub const KVM_S390_STOP_FLAG_STORE_STATUS: u32 = 1; 539 pub const KVM_GUESTDBG_ENABLE: u32 = 1; 540 pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; 541 pub const KVM_X86_DISABLE_EXITS_MWAIT: u32 = 1; 542 pub const KVM_X86_DISABLE_EXITS_HLT: u32 = 2; 543 pub const KVM_X86_DISABLE_EXITS_PAUSE: u32 = 4; 544 pub const KVM_X86_DISABLE_EXITS_CSTATE: u32 = 8; 545 pub const KVM_X86_DISABLE_VALID_EXITS: u32 = 15; 546 pub const KVM_PPC_PVINFO_FLAGS_EV_IDLE: u32 = 1; 547 pub const KVM_PPC_PAGE_SIZES_MAX_SZ: u32 = 8; 548 pub const KVM_PPC_PAGE_SIZES_REAL: u32 = 1; 549 pub const KVM_PPC_1T_SEGMENTS: u32 = 2; 550 pub const KVM_PPC_NO_HASH: u32 = 4; 551 pub const KVMIO: u32 = 174; 552 pub const KVM_VM_S390_UCONTROL: u32 = 1; 553 pub const KVM_VM_PPC_HV: u32 = 1; 554 pub const KVM_VM_PPC_PR: u32 = 2; 555 pub const KVM_VM_MIPS_AUTO: u32 = 0; 556 pub const KVM_VM_MIPS_VZ: u32 = 1; 557 pub const KVM_VM_MIPS_TE: u32 = 2; 558 pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; 559 pub const KVM_VM_TYPE_ARM_IPA_SIZE_MASK: u32 = 255; 560 pub const KVM_CAP_IRQCHIP: u32 = 0; 561 pub const KVM_CAP_HLT: u32 = 1; 562 pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; 563 pub const KVM_CAP_USER_MEMORY: u32 = 3; 564 pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; 565 pub const KVM_CAP_VAPIC: u32 = 6; 566 pub const KVM_CAP_EXT_CPUID: u32 = 7; 567 pub const KVM_CAP_CLOCKSOURCE: u32 = 8; 568 pub const KVM_CAP_NR_VCPUS: u32 = 9; 569 pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; 570 pub const KVM_CAP_PIT: u32 = 11; 571 pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; 572 pub const KVM_CAP_PV_MMU: u32 = 13; 573 pub const KVM_CAP_MP_STATE: u32 = 14; 574 pub const KVM_CAP_COALESCED_MMIO: u32 = 15; 575 pub const KVM_CAP_SYNC_MMU: u32 = 16; 576 pub const KVM_CAP_IOMMU: u32 = 18; 577 pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; 578 pub const KVM_CAP_USER_NMI: u32 = 22; 579 pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; 580 pub const KVM_CAP_IRQ_ROUTING: u32 = 25; 581 pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; 582 pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; 583 pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; 584 pub const KVM_CAP_IRQFD: u32 = 32; 585 pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; 586 pub const KVM_CAP_IOEVENTFD: u32 = 36; 587 pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; 588 pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; 589 pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; 590 pub const KVM_CAP_VCPU_EVENTS: u32 = 41; 591 pub const KVM_CAP_S390_PSW: u32 = 42; 592 pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; 593 pub const KVM_CAP_HYPERV: u32 = 44; 594 pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; 595 pub const KVM_CAP_HYPERV_SPIN: u32 = 46; 596 pub const KVM_CAP_PCI_SEGMENT: u32 = 47; 597 pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; 598 pub const KVM_CAP_INTR_SHADOW: u32 = 49; 599 pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; 600 pub const KVM_CAP_PPC_OSI: u32 = 52; 601 pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; 602 pub const KVM_CAP_ENABLE_CAP: u32 = 54; 603 pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; 604 pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; 605 pub const KVM_CAP_ASYNC_PF: u32 = 59; 606 pub const KVM_CAP_TSC_CONTROL: u32 = 60; 607 pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; 608 pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; 609 pub const KVM_CAP_SPAPR_TCE: u32 = 63; 610 pub const KVM_CAP_PPC_SMT: u32 = 64; 611 pub const KVM_CAP_PPC_RMA: u32 = 65; 612 pub const KVM_CAP_MAX_VCPUS: u32 = 66; 613 pub const KVM_CAP_PPC_HIOR: u32 = 67; 614 pub const KVM_CAP_PPC_PAPR: u32 = 68; 615 pub const KVM_CAP_SW_TLB: u32 = 69; 616 pub const KVM_CAP_ONE_REG: u32 = 70; 617 pub const KVM_CAP_S390_GMAP: u32 = 71; 618 pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; 619 pub const KVM_CAP_S390_UCONTROL: u32 = 73; 620 pub const KVM_CAP_SYNC_REGS: u32 = 74; 621 pub const KVM_CAP_PCI_2_3: u32 = 75; 622 pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; 623 pub const KVM_CAP_SIGNAL_MSI: u32 = 77; 624 pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; 625 pub const KVM_CAP_S390_COW: u32 = 79; 626 pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; 627 pub const KVM_CAP_READONLY_MEM: u32 = 81; 628 pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; 629 pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; 630 pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; 631 pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; 632 pub const KVM_CAP_PPC_EPR: u32 = 86; 633 pub const KVM_CAP_ARM_PSCI: u32 = 87; 634 pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; 635 pub const KVM_CAP_DEVICE_CTRL: u32 = 89; 636 pub const KVM_CAP_IRQ_MPIC: u32 = 90; 637 pub const KVM_CAP_PPC_RTAS: u32 = 91; 638 pub const KVM_CAP_IRQ_XICS: u32 = 92; 639 pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; 640 pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; 641 pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; 642 pub const KVM_CAP_HYPERV_TIME: u32 = 96; 643 pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; 644 pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; 645 pub const KVM_CAP_S390_IRQCHIP: u32 = 99; 646 pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; 647 pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; 648 pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; 649 pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; 650 pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; 651 pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; 652 pub const KVM_CAP_S390_USER_SIGP: u32 = 106; 653 pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; 654 pub const KVM_CAP_S390_MEM_OP: u32 = 108; 655 pub const KVM_CAP_S390_USER_STSI: u32 = 109; 656 pub const KVM_CAP_S390_SKEYS: u32 = 110; 657 pub const KVM_CAP_MIPS_FPU: u32 = 111; 658 pub const KVM_CAP_MIPS_MSA: u32 = 112; 659 pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; 660 pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; 661 pub const KVM_CAP_PPC_HWRNG: u32 = 115; 662 pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; 663 pub const KVM_CAP_X86_SMM: u32 = 117; 664 pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; 665 pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; 666 pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; 667 pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; 668 pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; 669 pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; 670 pub const KVM_CAP_S390_RI: u32 = 124; 671 pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; 672 pub const KVM_CAP_ARM_PMU_V3: u32 = 126; 673 pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; 674 pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; 675 pub const KVM_CAP_X2APIC_API: u32 = 129; 676 pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; 677 pub const KVM_CAP_MSI_DEVID: u32 = 131; 678 pub const KVM_CAP_PPC_HTM: u32 = 132; 679 pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; 680 pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; 681 pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; 682 pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; 683 pub const KVM_CAP_MIPS_VZ: u32 = 137; 684 pub const KVM_CAP_MIPS_TE: u32 = 138; 685 pub const KVM_CAP_MIPS_64BIT: u32 = 139; 686 pub const KVM_CAP_S390_GS: u32 = 140; 687 pub const KVM_CAP_S390_AIS: u32 = 141; 688 pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; 689 pub const KVM_CAP_X86_DISABLE_EXITS: u32 = 143; 690 pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; 691 pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; 692 pub const KVM_CAP_PPC_FWNMI: u32 = 146; 693 pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; 694 pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; 695 pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; 696 pub const KVM_CAP_S390_AIS_MIGRATION: u32 = 150; 697 pub const KVM_CAP_PPC_GET_CPU_CHAR: u32 = 151; 698 pub const KVM_CAP_S390_BPB: u32 = 152; 699 pub const KVM_CAP_GET_MSR_FEATURES: u32 = 153; 700 pub const KVM_CAP_HYPERV_EVENTFD: u32 = 154; 701 pub const KVM_CAP_HYPERV_TLBFLUSH: u32 = 155; 702 pub const KVM_CAP_S390_HPAGE_1M: u32 = 156; 703 pub const KVM_CAP_NESTED_STATE: u32 = 157; 704 pub const KVM_CAP_ARM_INJECT_SERROR_ESR: u32 = 158; 705 pub const KVM_CAP_MSR_PLATFORM_INFO: u32 = 159; 706 pub const KVM_CAP_PPC_NESTED_HV: u32 = 160; 707 pub const KVM_CAP_HYPERV_SEND_IPI: u32 = 161; 708 pub const KVM_CAP_COALESCED_PIO: u32 = 162; 709 pub const KVM_CAP_HYPERV_ENLIGHTENED_VMCS: u32 = 163; 710 pub const KVM_CAP_EXCEPTION_PAYLOAD: u32 = 164; 711 pub const KVM_CAP_ARM_VM_IPA_SIZE: u32 = 165; 712 pub const KVM_CAP_MANUAL_DIRTY_LOG_PROTECT: u32 = 166; 713 pub const KVM_CAP_HYPERV_CPUID: u32 = 167; 714 pub const KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2: u32 = 168; 715 pub const KVM_CAP_PPC_IRQ_XIVE: u32 = 169; 716 pub const KVM_CAP_ARM_SVE: u32 = 170; 717 pub const KVM_CAP_ARM_PTRAUTH_ADDRESS: u32 = 171; 718 pub const KVM_CAP_ARM_PTRAUTH_GENERIC: u32 = 172; 719 pub const KVM_CAP_PMU_EVENT_FILTER: u32 = 173; 720 pub const KVM_CAP_ARM_IRQ_LINE_LAYOUT_2: u32 = 174; 721 pub const KVM_CAP_HYPERV_DIRECT_TLBFLUSH: u32 = 175; 722 pub const KVM_CAP_PPC_GUEST_DEBUG_SSTEP: u32 = 176; 723 pub const KVM_CAP_ARM_NISV_TO_USER: u32 = 177; 724 pub const KVM_CAP_ARM_INJECT_EXT_DABT: u32 = 178; 725 pub const KVM_CAP_S390_VCPU_RESETS: u32 = 179; 726 pub const KVM_CAP_S390_PROTECTED: u32 = 180; 727 pub const KVM_CAP_PPC_SECURE_GUEST: u32 = 181; 728 pub const KVM_CAP_HALT_POLL: u32 = 182; 729 pub const KVM_CAP_ASYNC_PF_INT: u32 = 183; 730 pub const KVM_CAP_LAST_CPU: u32 = 184; 731 pub const KVM_CAP_SMALLER_MAXPHYADDR: u32 = 185; 732 pub const KVM_CAP_S390_DIAG318: u32 = 186; 733 pub const KVM_CAP_STEAL_TIME: u32 = 187; 734 pub const KVM_CAP_X86_USER_SPACE_MSR: u32 = 188; 735 pub const KVM_CAP_X86_MSR_FILTER: u32 = 189; 736 pub const KVM_CAP_ENFORCE_PV_FEATURE_CPUID: u32 = 190; 737 pub const KVM_CAP_SYS_HYPERV_CPUID: u32 = 191; 738 pub const KVM_CAP_DIRTY_LOG_RING: u32 = 192; 739 pub const KVM_CAP_X86_BUS_LOCK_EXIT: u32 = 193; 740 pub const KVM_CAP_PPC_DAWR1: u32 = 194; 741 pub const KVM_CAP_SET_GUEST_DEBUG2: u32 = 195; 742 pub const KVM_CAP_SGX_ATTRIBUTE: u32 = 196; 743 pub const KVM_CAP_VM_COPY_ENC_CONTEXT_FROM: u32 = 197; 744 pub const KVM_CAP_PTP_KVM: u32 = 198; 745 pub const KVM_CAP_HYPERV_ENFORCE_CPUID: u32 = 199; 746 pub const KVM_CAP_SREGS2: u32 = 200; 747 pub const KVM_CAP_EXIT_HYPERCALL: u32 = 201; 748 pub const KVM_CAP_PPC_RPT_INVALIDATE: u32 = 202; 749 pub const KVM_CAP_BINARY_STATS_FD: u32 = 203; 750 pub const KVM_CAP_EXIT_ON_EMULATION_FAILURE: u32 = 204; 751 pub const KVM_CAP_ARM_MTE: u32 = 205; 752 pub const KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM: u32 = 206; 753 pub const KVM_CAP_VM_GPA_BITS: u32 = 207; 754 pub const KVM_CAP_XSAVE2: u32 = 208; 755 pub const KVM_CAP_SYS_ATTRIBUTES: u32 = 209; 756 pub const KVM_CAP_PPC_AIL_MODE_3: u32 = 210; 757 pub const KVM_CAP_S390_MEM_OP_EXTENSION: u32 = 211; 758 pub const KVM_CAP_PMU_CAPABILITY: u32 = 212; 759 pub const KVM_CAP_DISABLE_QUIRKS2: u32 = 213; 760 pub const KVM_CAP_VM_TSC_CONTROL: u32 = 214; 761 pub const KVM_CAP_SYSTEM_EVENT_DATA: u32 = 215; 762 pub const KVM_CAP_ARM_SYSTEM_SUSPEND: u32 = 216; 763 pub const KVM_CAP_S390_PROTECTED_DUMP: u32 = 217; 764 pub const KVM_CAP_X86_TRIPLE_FAULT_EVENT: u32 = 218; 765 pub const KVM_CAP_X86_NOTIFY_VMEXIT: u32 = 219; 766 pub const KVM_CAP_VM_DISABLE_NX_HUGE_PAGES: u32 = 220; 767 pub const KVM_CAP_S390_ZPCI_OP: u32 = 221; 768 pub const KVM_CAP_S390_CPU_TOPOLOGY: u32 = 222; 769 pub const KVM_CAP_DIRTY_LOG_RING_ACQ_REL: u32 = 223; 770 pub const KVM_CAP_S390_PROTECTED_ASYNC_DISABLE: u32 = 224; 771 pub const KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP: u32 = 225; 772 pub const KVM_CAP_PMU_EVENT_MASKED_EVENTS: u32 = 226; 773 pub const KVM_CAP_COUNTER_OFFSET: u32 = 227; 774 pub const KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE: u32 = 228; 775 pub const KVM_CAP_ARM_SUPPORTED_BLOCK_SIZES: u32 = 229; 776 pub const KVM_CAP_GET_CUR_CPUFREQ: u32 = 512; 777 pub const KVM_CAP_UTIL_HINT: u32 = 513; 778 pub const KVM_CAP_GET_CPUFREQ_TBL: u32 = 514; 779 pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; 780 pub const KVM_IRQ_ROUTING_MSI: u32 = 2; 781 pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; 782 pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; 783 pub const KVM_IRQ_ROUTING_XEN_EVTCHN: u32 = 5; 784 pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; 785 pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; 786 pub const KVM_CLOCK_TSC_STABLE: u32 = 2; 787 pub const KVM_CLOCK_REALTIME: u32 = 4; 788 pub const KVM_CLOCK_HOST_TSC: u32 = 8; 789 pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; 790 pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; 791 pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; 792 pub const KVM_REG_GENERIC: u32 = 0; 793 pub const KVM_REG_PPC: u64 = 1152921504606846976; 794 pub const KVM_REG_X86: u64 = 2305843009213693952; 795 pub const KVM_REG_IA64: u64 = 3458764513820540928; 796 pub const KVM_REG_ARM: u64 = 4611686018427387904; 797 pub const KVM_REG_S390: u64 = 5764607523034234880; 798 pub const KVM_REG_ARM64: u64 = 6917529027641081856; 799 pub const KVM_REG_MIPS: u64 = 8070450532247928832; 800 pub const KVM_REG_RISCV: i64 = -9223372036854775808; 801 pub const KVM_REG_SIZE_SHIFT: u32 = 52; 802 pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; 803 pub const KVM_REG_SIZE_U8: u32 = 0; 804 pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; 805 pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; 806 pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; 807 pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; 808 pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; 809 pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; 810 pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; 811 pub const KVM_REG_SIZE_U2048: u64 = 36028797018963968; 812 pub const KVM_MSI_VALID_DEVID: u32 = 1; 813 pub const KVM_CREATE_DEVICE_TEST: u32 = 1; 814 pub const KVM_DEV_VFIO_FILE: u32 = 1; 815 pub const KVM_DEV_VFIO_FILE_ADD: u32 = 1; 816 pub const KVM_DEV_VFIO_FILE_DEL: u32 = 2; 817 pub const KVM_DEV_VFIO_GROUP: u32 = 1; 818 pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; 819 pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; 820 pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; 821 pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; 822 pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; 823 pub const KVM_XEN_EVTCHN_DEASSIGN: u32 = 1; 824 pub const KVM_XEN_EVTCHN_UPDATE: u32 = 2; 825 pub const KVM_XEN_EVTCHN_RESET: u32 = 4; 826 pub const KVM_XEN_ATTR_TYPE_LONG_MODE: u32 = 0; 827 pub const KVM_XEN_ATTR_TYPE_SHARED_INFO: u32 = 1; 828 pub const KVM_XEN_ATTR_TYPE_UPCALL_VECTOR: u32 = 2; 829 pub const KVM_XEN_ATTR_TYPE_EVTCHN: u32 = 3; 830 pub const KVM_XEN_ATTR_TYPE_XEN_VERSION: u32 = 4; 831 pub const KVM_XEN_ATTR_TYPE_RUNSTATE_UPDATE_FLAG: u32 = 5; 832 pub const KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO: u32 = 0; 833 pub const KVM_XEN_VCPU_ATTR_TYPE_VCPU_TIME_INFO: u32 = 1; 834 pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADDR: u32 = 2; 835 pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT: u32 = 3; 836 pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA: u32 = 4; 837 pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADJUST: u32 = 5; 838 pub const KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID: u32 = 6; 839 pub const KVM_XEN_VCPU_ATTR_TYPE_TIMER: u32 = 7; 840 pub const KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR: u32 = 8; 841 pub const KVM_DEV_ASSIGN_ENABLE_IOMMU: u32 = 1; 842 pub const KVM_DEV_ASSIGN_PCI_2_3: u32 = 2; 843 pub const KVM_DEV_ASSIGN_MASK_INTX: u32 = 4; 844 pub const KVM_DEV_IRQ_HOST_INTX: u32 = 1; 845 pub const KVM_DEV_IRQ_HOST_MSI: u32 = 2; 846 pub const KVM_DEV_IRQ_HOST_MSIX: u32 = 4; 847 pub const KVM_DEV_IRQ_GUEST_INTX: u32 = 256; 848 pub const KVM_DEV_IRQ_GUEST_MSI: u32 = 512; 849 pub const KVM_DEV_IRQ_GUEST_MSIX: u32 = 1024; 850 pub const KVM_DEV_IRQ_HOST_MASK: u32 = 255; 851 pub const KVM_DEV_IRQ_GUEST_MASK: u32 = 65280; 852 pub const KVM_MAX_MSIX_PER_DEV: u32 = 256; 853 pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1; 854 pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2; 855 pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; 856 pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; 857 pub const KVM_ARM_DEV_PMU: u32 = 4; 858 pub const KVM_HYPERV_CONN_ID_MASK: u32 = 16777215; 859 pub const KVM_HYPERV_EVENTFD_DEASSIGN: u32 = 1; 860 pub const KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE: u32 = 1; 861 pub const KVM_DIRTY_LOG_INITIALLY_SET: u32 = 2; 862 pub const KVM_DIRTY_GFN_F_MASK: u32 = 3; 863 pub const KVM_BUS_LOCK_DETECTION_OFF: u32 = 1; 864 pub const KVM_BUS_LOCK_DETECTION_EXIT: u32 = 2; 865 pub const KVM_PMU_CAP_DISABLE: u32 = 1; 866 pub const KVM_STATS_TYPE_SHIFT: u32 = 0; 867 pub const KVM_STATS_TYPE_MASK: u32 = 15; 868 pub const KVM_STATS_TYPE_CUMULATIVE: u32 = 0; 869 pub const KVM_STATS_TYPE_INSTANT: u32 = 1; 870 pub const KVM_STATS_TYPE_PEAK: u32 = 2; 871 pub const KVM_STATS_TYPE_LINEAR_HIST: u32 = 3; 872 pub const KVM_STATS_TYPE_LOG_HIST: u32 = 4; 873 pub const KVM_STATS_TYPE_MAX: u32 = 4; 874 pub const KVM_STATS_UNIT_SHIFT: u32 = 4; 875 pub const KVM_STATS_UNIT_MASK: u32 = 240; 876 pub const KVM_STATS_UNIT_NONE: u32 = 0; 877 pub const KVM_STATS_UNIT_BYTES: u32 = 16; 878 pub const KVM_STATS_UNIT_SECONDS: u32 = 32; 879 pub const KVM_STATS_UNIT_CYCLES: u32 = 48; 880 pub const KVM_STATS_UNIT_BOOLEAN: u32 = 64; 881 pub const KVM_STATS_UNIT_MAX: u32 = 64; 882 pub const KVM_STATS_BASE_SHIFT: u32 = 8; 883 pub const KVM_STATS_BASE_MASK: u32 = 3840; 884 pub const KVM_STATS_BASE_POW10: u32 = 0; 885 pub const KVM_STATS_BASE_POW2: u32 = 256; 886 pub const KVM_STATS_BASE_MAX: u32 = 256; 887 pub const KVM_X86_NOTIFY_VMEXIT_ENABLED: u32 = 1; 888 pub const KVM_X86_NOTIFY_VMEXIT_USER: u32 = 2; 889 pub const KVM_S390_ZPCIOP_REG_AEN: u32 = 0; 890 pub const KVM_S390_ZPCIOP_DEREG_AEN: u32 = 1; 891 pub const KVM_S390_ZPCIOP_REGAEN_HOST: u32 = 1; 892 pub type __s128 = i128; 893 pub type __u128 = u128; 894 pub type __le16 = u16; 895 pub type __be16 = u16; 896 pub type __le32 = u32; 897 pub type __be32 = u32; 898 pub type __le64 = u64; 899 pub type __be64 = u64; 900 pub type __sum16 = u16; 901 pub type __wsum = u32; 902 pub type __poll_t = ::std::os::raw::c_uint; 903 #[repr(C)] 904 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 905 pub struct user_pt_regs { 906 pub regs: [u64; 31usize], 907 pub sp: u64, 908 pub pc: u64, 909 pub pstate: u64, 910 } 911 #[repr(C)] 912 #[repr(align(16))] 913 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 914 pub struct user_fpsimd_state { 915 pub vregs: [__uint128_t; 32usize], 916 pub fpsr: u32, 917 pub fpcr: u32, 918 pub __reserved: [u32; 2usize], 919 } 920 #[repr(C)] 921 #[derive(Debug, Default, Copy, Clone)] 922 pub struct user_hwdebug_state { 923 pub dbg_info: u32, 924 pub pad: u32, 925 pub dbg_regs: [user_hwdebug_state__bindgen_ty_1; 16usize], 926 } 927 #[repr(C)] 928 #[derive(Debug, Default, Copy, Clone)] 929 pub struct user_hwdebug_state__bindgen_ty_1 { 930 pub addr: u64, 931 pub ctrl: u32, 932 pub pad: u32, 933 } 934 #[repr(C)] 935 #[derive(Debug, Default, Copy, Clone)] 936 pub struct user_sve_header { 937 pub size: u32, 938 pub max_size: u32, 939 pub vl: u16, 940 pub max_vl: u16, 941 pub flags: u16, 942 pub __reserved: u16, 943 } 944 #[repr(C)] 945 #[derive(Debug, Default, Copy, Clone)] 946 pub struct user_pac_mask { 947 pub data_mask: u64, 948 pub insn_mask: u64, 949 } 950 #[repr(C)] 951 #[repr(align(16))] 952 #[derive(Debug, Default, Copy, Clone)] 953 pub struct user_pac_address_keys { 954 pub apiakey: __uint128_t, 955 pub apibkey: __uint128_t, 956 pub apdakey: __uint128_t, 957 pub apdbkey: __uint128_t, 958 } 959 #[repr(C)] 960 #[repr(align(16))] 961 #[derive(Debug, Default, Copy, Clone)] 962 pub struct user_pac_generic_keys { 963 pub apgakey: __uint128_t, 964 } 965 #[repr(C)] 966 #[derive(Debug, Default, Copy, Clone)] 967 pub struct user_za_header { 968 pub size: u32, 969 pub max_size: u32, 970 pub vl: u16, 971 pub max_vl: u16, 972 pub flags: u16, 973 pub __reserved: u16, 974 } 975 #[repr(C)] 976 #[repr(align(16))] 977 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 978 pub struct kvm_regs { 979 pub regs: user_pt_regs, 980 pub sp_el1: u64, 981 pub elr_el1: u64, 982 pub spsr: [u64; 5usize], 983 pub __bindgen_padding_0: u64, 984 pub fp_regs: user_fpsimd_state, 985 } 986 #[repr(C)] 987 #[derive(Debug, Default, Copy, Clone)] 988 pub struct kvm_vcpu_init { 989 pub target: u32, 990 pub features: [u32; 7usize], 991 } 992 #[repr(C)] 993 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 994 pub struct kvm_sregs {} 995 #[repr(C)] 996 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 997 pub struct kvm_fpu {} 998 #[repr(C)] 999 #[derive(Debug, Default, Copy, Clone)] 1000 pub struct kvm_guest_debug_arch { 1001 pub dbg_bcr: [u64; 16usize], 1002 pub dbg_bvr: [u64; 16usize], 1003 pub dbg_wcr: [u64; 16usize], 1004 pub dbg_wvr: [u64; 16usize], 1005 } 1006 #[repr(C)] 1007 #[derive(Debug, Default, Copy, Clone)] 1008 pub struct kvm_debug_exit_arch { 1009 pub hsr: u32, 1010 pub hsr_high: u32, 1011 pub far: u64, 1012 } 1013 #[repr(C)] 1014 #[derive(Debug, Default, Copy, Clone)] 1015 pub struct kvm_sync_regs { 1016 pub device_irq_level: u64, 1017 } 1018 #[repr(C)] 1019 #[derive(Debug, Default, Copy, Clone)] 1020 pub struct kvm_pmu_event_filter { 1021 pub base_event: u16, 1022 pub nevents: u16, 1023 pub action: u8, 1024 pub pad: [u8; 3usize], 1025 } 1026 #[repr(C)] 1027 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 1028 pub struct kvm_vcpu_events { 1029 pub exception: kvm_vcpu_events__bindgen_ty_1, 1030 pub reserved: [u32; 12usize], 1031 } 1032 #[repr(C)] 1033 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 1034 pub struct kvm_vcpu_events__bindgen_ty_1 { 1035 pub serror_pending: u8, 1036 pub serror_has_esr: u8, 1037 pub ext_dabt_pending: u8, 1038 pub pad: [u8; 5usize], 1039 pub serror_esr: u64, 1040 } 1041 #[repr(C)] 1042 #[derive(Debug, Copy, Clone)] 1043 pub struct kvm_arm_copy_mte_tags { 1044 pub guest_ipa: u64, 1045 pub length: u64, 1046 pub addr: *mut ::std::os::raw::c_void, 1047 pub flags: u64, 1048 pub reserved: [u64; 2usize], 1049 } 1050 impl Default for kvm_arm_copy_mte_tags { default() -> Self1051 fn default() -> Self { 1052 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1053 unsafe { 1054 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1055 s.assume_init() 1056 } 1057 } 1058 } 1059 #[repr(C)] 1060 #[derive(Debug, Default, Copy, Clone)] 1061 pub struct kvm_arm_counter_offset { 1062 pub counter_offset: u64, 1063 pub reserved: u64, 1064 } 1065 pub const KVM_REG_ARM_STD_BIT_TRNG_V1_0: _bindgen_ty_1 = 0; 1066 pub type _bindgen_ty_1 = ::std::os::raw::c_uint; 1067 pub const KVM_REG_ARM_STD_HYP_BIT_PV_TIME: _bindgen_ty_2 = 0; 1068 pub type _bindgen_ty_2 = ::std::os::raw::c_uint; 1069 pub const KVM_REG_ARM_VENDOR_HYP_BIT_FUNC_FEAT: _bindgen_ty_3 = 0; 1070 pub const KVM_REG_ARM_VENDOR_HYP_BIT_PTP: _bindgen_ty_3 = 1; 1071 pub type _bindgen_ty_3 = ::std::os::raw::c_uint; 1072 pub const kvm_smccc_filter_action_KVM_SMCCC_FILTER_HANDLE: kvm_smccc_filter_action = 0; 1073 pub const kvm_smccc_filter_action_KVM_SMCCC_FILTER_DENY: kvm_smccc_filter_action = 1; 1074 pub const kvm_smccc_filter_action_KVM_SMCCC_FILTER_FWD_TO_USER: kvm_smccc_filter_action = 2; 1075 pub type kvm_smccc_filter_action = ::std::os::raw::c_uint; 1076 #[repr(C)] 1077 #[derive(Debug, Default, Copy, Clone)] 1078 pub struct kvm_smccc_filter { 1079 pub base: u32, 1080 pub nr_functions: u32, 1081 pub action: u8, 1082 pub pad: [u8; 15usize], 1083 } 1084 #[repr(C)] 1085 #[derive(Debug, Default, Copy, Clone)] 1086 pub struct kvm_user_trace_setup { 1087 pub buf_size: u32, 1088 pub buf_nr: u32, 1089 } 1090 #[repr(C)] 1091 #[derive(Debug, Default, Copy, Clone)] 1092 pub struct kvm_breakpoint { 1093 pub enabled: u32, 1094 pub padding: u32, 1095 pub address: u64, 1096 } 1097 #[repr(C)] 1098 #[derive(Debug, Default, Copy, Clone)] 1099 pub struct kvm_debug_guest { 1100 pub enabled: u32, 1101 pub pad: u32, 1102 pub breakpoints: [kvm_breakpoint; 4usize], 1103 pub singlestep: u32, 1104 } 1105 #[repr(C)] 1106 #[derive(Debug, Default, Copy, Clone)] 1107 pub struct kvm_userspace_memory_region { 1108 pub slot: u32, 1109 pub flags: u32, 1110 pub guest_phys_addr: u64, 1111 pub memory_size: u64, 1112 pub userspace_addr: u64, 1113 } 1114 #[repr(C)] 1115 #[derive(Copy, Clone)] 1116 pub struct kvm_irq_level { 1117 pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, 1118 pub level: u32, 1119 } 1120 #[repr(C)] 1121 #[derive(Copy, Clone)] 1122 pub union kvm_irq_level__bindgen_ty_1 { 1123 pub irq: u32, 1124 pub status: i32, 1125 } 1126 impl Default for kvm_irq_level__bindgen_ty_1 { default() -> Self1127 fn default() -> Self { 1128 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1129 unsafe { 1130 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1131 s.assume_init() 1132 } 1133 } 1134 } 1135 impl Default for kvm_irq_level { default() -> Self1136 fn default() -> Self { 1137 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1138 unsafe { 1139 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1140 s.assume_init() 1141 } 1142 } 1143 } 1144 #[repr(C)] 1145 #[derive(Copy, Clone)] 1146 pub struct kvm_irqchip { 1147 pub chip_id: u32, 1148 pub pad: u32, 1149 pub chip: kvm_irqchip__bindgen_ty_1, 1150 } 1151 #[repr(C)] 1152 #[derive(Copy, Clone)] 1153 pub union kvm_irqchip__bindgen_ty_1 { 1154 pub dummy: [::std::os::raw::c_char; 512usize], 1155 } 1156 impl Default for kvm_irqchip__bindgen_ty_1 { default() -> Self1157 fn default() -> Self { 1158 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1159 unsafe { 1160 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1161 s.assume_init() 1162 } 1163 } 1164 } 1165 impl Default for kvm_irqchip { default() -> Self1166 fn default() -> Self { 1167 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1168 unsafe { 1169 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1170 s.assume_init() 1171 } 1172 } 1173 } 1174 #[repr(C)] 1175 #[derive(Debug, Default, Copy, Clone)] 1176 pub struct kvm_pit_config { 1177 pub flags: u32, 1178 pub pad: [u32; 15usize], 1179 } 1180 #[repr(C)] 1181 #[derive(Debug, Default, Copy, Clone)] 1182 pub struct kvm_s390_skeys { 1183 pub start_gfn: u64, 1184 pub count: u64, 1185 pub skeydata_addr: u64, 1186 pub flags: u32, 1187 pub reserved: [u32; 9usize], 1188 } 1189 #[repr(C)] 1190 #[derive(Copy, Clone)] 1191 pub struct kvm_s390_cmma_log { 1192 pub start_gfn: u64, 1193 pub count: u32, 1194 pub flags: u32, 1195 pub __bindgen_anon_1: kvm_s390_cmma_log__bindgen_ty_1, 1196 pub values: u64, 1197 } 1198 #[repr(C)] 1199 #[derive(Copy, Clone)] 1200 pub union kvm_s390_cmma_log__bindgen_ty_1 { 1201 pub remaining: u64, 1202 pub mask: u64, 1203 } 1204 impl Default for kvm_s390_cmma_log__bindgen_ty_1 { default() -> Self1205 fn default() -> Self { 1206 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1207 unsafe { 1208 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1209 s.assume_init() 1210 } 1211 } 1212 } 1213 impl Default for kvm_s390_cmma_log { default() -> Self1214 fn default() -> Self { 1215 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1216 unsafe { 1217 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1218 s.assume_init() 1219 } 1220 } 1221 } 1222 #[repr(C)] 1223 #[derive(Copy, Clone)] 1224 pub struct kvm_hyperv_exit { 1225 pub type_: u32, 1226 pub pad1: u32, 1227 pub u: kvm_hyperv_exit__bindgen_ty_1, 1228 } 1229 #[repr(C)] 1230 #[derive(Copy, Clone)] 1231 pub union kvm_hyperv_exit__bindgen_ty_1 { 1232 pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, 1233 pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, 1234 pub syndbg: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, 1235 } 1236 #[repr(C)] 1237 #[derive(Debug, Default, Copy, Clone)] 1238 pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { 1239 pub msr: u32, 1240 pub pad2: u32, 1241 pub control: u64, 1242 pub evt_page: u64, 1243 pub msg_page: u64, 1244 } 1245 #[repr(C)] 1246 #[derive(Debug, Default, Copy, Clone)] 1247 pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { 1248 pub input: u64, 1249 pub result: u64, 1250 pub params: [u64; 2usize], 1251 } 1252 #[repr(C)] 1253 #[derive(Debug, Default, Copy, Clone)] 1254 pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3 { 1255 pub msr: u32, 1256 pub pad2: u32, 1257 pub control: u64, 1258 pub status: u64, 1259 pub send_page: u64, 1260 pub recv_page: u64, 1261 pub pending_page: u64, 1262 } 1263 impl Default for kvm_hyperv_exit__bindgen_ty_1 { default() -> Self1264 fn default() -> Self { 1265 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1266 unsafe { 1267 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1268 s.assume_init() 1269 } 1270 } 1271 } 1272 impl Default for kvm_hyperv_exit { default() -> Self1273 fn default() -> Self { 1274 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1275 unsafe { 1276 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1277 s.assume_init() 1278 } 1279 } 1280 } 1281 #[repr(C)] 1282 #[derive(Copy, Clone)] 1283 pub struct kvm_xen_exit { 1284 pub type_: u32, 1285 pub u: kvm_xen_exit__bindgen_ty_1, 1286 } 1287 #[repr(C)] 1288 #[derive(Copy, Clone)] 1289 pub union kvm_xen_exit__bindgen_ty_1 { 1290 pub hcall: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1, 1291 } 1292 #[repr(C)] 1293 #[derive(Debug, Default, Copy, Clone)] 1294 pub struct kvm_xen_exit__bindgen_ty_1__bindgen_ty_1 { 1295 pub longmode: u32, 1296 pub cpl: u32, 1297 pub input: u64, 1298 pub result: u64, 1299 pub params: [u64; 6usize], 1300 } 1301 impl Default for kvm_xen_exit__bindgen_ty_1 { default() -> Self1302 fn default() -> Self { 1303 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1304 unsafe { 1305 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1306 s.assume_init() 1307 } 1308 } 1309 } 1310 impl Default for kvm_xen_exit { default() -> Self1311 fn default() -> Self { 1312 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1313 unsafe { 1314 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1315 s.assume_init() 1316 } 1317 } 1318 } 1319 #[repr(C)] 1320 #[derive(Copy, Clone)] 1321 pub struct kvm_run { 1322 pub request_interrupt_window: u8, 1323 pub immediate_exit: u8, 1324 pub padding1: [u8; 6usize], 1325 pub exit_reason: u32, 1326 pub ready_for_interrupt_injection: u8, 1327 pub if_flag: u8, 1328 pub flags: u16, 1329 pub cr8: u64, 1330 pub apic_base: u64, 1331 pub __bindgen_anon_1: kvm_run__bindgen_ty_1, 1332 pub kvm_valid_regs: u64, 1333 pub kvm_dirty_regs: u64, 1334 pub s: kvm_run__bindgen_ty_2, 1335 } 1336 #[repr(C)] 1337 #[derive(Copy, Clone)] 1338 pub union kvm_run__bindgen_ty_1 { 1339 pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, 1340 pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, 1341 pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, 1342 pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, 1343 pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, 1344 pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, 1345 pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, 1346 pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, 1347 pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, 1348 pub s390_reset_flags: u64, 1349 pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, 1350 pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, 1351 pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, 1352 pub emulation_failure: kvm_run__bindgen_ty_1__bindgen_ty_13, 1353 pub osi: kvm_run__bindgen_ty_1__bindgen_ty_14, 1354 pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_15, 1355 pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_16, 1356 pub epr: kvm_run__bindgen_ty_1__bindgen_ty_17, 1357 pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_18, 1358 pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_19, 1359 pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_20, 1360 pub hyperv: kvm_hyperv_exit, 1361 pub arm_nisv: kvm_run__bindgen_ty_1__bindgen_ty_21, 1362 pub msr: kvm_run__bindgen_ty_1__bindgen_ty_22, 1363 pub xen: kvm_xen_exit, 1364 pub riscv_sbi: kvm_run__bindgen_ty_1__bindgen_ty_23, 1365 pub riscv_csr: kvm_run__bindgen_ty_1__bindgen_ty_24, 1366 pub notify: kvm_run__bindgen_ty_1__bindgen_ty_25, 1367 pub padding: [::std::os::raw::c_char; 256usize], 1368 } 1369 #[repr(C)] 1370 #[derive(Debug, Default, Copy, Clone)] 1371 pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { 1372 pub hardware_exit_reason: u64, 1373 } 1374 #[repr(C)] 1375 #[derive(Debug, Default, Copy, Clone)] 1376 pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { 1377 pub hardware_entry_failure_reason: u64, 1378 pub cpu: u32, 1379 } 1380 #[repr(C)] 1381 #[derive(Debug, Default, Copy, Clone)] 1382 pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { 1383 pub exception: u32, 1384 pub error_code: u32, 1385 } 1386 #[repr(C)] 1387 #[derive(Debug, Default, Copy, Clone)] 1388 pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { 1389 pub direction: u8, 1390 pub size: u8, 1391 pub port: u16, 1392 pub count: u32, 1393 pub data_offset: u64, 1394 } 1395 #[repr(C)] 1396 #[derive(Debug, Default, Copy, Clone)] 1397 pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { 1398 pub arch: kvm_debug_exit_arch, 1399 } 1400 #[repr(C)] 1401 #[derive(Debug, Default, Copy, Clone)] 1402 pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { 1403 pub phys_addr: u64, 1404 pub data: [u8; 8usize], 1405 pub len: u32, 1406 pub is_write: u8, 1407 } 1408 #[repr(C)] 1409 #[derive(Copy, Clone)] 1410 pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { 1411 pub nr: u64, 1412 pub args: [u64; 6usize], 1413 pub ret: u64, 1414 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_7__bindgen_ty_1, 1415 } 1416 #[repr(C)] 1417 #[derive(Copy, Clone)] 1418 pub union kvm_run__bindgen_ty_1__bindgen_ty_7__bindgen_ty_1 { 1419 pub longmode: u32, 1420 pub flags: u64, 1421 } 1422 impl Default for kvm_run__bindgen_ty_1__bindgen_ty_7__bindgen_ty_1 { default() -> Self1423 fn default() -> Self { 1424 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1425 unsafe { 1426 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1427 s.assume_init() 1428 } 1429 } 1430 } 1431 impl Default for kvm_run__bindgen_ty_1__bindgen_ty_7 { default() -> Self1432 fn default() -> Self { 1433 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1434 unsafe { 1435 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1436 s.assume_init() 1437 } 1438 } 1439 } 1440 #[repr(C)] 1441 #[derive(Debug, Default, Copy, Clone)] 1442 pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { 1443 pub rip: u64, 1444 pub is_write: u32, 1445 pub pad: u32, 1446 } 1447 #[repr(C)] 1448 #[derive(Debug, Default, Copy, Clone)] 1449 pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { 1450 pub icptcode: u8, 1451 pub ipa: u16, 1452 pub ipb: u32, 1453 } 1454 #[repr(C)] 1455 #[derive(Debug, Default, Copy, Clone)] 1456 pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { 1457 pub trans_exc_code: u64, 1458 pub pgm_code: u32, 1459 } 1460 #[repr(C)] 1461 #[derive(Debug, Default, Copy, Clone)] 1462 pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { 1463 pub dcrn: u32, 1464 pub data: u32, 1465 pub is_write: u8, 1466 } 1467 #[repr(C)] 1468 #[derive(Debug, Default, Copy, Clone)] 1469 pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { 1470 pub suberror: u32, 1471 pub ndata: u32, 1472 pub data: [u64; 16usize], 1473 } 1474 #[repr(C)] 1475 #[derive(Copy, Clone)] 1476 pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { 1477 pub suberror: u32, 1478 pub ndata: u32, 1479 pub flags: u64, 1480 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_13__bindgen_ty_1, 1481 } 1482 #[repr(C)] 1483 #[derive(Copy, Clone)] 1484 pub union kvm_run__bindgen_ty_1__bindgen_ty_13__bindgen_ty_1 { 1485 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_13__bindgen_ty_1__bindgen_ty_1, 1486 } 1487 #[repr(C)] 1488 #[derive(Debug, Default, Copy, Clone)] 1489 pub struct kvm_run__bindgen_ty_1__bindgen_ty_13__bindgen_ty_1__bindgen_ty_1 { 1490 pub insn_size: u8, 1491 pub insn_bytes: [u8; 15usize], 1492 } 1493 impl Default for kvm_run__bindgen_ty_1__bindgen_ty_13__bindgen_ty_1 { default() -> Self1494 fn default() -> Self { 1495 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1496 unsafe { 1497 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1498 s.assume_init() 1499 } 1500 } 1501 } 1502 impl Default for kvm_run__bindgen_ty_1__bindgen_ty_13 { default() -> Self1503 fn default() -> Self { 1504 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1505 unsafe { 1506 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1507 s.assume_init() 1508 } 1509 } 1510 } 1511 #[repr(C)] 1512 #[derive(Debug, Default, Copy, Clone)] 1513 pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { 1514 pub gprs: [u64; 32usize], 1515 } 1516 #[repr(C)] 1517 #[derive(Debug, Default, Copy, Clone)] 1518 pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { 1519 pub nr: u64, 1520 pub ret: u64, 1521 pub args: [u64; 9usize], 1522 } 1523 #[repr(C)] 1524 #[derive(Debug, Default, Copy, Clone)] 1525 pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { 1526 pub subchannel_id: u16, 1527 pub subchannel_nr: u16, 1528 pub io_int_parm: u32, 1529 pub io_int_word: u32, 1530 pub ipb: u32, 1531 pub dequeued: u8, 1532 } 1533 #[repr(C)] 1534 #[derive(Debug, Default, Copy, Clone)] 1535 pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { 1536 pub epr: u32, 1537 } 1538 #[repr(C)] 1539 #[derive(Copy, Clone)] 1540 pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { 1541 pub type_: u32, 1542 pub ndata: u32, 1543 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_18__bindgen_ty_1, 1544 } 1545 #[repr(C)] 1546 #[derive(Copy, Clone)] 1547 pub union kvm_run__bindgen_ty_1__bindgen_ty_18__bindgen_ty_1 { 1548 pub flags: u64, 1549 pub data: [u64; 16usize], 1550 } 1551 impl Default for kvm_run__bindgen_ty_1__bindgen_ty_18__bindgen_ty_1 { default() -> Self1552 fn default() -> Self { 1553 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1554 unsafe { 1555 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1556 s.assume_init() 1557 } 1558 } 1559 } 1560 impl Default for kvm_run__bindgen_ty_1__bindgen_ty_18 { default() -> Self1561 fn default() -> Self { 1562 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1563 unsafe { 1564 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1565 s.assume_init() 1566 } 1567 } 1568 } 1569 #[repr(C)] 1570 #[derive(Debug, Default, Copy, Clone)] 1571 pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { 1572 pub addr: u64, 1573 pub ar: u8, 1574 pub reserved: u8, 1575 pub fc: u8, 1576 pub sel1: u8, 1577 pub sel2: u16, 1578 } 1579 #[repr(C)] 1580 #[derive(Debug, Default, Copy, Clone)] 1581 pub struct kvm_run__bindgen_ty_1__bindgen_ty_20 { 1582 pub vector: u8, 1583 } 1584 #[repr(C)] 1585 #[derive(Debug, Default, Copy, Clone)] 1586 pub struct kvm_run__bindgen_ty_1__bindgen_ty_21 { 1587 pub esr_iss: u64, 1588 pub fault_ipa: u64, 1589 } 1590 #[repr(C)] 1591 #[derive(Debug, Default, Copy, Clone)] 1592 pub struct kvm_run__bindgen_ty_1__bindgen_ty_22 { 1593 pub error: u8, 1594 pub pad: [u8; 7usize], 1595 pub reason: u32, 1596 pub index: u32, 1597 pub data: u64, 1598 } 1599 #[repr(C)] 1600 #[derive(Debug, Default, Copy, Clone)] 1601 pub struct kvm_run__bindgen_ty_1__bindgen_ty_23 { 1602 pub extension_id: ::std::os::raw::c_ulong, 1603 pub function_id: ::std::os::raw::c_ulong, 1604 pub args: [::std::os::raw::c_ulong; 6usize], 1605 pub ret: [::std::os::raw::c_ulong; 2usize], 1606 } 1607 #[repr(C)] 1608 #[derive(Debug, Default, Copy, Clone)] 1609 pub struct kvm_run__bindgen_ty_1__bindgen_ty_24 { 1610 pub csr_num: ::std::os::raw::c_ulong, 1611 pub new_value: ::std::os::raw::c_ulong, 1612 pub write_mask: ::std::os::raw::c_ulong, 1613 pub ret_value: ::std::os::raw::c_ulong, 1614 } 1615 #[repr(C)] 1616 #[derive(Debug, Default, Copy, Clone)] 1617 pub struct kvm_run__bindgen_ty_1__bindgen_ty_25 { 1618 pub flags: u32, 1619 } 1620 impl Default for kvm_run__bindgen_ty_1 { default() -> Self1621 fn default() -> Self { 1622 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1623 unsafe { 1624 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1625 s.assume_init() 1626 } 1627 } 1628 } 1629 #[repr(C)] 1630 #[derive(Copy, Clone)] 1631 pub union kvm_run__bindgen_ty_2 { 1632 pub regs: kvm_sync_regs, 1633 pub padding: [::std::os::raw::c_char; 2048usize], 1634 } 1635 impl Default for kvm_run__bindgen_ty_2 { default() -> Self1636 fn default() -> Self { 1637 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1638 unsafe { 1639 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1640 s.assume_init() 1641 } 1642 } 1643 } 1644 impl Default for kvm_run { default() -> Self1645 fn default() -> Self { 1646 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1647 unsafe { 1648 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1649 s.assume_init() 1650 } 1651 } 1652 } 1653 #[repr(C)] 1654 #[derive(Copy, Clone)] 1655 pub struct kvm_coalesced_mmio_zone { 1656 pub addr: u64, 1657 pub size: u32, 1658 pub __bindgen_anon_1: kvm_coalesced_mmio_zone__bindgen_ty_1, 1659 } 1660 #[repr(C)] 1661 #[derive(Copy, Clone)] 1662 pub union kvm_coalesced_mmio_zone__bindgen_ty_1 { 1663 pub pad: u32, 1664 pub pio: u32, 1665 } 1666 impl Default for kvm_coalesced_mmio_zone__bindgen_ty_1 { default() -> Self1667 fn default() -> Self { 1668 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1669 unsafe { 1670 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1671 s.assume_init() 1672 } 1673 } 1674 } 1675 impl Default for kvm_coalesced_mmio_zone { default() -> Self1676 fn default() -> Self { 1677 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1678 unsafe { 1679 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1680 s.assume_init() 1681 } 1682 } 1683 } 1684 #[repr(C)] 1685 #[derive(Copy, Clone)] 1686 pub struct kvm_coalesced_mmio { 1687 pub phys_addr: u64, 1688 pub len: u32, 1689 pub __bindgen_anon_1: kvm_coalesced_mmio__bindgen_ty_1, 1690 pub data: [u8; 8usize], 1691 } 1692 #[repr(C)] 1693 #[derive(Copy, Clone)] 1694 pub union kvm_coalesced_mmio__bindgen_ty_1 { 1695 pub pad: u32, 1696 pub pio: u32, 1697 } 1698 impl Default for kvm_coalesced_mmio__bindgen_ty_1 { default() -> Self1699 fn default() -> Self { 1700 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1701 unsafe { 1702 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1703 s.assume_init() 1704 } 1705 } 1706 } 1707 impl Default for kvm_coalesced_mmio { default() -> Self1708 fn default() -> Self { 1709 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1710 unsafe { 1711 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1712 s.assume_init() 1713 } 1714 } 1715 } 1716 #[repr(C)] 1717 pub struct kvm_coalesced_mmio_ring { 1718 pub first: u32, 1719 pub last: u32, 1720 pub coalesced_mmio: __IncompleteArrayField<kvm_coalesced_mmio>, 1721 } 1722 impl Default for kvm_coalesced_mmio_ring { default() -> Self1723 fn default() -> Self { 1724 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1725 unsafe { 1726 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1727 s.assume_init() 1728 } 1729 } 1730 } 1731 #[repr(C)] 1732 #[derive(Debug, Default, Copy, Clone)] 1733 pub struct kvm_translation { 1734 pub linear_address: u64, 1735 pub physical_address: u64, 1736 pub valid: u8, 1737 pub writeable: u8, 1738 pub usermode: u8, 1739 pub pad: [u8; 5usize], 1740 } 1741 #[repr(C)] 1742 #[derive(Copy, Clone)] 1743 pub struct kvm_s390_mem_op { 1744 pub gaddr: u64, 1745 pub flags: u64, 1746 pub size: u32, 1747 pub op: u32, 1748 pub buf: u64, 1749 pub __bindgen_anon_1: kvm_s390_mem_op__bindgen_ty_1, 1750 } 1751 #[repr(C)] 1752 #[derive(Copy, Clone)] 1753 pub union kvm_s390_mem_op__bindgen_ty_1 { 1754 pub __bindgen_anon_1: kvm_s390_mem_op__bindgen_ty_1__bindgen_ty_1, 1755 pub sida_offset: u32, 1756 pub reserved: [u8; 32usize], 1757 } 1758 #[repr(C)] 1759 #[derive(Debug, Default, Copy, Clone)] 1760 pub struct kvm_s390_mem_op__bindgen_ty_1__bindgen_ty_1 { 1761 pub ar: u8, 1762 pub key: u8, 1763 pub pad1: [u8; 6usize], 1764 pub old_addr: u64, 1765 } 1766 impl Default for kvm_s390_mem_op__bindgen_ty_1 { default() -> Self1767 fn default() -> Self { 1768 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1769 unsafe { 1770 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1771 s.assume_init() 1772 } 1773 } 1774 } 1775 impl Default for kvm_s390_mem_op { default() -> Self1776 fn default() -> Self { 1777 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1778 unsafe { 1779 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1780 s.assume_init() 1781 } 1782 } 1783 } 1784 #[repr(C)] 1785 #[derive(Debug, Default, Copy, Clone)] 1786 pub struct kvm_interrupt { 1787 pub irq: u32, 1788 } 1789 #[repr(C)] 1790 #[derive(Copy, Clone)] 1791 pub struct kvm_dirty_log { 1792 pub slot: u32, 1793 pub padding1: u32, 1794 pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, 1795 } 1796 #[repr(C)] 1797 #[derive(Copy, Clone)] 1798 pub union kvm_dirty_log__bindgen_ty_1 { 1799 pub dirty_bitmap: *mut ::std::os::raw::c_void, 1800 pub padding2: u64, 1801 } 1802 impl Default for kvm_dirty_log__bindgen_ty_1 { default() -> Self1803 fn default() -> Self { 1804 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1805 unsafe { 1806 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1807 s.assume_init() 1808 } 1809 } 1810 } 1811 impl Default for kvm_dirty_log { default() -> Self1812 fn default() -> Self { 1813 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1814 unsafe { 1815 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1816 s.assume_init() 1817 } 1818 } 1819 } 1820 #[repr(C)] 1821 #[derive(Copy, Clone)] 1822 pub struct kvm_clear_dirty_log { 1823 pub slot: u32, 1824 pub num_pages: u32, 1825 pub first_page: u64, 1826 pub __bindgen_anon_1: kvm_clear_dirty_log__bindgen_ty_1, 1827 } 1828 #[repr(C)] 1829 #[derive(Copy, Clone)] 1830 pub union kvm_clear_dirty_log__bindgen_ty_1 { 1831 pub dirty_bitmap: *mut ::std::os::raw::c_void, 1832 pub padding2: u64, 1833 } 1834 impl Default for kvm_clear_dirty_log__bindgen_ty_1 { default() -> Self1835 fn default() -> Self { 1836 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1837 unsafe { 1838 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1839 s.assume_init() 1840 } 1841 } 1842 } 1843 impl Default for kvm_clear_dirty_log { default() -> Self1844 fn default() -> Self { 1845 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1846 unsafe { 1847 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1848 s.assume_init() 1849 } 1850 } 1851 } 1852 #[repr(C)] 1853 #[derive(Debug, Default)] 1854 pub struct kvm_signal_mask { 1855 pub len: u32, 1856 pub sigset: __IncompleteArrayField<u8>, 1857 } 1858 #[repr(C)] 1859 #[derive(Debug, Default, Copy, Clone)] 1860 pub struct kvm_tpr_access_ctl { 1861 pub enabled: u32, 1862 pub flags: u32, 1863 pub reserved: [u32; 8usize], 1864 } 1865 #[repr(C)] 1866 #[derive(Debug, Default, Copy, Clone)] 1867 pub struct kvm_vapic_addr { 1868 pub vapic_addr: u64, 1869 } 1870 #[repr(C)] 1871 #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 1872 pub struct kvm_mp_state { 1873 pub mp_state: u32, 1874 } 1875 #[repr(C)] 1876 #[derive(Debug, Default, Copy, Clone)] 1877 pub struct kvm_s390_psw { 1878 pub mask: u64, 1879 pub addr: u64, 1880 } 1881 #[repr(C)] 1882 #[derive(Debug, Default, Copy, Clone)] 1883 pub struct kvm_s390_interrupt { 1884 pub type_: u32, 1885 pub parm: u32, 1886 pub parm64: u64, 1887 } 1888 #[repr(C)] 1889 #[derive(Debug, Default, Copy, Clone)] 1890 pub struct kvm_s390_io_info { 1891 pub subchannel_id: u16, 1892 pub subchannel_nr: u16, 1893 pub io_int_parm: u32, 1894 pub io_int_word: u32, 1895 } 1896 #[repr(C)] 1897 #[derive(Debug, Default, Copy, Clone)] 1898 pub struct kvm_s390_ext_info { 1899 pub ext_params: u32, 1900 pub pad: u32, 1901 pub ext_params2: u64, 1902 } 1903 #[repr(C)] 1904 #[derive(Debug, Default, Copy, Clone)] 1905 pub struct kvm_s390_pgm_info { 1906 pub trans_exc_code: u64, 1907 pub mon_code: u64, 1908 pub per_address: u64, 1909 pub data_exc_code: u32, 1910 pub code: u16, 1911 pub mon_class_nr: u16, 1912 pub per_code: u8, 1913 pub per_atmid: u8, 1914 pub exc_access_id: u8, 1915 pub per_access_id: u8, 1916 pub op_access_id: u8, 1917 pub flags: u8, 1918 pub pad: [u8; 2usize], 1919 } 1920 #[repr(C)] 1921 #[derive(Debug, Default, Copy, Clone)] 1922 pub struct kvm_s390_prefix_info { 1923 pub address: u32, 1924 } 1925 #[repr(C)] 1926 #[derive(Debug, Default, Copy, Clone)] 1927 pub struct kvm_s390_extcall_info { 1928 pub code: u16, 1929 } 1930 #[repr(C)] 1931 #[derive(Debug, Default, Copy, Clone)] 1932 pub struct kvm_s390_emerg_info { 1933 pub code: u16, 1934 } 1935 #[repr(C)] 1936 #[derive(Debug, Default, Copy, Clone)] 1937 pub struct kvm_s390_stop_info { 1938 pub flags: u32, 1939 } 1940 #[repr(C)] 1941 #[derive(Debug, Default, Copy, Clone)] 1942 pub struct kvm_s390_mchk_info { 1943 pub cr14: u64, 1944 pub mcic: u64, 1945 pub failing_storage_address: u64, 1946 pub ext_damage_code: u32, 1947 pub pad: u32, 1948 pub fixed_logout: [u8; 16usize], 1949 } 1950 #[repr(C)] 1951 #[derive(Copy, Clone)] 1952 pub struct kvm_s390_irq { 1953 pub type_: u64, 1954 pub u: kvm_s390_irq__bindgen_ty_1, 1955 } 1956 #[repr(C)] 1957 #[derive(Copy, Clone)] 1958 pub union kvm_s390_irq__bindgen_ty_1 { 1959 pub io: kvm_s390_io_info, 1960 pub ext: kvm_s390_ext_info, 1961 pub pgm: kvm_s390_pgm_info, 1962 pub emerg: kvm_s390_emerg_info, 1963 pub extcall: kvm_s390_extcall_info, 1964 pub prefix: kvm_s390_prefix_info, 1965 pub stop: kvm_s390_stop_info, 1966 pub mchk: kvm_s390_mchk_info, 1967 pub reserved: [::std::os::raw::c_char; 64usize], 1968 } 1969 impl Default for kvm_s390_irq__bindgen_ty_1 { default() -> Self1970 fn default() -> Self { 1971 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1972 unsafe { 1973 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1974 s.assume_init() 1975 } 1976 } 1977 } 1978 impl Default for kvm_s390_irq { default() -> Self1979 fn default() -> Self { 1980 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 1981 unsafe { 1982 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 1983 s.assume_init() 1984 } 1985 } 1986 } 1987 #[repr(C)] 1988 #[derive(Debug, Default, Copy, Clone)] 1989 pub struct kvm_s390_irq_state { 1990 pub buf: u64, 1991 pub flags: u32, 1992 pub len: u32, 1993 pub reserved: [u32; 4usize], 1994 } 1995 #[repr(C)] 1996 #[derive(Debug, Default, Copy, Clone)] 1997 pub struct kvm_guest_debug { 1998 pub control: u32, 1999 pub pad: u32, 2000 pub arch: kvm_guest_debug_arch, 2001 } 2002 pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_4 = 0; 2003 pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_4 = 1; 2004 pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_4 = 2; 2005 pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_4 = 3; 2006 pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_4 = 4; 2007 pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_4 = 5; 2008 pub type _bindgen_ty_4 = ::std::os::raw::c_uint; 2009 #[repr(C)] 2010 #[derive(Debug, Copy, Clone)] 2011 pub struct kvm_ioeventfd { 2012 pub datamatch: u64, 2013 pub addr: u64, 2014 pub len: u32, 2015 pub fd: i32, 2016 pub flags: u32, 2017 pub pad: [u8; 36usize], 2018 } 2019 impl Default for kvm_ioeventfd { default() -> Self2020 fn default() -> Self { 2021 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2022 unsafe { 2023 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2024 s.assume_init() 2025 } 2026 } 2027 } 2028 #[repr(C)] 2029 #[derive(Debug, Copy, Clone)] 2030 pub struct kvm_enable_cap { 2031 pub cap: u32, 2032 pub flags: u32, 2033 pub args: [u64; 4usize], 2034 pub pad: [u8; 64usize], 2035 } 2036 impl Default for kvm_enable_cap { default() -> Self2037 fn default() -> Self { 2038 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2039 unsafe { 2040 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2041 s.assume_init() 2042 } 2043 } 2044 } 2045 #[repr(C)] 2046 #[derive(Debug, Copy, Clone)] 2047 pub struct kvm_ppc_pvinfo { 2048 pub flags: u32, 2049 pub hcall: [u32; 4usize], 2050 pub pad: [u8; 108usize], 2051 } 2052 impl Default for kvm_ppc_pvinfo { default() -> Self2053 fn default() -> Self { 2054 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2055 unsafe { 2056 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2057 s.assume_init() 2058 } 2059 } 2060 } 2061 #[repr(C)] 2062 #[derive(Debug, Default, Copy, Clone)] 2063 pub struct kvm_ppc_one_page_size { 2064 pub page_shift: u32, 2065 pub pte_enc: u32, 2066 } 2067 #[repr(C)] 2068 #[derive(Debug, Default, Copy, Clone)] 2069 pub struct kvm_ppc_one_seg_page_size { 2070 pub page_shift: u32, 2071 pub slb_enc: u32, 2072 pub enc: [kvm_ppc_one_page_size; 8usize], 2073 } 2074 #[repr(C)] 2075 #[derive(Debug, Default, Copy, Clone)] 2076 pub struct kvm_ppc_smmu_info { 2077 pub flags: u64, 2078 pub slb_size: u32, 2079 pub data_keys: u16, 2080 pub instr_keys: u16, 2081 pub sps: [kvm_ppc_one_seg_page_size; 8usize], 2082 } 2083 #[repr(C)] 2084 #[derive(Debug, Default, Copy, Clone)] 2085 pub struct kvm_ppc_resize_hpt { 2086 pub flags: u64, 2087 pub shift: u32, 2088 pub pad: u32, 2089 } 2090 #[repr(C)] 2091 #[derive(Debug, Default, Copy, Clone)] 2092 pub struct kvm_irq_routing_irqchip { 2093 pub irqchip: u32, 2094 pub pin: u32, 2095 } 2096 #[repr(C)] 2097 #[derive(Copy, Clone)] 2098 pub struct kvm_irq_routing_msi { 2099 pub address_lo: u32, 2100 pub address_hi: u32, 2101 pub data: u32, 2102 pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, 2103 } 2104 #[repr(C)] 2105 #[derive(Copy, Clone)] 2106 pub union kvm_irq_routing_msi__bindgen_ty_1 { 2107 pub pad: u32, 2108 pub devid: u32, 2109 } 2110 impl Default for kvm_irq_routing_msi__bindgen_ty_1 { default() -> Self2111 fn default() -> Self { 2112 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2113 unsafe { 2114 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2115 s.assume_init() 2116 } 2117 } 2118 } 2119 impl Default for kvm_irq_routing_msi { default() -> Self2120 fn default() -> Self { 2121 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2122 unsafe { 2123 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2124 s.assume_init() 2125 } 2126 } 2127 } 2128 #[repr(C)] 2129 #[derive(Debug, Default, Copy, Clone)] 2130 pub struct kvm_irq_routing_s390_adapter { 2131 pub ind_addr: u64, 2132 pub summary_addr: u64, 2133 pub ind_offset: u64, 2134 pub summary_offset: u32, 2135 pub adapter_id: u32, 2136 } 2137 #[repr(C)] 2138 #[derive(Debug, Default, Copy, Clone)] 2139 pub struct kvm_irq_routing_hv_sint { 2140 pub vcpu: u32, 2141 pub sint: u32, 2142 } 2143 #[repr(C)] 2144 #[derive(Debug, Default, Copy, Clone)] 2145 pub struct kvm_irq_routing_xen_evtchn { 2146 pub port: u32, 2147 pub vcpu: u32, 2148 pub priority: u32, 2149 } 2150 #[repr(C)] 2151 #[derive(Copy, Clone)] 2152 pub struct kvm_irq_routing_entry { 2153 pub gsi: u32, 2154 pub type_: u32, 2155 pub flags: u32, 2156 pub pad: u32, 2157 pub u: kvm_irq_routing_entry__bindgen_ty_1, 2158 } 2159 #[repr(C)] 2160 #[derive(Copy, Clone)] 2161 pub union kvm_irq_routing_entry__bindgen_ty_1 { 2162 pub irqchip: kvm_irq_routing_irqchip, 2163 pub msi: kvm_irq_routing_msi, 2164 pub adapter: kvm_irq_routing_s390_adapter, 2165 pub hv_sint: kvm_irq_routing_hv_sint, 2166 pub xen_evtchn: kvm_irq_routing_xen_evtchn, 2167 pub pad: [u32; 8usize], 2168 } 2169 impl Default for kvm_irq_routing_entry__bindgen_ty_1 { default() -> Self2170 fn default() -> Self { 2171 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2172 unsafe { 2173 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2174 s.assume_init() 2175 } 2176 } 2177 } 2178 impl Default for kvm_irq_routing_entry { default() -> Self2179 fn default() -> Self { 2180 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2181 unsafe { 2182 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2183 s.assume_init() 2184 } 2185 } 2186 } 2187 #[repr(C)] 2188 pub struct kvm_irq_routing { 2189 pub nr: u32, 2190 pub flags: u32, 2191 pub entries: __IncompleteArrayField<kvm_irq_routing_entry>, 2192 } 2193 impl Default for kvm_irq_routing { default() -> Self2194 fn default() -> Self { 2195 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2196 unsafe { 2197 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2198 s.assume_init() 2199 } 2200 } 2201 } 2202 #[repr(C)] 2203 #[derive(Debug, Default, Copy, Clone)] 2204 pub struct kvm_irqfd { 2205 pub fd: u32, 2206 pub gsi: u32, 2207 pub flags: u32, 2208 pub resamplefd: u32, 2209 pub pad: [u8; 16usize], 2210 } 2211 #[repr(C)] 2212 #[derive(Debug, Default, Copy, Clone)] 2213 pub struct kvm_clock_data { 2214 pub clock: u64, 2215 pub flags: u32, 2216 pub pad0: u32, 2217 pub realtime: u64, 2218 pub host_tsc: u64, 2219 pub pad: [u32; 4usize], 2220 } 2221 #[repr(C)] 2222 #[derive(Debug, Default, Copy, Clone)] 2223 pub struct kvm_config_tlb { 2224 pub params: u64, 2225 pub array: u64, 2226 pub mmu_type: u32, 2227 pub array_len: u32, 2228 } 2229 #[repr(C)] 2230 #[derive(Debug, Default, Copy, Clone)] 2231 pub struct kvm_dirty_tlb { 2232 pub bitmap: u64, 2233 pub num_dirty: u32, 2234 } 2235 #[repr(C)] 2236 #[derive(Debug, Default)] 2237 pub struct kvm_reg_list { 2238 pub n: u64, 2239 pub reg: __IncompleteArrayField<u64>, 2240 } 2241 #[repr(C)] 2242 #[derive(Debug, Default, Copy, Clone)] 2243 pub struct kvm_one_reg { 2244 pub id: u64, 2245 pub addr: u64, 2246 } 2247 #[repr(C)] 2248 #[derive(Debug, Default, Copy, Clone)] 2249 pub struct kvm_msi { 2250 pub address_lo: u32, 2251 pub address_hi: u32, 2252 pub data: u32, 2253 pub flags: u32, 2254 pub devid: u32, 2255 pub pad: [u8; 12usize], 2256 } 2257 #[repr(C)] 2258 #[derive(Debug, Default, Copy, Clone)] 2259 pub struct kvm_arm_device_addr { 2260 pub id: u64, 2261 pub addr: u64, 2262 } 2263 #[repr(C)] 2264 #[derive(Debug, Default, Copy, Clone)] 2265 pub struct kvm_create_device { 2266 pub type_: u32, 2267 pub fd: u32, 2268 pub flags: u32, 2269 } 2270 #[repr(C)] 2271 #[derive(Debug, Default, Copy, Clone)] 2272 pub struct kvm_device_attr { 2273 pub flags: u32, 2274 pub group: u32, 2275 pub attr: u64, 2276 pub addr: u64, 2277 } 2278 pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; 2279 pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; 2280 pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; 2281 pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; 2282 pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; 2283 pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; 2284 pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; 2285 pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; 2286 pub const kvm_device_type_KVM_DEV_TYPE_XIVE: kvm_device_type = 9; 2287 pub const kvm_device_type_KVM_DEV_TYPE_ARM_PV_TIME: kvm_device_type = 10; 2288 pub const kvm_device_type_KVM_DEV_TYPE_RISCV_AIA: kvm_device_type = 11; 2289 pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 12; 2290 pub type kvm_device_type = ::std::os::raw::c_uint; 2291 #[repr(C)] 2292 #[derive(Debug, Default, Copy, Clone)] 2293 pub struct kvm_vfio_spapr_tce { 2294 pub groupfd: i32, 2295 pub tablefd: i32, 2296 } 2297 #[repr(C)] 2298 #[derive(Debug, Default, Copy, Clone)] 2299 pub struct kvm_s390_ucas_mapping { 2300 pub user_addr: u64, 2301 pub vcpu_addr: u64, 2302 pub length: u64, 2303 } 2304 #[repr(C)] 2305 #[derive(Debug, Default, Copy, Clone)] 2306 pub struct kvm_enc_region { 2307 pub addr: u64, 2308 pub size: u64, 2309 } 2310 #[repr(C)] 2311 #[derive(Debug, Default, Copy, Clone)] 2312 pub struct kvm_s390_pv_sec_parm { 2313 pub origin: u64, 2314 pub length: u64, 2315 } 2316 #[repr(C)] 2317 #[derive(Debug, Default, Copy, Clone)] 2318 pub struct kvm_s390_pv_unp { 2319 pub addr: u64, 2320 pub size: u64, 2321 pub tweak: u64, 2322 } 2323 pub const pv_cmd_dmp_id_KVM_PV_DUMP_INIT: pv_cmd_dmp_id = 0; 2324 pub const pv_cmd_dmp_id_KVM_PV_DUMP_CONFIG_STOR_STATE: pv_cmd_dmp_id = 1; 2325 pub const pv_cmd_dmp_id_KVM_PV_DUMP_COMPLETE: pv_cmd_dmp_id = 2; 2326 pub const pv_cmd_dmp_id_KVM_PV_DUMP_CPU: pv_cmd_dmp_id = 3; 2327 pub type pv_cmd_dmp_id = ::std::os::raw::c_uint; 2328 #[repr(C)] 2329 #[derive(Debug, Default, Copy, Clone)] 2330 pub struct kvm_s390_pv_dmp { 2331 pub subcmd: u64, 2332 pub buff_addr: u64, 2333 pub buff_len: u64, 2334 pub gaddr: u64, 2335 pub reserved: [u64; 4usize], 2336 } 2337 pub const pv_cmd_info_id_KVM_PV_INFO_VM: pv_cmd_info_id = 0; 2338 pub const pv_cmd_info_id_KVM_PV_INFO_DUMP: pv_cmd_info_id = 1; 2339 pub type pv_cmd_info_id = ::std::os::raw::c_uint; 2340 #[repr(C)] 2341 #[derive(Debug, Default, Copy, Clone)] 2342 pub struct kvm_s390_pv_info_dump { 2343 pub dump_cpu_buffer_len: u64, 2344 pub dump_config_mem_buffer_per_1m: u64, 2345 pub dump_config_finalize_len: u64, 2346 } 2347 #[repr(C)] 2348 #[derive(Debug, Default, Copy, Clone)] 2349 pub struct kvm_s390_pv_info_vm { 2350 pub inst_calls_list: [u64; 4usize], 2351 pub max_cpus: u64, 2352 pub max_guests: u64, 2353 pub max_guest_addr: u64, 2354 pub feature_indication: u64, 2355 } 2356 #[repr(C)] 2357 #[derive(Debug, Default, Copy, Clone)] 2358 pub struct kvm_s390_pv_info_header { 2359 pub id: u32, 2360 pub len_max: u32, 2361 pub len_written: u32, 2362 pub reserved: u32, 2363 } 2364 #[repr(C)] 2365 #[derive(Copy, Clone)] 2366 pub struct kvm_s390_pv_info { 2367 pub header: kvm_s390_pv_info_header, 2368 pub __bindgen_anon_1: kvm_s390_pv_info__bindgen_ty_1, 2369 } 2370 #[repr(C)] 2371 #[derive(Copy, Clone)] 2372 pub union kvm_s390_pv_info__bindgen_ty_1 { 2373 pub dump: kvm_s390_pv_info_dump, 2374 pub vm: kvm_s390_pv_info_vm, 2375 } 2376 impl Default for kvm_s390_pv_info__bindgen_ty_1 { default() -> Self2377 fn default() -> Self { 2378 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2379 unsafe { 2380 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2381 s.assume_init() 2382 } 2383 } 2384 } 2385 impl Default for kvm_s390_pv_info { default() -> Self2386 fn default() -> Self { 2387 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2388 unsafe { 2389 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2390 s.assume_init() 2391 } 2392 } 2393 } 2394 pub const pv_cmd_id_KVM_PV_ENABLE: pv_cmd_id = 0; 2395 pub const pv_cmd_id_KVM_PV_DISABLE: pv_cmd_id = 1; 2396 pub const pv_cmd_id_KVM_PV_SET_SEC_PARMS: pv_cmd_id = 2; 2397 pub const pv_cmd_id_KVM_PV_UNPACK: pv_cmd_id = 3; 2398 pub const pv_cmd_id_KVM_PV_VERIFY: pv_cmd_id = 4; 2399 pub const pv_cmd_id_KVM_PV_PREP_RESET: pv_cmd_id = 5; 2400 pub const pv_cmd_id_KVM_PV_UNSHARE_ALL: pv_cmd_id = 6; 2401 pub const pv_cmd_id_KVM_PV_INFO: pv_cmd_id = 7; 2402 pub const pv_cmd_id_KVM_PV_DUMP: pv_cmd_id = 8; 2403 pub const pv_cmd_id_KVM_PV_ASYNC_CLEANUP_PREPARE: pv_cmd_id = 9; 2404 pub const pv_cmd_id_KVM_PV_ASYNC_CLEANUP_PERFORM: pv_cmd_id = 10; 2405 pub type pv_cmd_id = ::std::os::raw::c_uint; 2406 #[repr(C)] 2407 #[derive(Debug, Default, Copy, Clone)] 2408 pub struct kvm_pv_cmd { 2409 pub cmd: u32, 2410 pub rc: u16, 2411 pub rrc: u16, 2412 pub data: u64, 2413 pub flags: u32, 2414 pub reserved: [u32; 3usize], 2415 } 2416 #[repr(C)] 2417 #[derive(Copy, Clone)] 2418 pub struct kvm_xen_hvm_attr { 2419 pub type_: u16, 2420 pub pad: [u16; 3usize], 2421 pub u: kvm_xen_hvm_attr__bindgen_ty_1, 2422 } 2423 #[repr(C)] 2424 #[derive(Copy, Clone)] 2425 pub union kvm_xen_hvm_attr__bindgen_ty_1 { 2426 pub long_mode: u8, 2427 pub vector: u8, 2428 pub runstate_update_flag: u8, 2429 pub shared_info: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1, 2430 pub evtchn: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2, 2431 pub xen_version: u32, 2432 pub pad: [u64; 8usize], 2433 } 2434 #[repr(C)] 2435 #[derive(Debug, Default, Copy, Clone)] 2436 pub struct kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1 { 2437 pub gfn: u64, 2438 } 2439 #[repr(C)] 2440 #[derive(Copy, Clone)] 2441 pub struct kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2 { 2442 pub send_port: u32, 2443 pub type_: u32, 2444 pub flags: u32, 2445 pub deliver: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, 2446 } 2447 #[repr(C)] 2448 #[derive(Copy, Clone)] 2449 pub union kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { 2450 pub port: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, 2451 pub eventfd: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2, 2452 pub padding: [u32; 4usize], 2453 } 2454 #[repr(C)] 2455 #[derive(Debug, Default, Copy, Clone)] 2456 pub struct kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { 2457 pub port: u32, 2458 pub vcpu: u32, 2459 pub priority: u32, 2460 } 2461 #[repr(C)] 2462 #[derive(Debug, Default, Copy, Clone)] 2463 pub struct kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { 2464 pub port: u32, 2465 pub fd: i32, 2466 } 2467 impl Default for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { default() -> Self2468 fn default() -> Self { 2469 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2470 unsafe { 2471 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2472 s.assume_init() 2473 } 2474 } 2475 } 2476 impl Default for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2 { default() -> Self2477 fn default() -> Self { 2478 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2479 unsafe { 2480 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2481 s.assume_init() 2482 } 2483 } 2484 } 2485 impl Default for kvm_xen_hvm_attr__bindgen_ty_1 { default() -> Self2486 fn default() -> Self { 2487 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2488 unsafe { 2489 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2490 s.assume_init() 2491 } 2492 } 2493 } 2494 impl Default for kvm_xen_hvm_attr { default() -> Self2495 fn default() -> Self { 2496 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2497 unsafe { 2498 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2499 s.assume_init() 2500 } 2501 } 2502 } 2503 #[repr(C)] 2504 #[derive(Copy, Clone)] 2505 pub struct kvm_xen_vcpu_attr { 2506 pub type_: u16, 2507 pub pad: [u16; 3usize], 2508 pub u: kvm_xen_vcpu_attr__bindgen_ty_1, 2509 } 2510 #[repr(C)] 2511 #[derive(Copy, Clone)] 2512 pub union kvm_xen_vcpu_attr__bindgen_ty_1 { 2513 pub gpa: u64, 2514 pub pad: [u64; 8usize], 2515 pub runstate: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1, 2516 pub vcpu_id: u32, 2517 pub timer: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2, 2518 pub vector: u8, 2519 } 2520 #[repr(C)] 2521 #[derive(Debug, Default, Copy, Clone)] 2522 pub struct kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1 { 2523 pub state: u64, 2524 pub state_entry_time: u64, 2525 pub time_running: u64, 2526 pub time_runnable: u64, 2527 pub time_blocked: u64, 2528 pub time_offline: u64, 2529 } 2530 #[repr(C)] 2531 #[derive(Debug, Default, Copy, Clone)] 2532 pub struct kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2 { 2533 pub port: u32, 2534 pub priority: u32, 2535 pub expires_ns: u64, 2536 } 2537 impl Default for kvm_xen_vcpu_attr__bindgen_ty_1 { default() -> Self2538 fn default() -> Self { 2539 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2540 unsafe { 2541 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2542 s.assume_init() 2543 } 2544 } 2545 } 2546 impl Default for kvm_xen_vcpu_attr { default() -> Self2547 fn default() -> Self { 2548 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2549 unsafe { 2550 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2551 s.assume_init() 2552 } 2553 } 2554 } 2555 pub const sev_cmd_id_KVM_SEV_INIT: sev_cmd_id = 0; 2556 pub const sev_cmd_id_KVM_SEV_ES_INIT: sev_cmd_id = 1; 2557 pub const sev_cmd_id_KVM_SEV_LAUNCH_START: sev_cmd_id = 2; 2558 pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_DATA: sev_cmd_id = 3; 2559 pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_VMSA: sev_cmd_id = 4; 2560 pub const sev_cmd_id_KVM_SEV_LAUNCH_SECRET: sev_cmd_id = 5; 2561 pub const sev_cmd_id_KVM_SEV_LAUNCH_MEASURE: sev_cmd_id = 6; 2562 pub const sev_cmd_id_KVM_SEV_LAUNCH_FINISH: sev_cmd_id = 7; 2563 pub const sev_cmd_id_KVM_SEV_SEND_START: sev_cmd_id = 8; 2564 pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_DATA: sev_cmd_id = 9; 2565 pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_VMSA: sev_cmd_id = 10; 2566 pub const sev_cmd_id_KVM_SEV_SEND_FINISH: sev_cmd_id = 11; 2567 pub const sev_cmd_id_KVM_SEV_RECEIVE_START: sev_cmd_id = 12; 2568 pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_DATA: sev_cmd_id = 13; 2569 pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_VMSA: sev_cmd_id = 14; 2570 pub const sev_cmd_id_KVM_SEV_RECEIVE_FINISH: sev_cmd_id = 15; 2571 pub const sev_cmd_id_KVM_SEV_GUEST_STATUS: sev_cmd_id = 16; 2572 pub const sev_cmd_id_KVM_SEV_DBG_DECRYPT: sev_cmd_id = 17; 2573 pub const sev_cmd_id_KVM_SEV_DBG_ENCRYPT: sev_cmd_id = 18; 2574 pub const sev_cmd_id_KVM_SEV_CERT_EXPORT: sev_cmd_id = 19; 2575 pub const sev_cmd_id_KVM_SEV_GET_ATTESTATION_REPORT: sev_cmd_id = 20; 2576 pub const sev_cmd_id_KVM_SEV_SEND_CANCEL: sev_cmd_id = 21; 2577 pub const sev_cmd_id_KVM_SEV_NR_MAX: sev_cmd_id = 22; 2578 pub type sev_cmd_id = ::std::os::raw::c_uint; 2579 #[repr(C)] 2580 #[derive(Debug, Default, Copy, Clone)] 2581 pub struct kvm_sev_cmd { 2582 pub id: u32, 2583 pub data: u64, 2584 pub error: u32, 2585 pub sev_fd: u32, 2586 } 2587 #[repr(C)] 2588 #[derive(Debug, Default, Copy, Clone)] 2589 pub struct kvm_sev_launch_start { 2590 pub handle: u32, 2591 pub policy: u32, 2592 pub dh_uaddr: u64, 2593 pub dh_len: u32, 2594 pub session_uaddr: u64, 2595 pub session_len: u32, 2596 } 2597 #[repr(C)] 2598 #[derive(Debug, Default, Copy, Clone)] 2599 pub struct kvm_sev_launch_update_data { 2600 pub uaddr: u64, 2601 pub len: u32, 2602 } 2603 #[repr(C)] 2604 #[derive(Debug, Default, Copy, Clone)] 2605 pub struct kvm_sev_launch_secret { 2606 pub hdr_uaddr: u64, 2607 pub hdr_len: u32, 2608 pub guest_uaddr: u64, 2609 pub guest_len: u32, 2610 pub trans_uaddr: u64, 2611 pub trans_len: u32, 2612 } 2613 #[repr(C)] 2614 #[derive(Debug, Default, Copy, Clone)] 2615 pub struct kvm_sev_launch_measure { 2616 pub uaddr: u64, 2617 pub len: u32, 2618 } 2619 #[repr(C)] 2620 #[derive(Debug, Default, Copy, Clone)] 2621 pub struct kvm_sev_guest_status { 2622 pub handle: u32, 2623 pub policy: u32, 2624 pub state: u32, 2625 } 2626 #[repr(C)] 2627 #[derive(Debug, Default, Copy, Clone)] 2628 pub struct kvm_sev_dbg { 2629 pub src_uaddr: u64, 2630 pub dst_uaddr: u64, 2631 pub len: u32, 2632 } 2633 #[repr(C)] 2634 #[derive(Debug, Default, Copy, Clone)] 2635 pub struct kvm_sev_attestation_report { 2636 pub mnonce: [u8; 16usize], 2637 pub uaddr: u64, 2638 pub len: u32, 2639 } 2640 #[repr(C)] 2641 #[derive(Debug, Default, Copy, Clone)] 2642 pub struct kvm_sev_send_start { 2643 pub policy: u32, 2644 pub pdh_cert_uaddr: u64, 2645 pub pdh_cert_len: u32, 2646 pub plat_certs_uaddr: u64, 2647 pub plat_certs_len: u32, 2648 pub amd_certs_uaddr: u64, 2649 pub amd_certs_len: u32, 2650 pub session_uaddr: u64, 2651 pub session_len: u32, 2652 } 2653 #[repr(C)] 2654 #[derive(Debug, Default, Copy, Clone)] 2655 pub struct kvm_sev_send_update_data { 2656 pub hdr_uaddr: u64, 2657 pub hdr_len: u32, 2658 pub guest_uaddr: u64, 2659 pub guest_len: u32, 2660 pub trans_uaddr: u64, 2661 pub trans_len: u32, 2662 } 2663 #[repr(C)] 2664 #[derive(Debug, Default, Copy, Clone)] 2665 pub struct kvm_sev_receive_start { 2666 pub handle: u32, 2667 pub policy: u32, 2668 pub pdh_uaddr: u64, 2669 pub pdh_len: u32, 2670 pub session_uaddr: u64, 2671 pub session_len: u32, 2672 } 2673 #[repr(C)] 2674 #[derive(Debug, Default, Copy, Clone)] 2675 pub struct kvm_sev_receive_update_data { 2676 pub hdr_uaddr: u64, 2677 pub hdr_len: u32, 2678 pub guest_uaddr: u64, 2679 pub guest_len: u32, 2680 pub trans_uaddr: u64, 2681 pub trans_len: u32, 2682 } 2683 #[repr(C)] 2684 #[derive(Copy, Clone)] 2685 pub struct kvm_assigned_pci_dev { 2686 pub assigned_dev_id: u32, 2687 pub busnr: u32, 2688 pub devfn: u32, 2689 pub flags: u32, 2690 pub segnr: u32, 2691 pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, 2692 } 2693 #[repr(C)] 2694 #[derive(Copy, Clone)] 2695 pub union kvm_assigned_pci_dev__bindgen_ty_1 { 2696 pub reserved: [u32; 11usize], 2697 } 2698 impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { default() -> Self2699 fn default() -> Self { 2700 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2701 unsafe { 2702 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2703 s.assume_init() 2704 } 2705 } 2706 } 2707 impl Default for kvm_assigned_pci_dev { default() -> Self2708 fn default() -> Self { 2709 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2710 unsafe { 2711 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2712 s.assume_init() 2713 } 2714 } 2715 } 2716 #[repr(C)] 2717 #[derive(Copy, Clone)] 2718 pub struct kvm_assigned_irq { 2719 pub assigned_dev_id: u32, 2720 pub host_irq: u32, 2721 pub guest_irq: u32, 2722 pub flags: u32, 2723 pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, 2724 } 2725 #[repr(C)] 2726 #[derive(Copy, Clone)] 2727 pub union kvm_assigned_irq__bindgen_ty_1 { 2728 pub reserved: [u32; 12usize], 2729 } 2730 impl Default for kvm_assigned_irq__bindgen_ty_1 { default() -> Self2731 fn default() -> Self { 2732 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2733 unsafe { 2734 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2735 s.assume_init() 2736 } 2737 } 2738 } 2739 impl Default for kvm_assigned_irq { default() -> Self2740 fn default() -> Self { 2741 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2742 unsafe { 2743 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2744 s.assume_init() 2745 } 2746 } 2747 } 2748 #[repr(C)] 2749 #[derive(Debug, Default, Copy, Clone)] 2750 pub struct kvm_assigned_msix_nr { 2751 pub assigned_dev_id: u32, 2752 pub entry_nr: u16, 2753 pub padding: u16, 2754 } 2755 #[repr(C)] 2756 #[derive(Debug, Default, Copy, Clone)] 2757 pub struct kvm_assigned_msix_entry { 2758 pub assigned_dev_id: u32, 2759 pub gsi: u32, 2760 pub entry: u16, 2761 pub padding: [u16; 3usize], 2762 } 2763 #[repr(C)] 2764 #[derive(Debug, Default, Copy, Clone)] 2765 pub struct kvm_hyperv_eventfd { 2766 pub conn_id: u32, 2767 pub fd: i32, 2768 pub flags: u32, 2769 pub padding: [u32; 3usize], 2770 } 2771 #[repr(C)] 2772 #[derive(Debug, Default, Copy, Clone)] 2773 pub struct kvm_dirty_gfn { 2774 pub flags: u32, 2775 pub slot: u32, 2776 pub offset: u64, 2777 } 2778 #[repr(C)] 2779 #[derive(Debug, Default, Copy, Clone)] 2780 pub struct kvm_stats_header { 2781 pub flags: u32, 2782 pub name_size: u32, 2783 pub num_desc: u32, 2784 pub id_offset: u32, 2785 pub desc_offset: u32, 2786 pub data_offset: u32, 2787 } 2788 #[repr(C)] 2789 #[derive(Debug, Default)] 2790 pub struct kvm_stats_desc { 2791 pub flags: u32, 2792 pub exponent: i16, 2793 pub size: u16, 2794 pub offset: u32, 2795 pub bucket_size: u32, 2796 pub name: __IncompleteArrayField<::std::os::raw::c_char>, 2797 } 2798 #[repr(C)] 2799 #[derive(Copy, Clone)] 2800 pub struct kvm_s390_zpci_op { 2801 pub fh: u32, 2802 pub op: u8, 2803 pub pad: [u8; 3usize], 2804 pub u: kvm_s390_zpci_op__bindgen_ty_1, 2805 } 2806 #[repr(C)] 2807 #[derive(Copy, Clone)] 2808 pub union kvm_s390_zpci_op__bindgen_ty_1 { 2809 pub reg_aen: kvm_s390_zpci_op__bindgen_ty_1__bindgen_ty_1, 2810 pub reserved: [u64; 8usize], 2811 } 2812 #[repr(C)] 2813 #[derive(Debug, Default, Copy, Clone)] 2814 pub struct kvm_s390_zpci_op__bindgen_ty_1__bindgen_ty_1 { 2815 pub ibv: u64, 2816 pub sb: u64, 2817 pub flags: u32, 2818 pub noi: u32, 2819 pub isc: u8, 2820 pub sbo: u8, 2821 pub pad: u16, 2822 } 2823 impl Default for kvm_s390_zpci_op__bindgen_ty_1 { default() -> Self2824 fn default() -> Self { 2825 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2826 unsafe { 2827 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2828 s.assume_init() 2829 } 2830 } 2831 } 2832 impl Default for kvm_s390_zpci_op { default() -> Self2833 fn default() -> Self { 2834 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 2835 unsafe { 2836 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 2837 s.assume_init() 2838 } 2839 } 2840 } 2841 pub type __uint128_t = u128; 2842