1#[repr(transparent)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5#[cfg_attr(
6 feature = "serde",
7 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
8)]
9pub struct __BindgenBitfieldUnit<Storage> {
10 storage: Storage,
11}
12impl<Storage> __BindgenBitfieldUnit<Storage> {
13 #[inline]
14 pub const fn new(storage: Storage) -> Self {
15 Self { storage }
16 }
17}
18impl<Storage> __BindgenBitfieldUnit<Storage>
19where
20 Storage: AsRef<[u8]> + AsMut<[u8]>,
21{
22 #[inline]
23 pub fn get_bit(&self, index: usize) -> bool {
24 debug_assert!(index / 8 < self.storage.as_ref().len());
25 let byte_index = index / 8;
26 let byte = self.storage.as_ref()[byte_index];
27 let bit_index = if cfg!(target_endian = "big") {
28 7 - (index % 8)
29 } else {
30 index % 8
31 };
32 let mask = 1 << bit_index;
33 byte & mask == mask
34 }
35 #[inline]
36 pub fn set_bit(&mut self, index: usize, val: bool) {
37 debug_assert!(index / 8 < self.storage.as_ref().len());
38 let byte_index = index / 8;
39 let byte = &mut self.storage.as_mut()[byte_index];
40 let bit_index = if cfg!(target_endian = "big") {
41 7 - (index % 8)
42 } else {
43 index % 8
44 };
45 let mask = 1 << bit_index;
46 if val {
47 *byte |= mask;
48 } else {
49 *byte &= !mask;
50 }
51 }
52 #[inline]
53 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
54 debug_assert!(bit_width <= 64);
55 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
56 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
57 let mut val = 0;
58 for i in 0..(bit_width as usize) {
59 if self.get_bit(i + bit_offset) {
60 let index = if cfg!(target_endian = "big") {
61 bit_width as usize - 1 - i
62 } else {
63 i
64 };
65 val |= 1 << index;
66 }
67 }
68 val
69 }
70 #[inline]
71 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
72 debug_assert!(bit_width <= 64);
73 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75 for i in 0..(bit_width as usize) {
76 let mask = 1 << i;
77 let val_bit_is_set = val & mask == mask;
78 let index = if cfg!(target_endian = "big") {
79 bit_width as usize - 1 - i
80 } else {
81 i
82 };
83 self.set_bit(index + bit_offset, val_bit_is_set);
84 }
85 }
86}
87#[repr(transparent)]
88#[derive(Default)]
89#[cfg_attr(
90 feature = "serde",
91 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
92)]
93pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
94impl<T> __IncompleteArrayField<T> {
95 #[inline]
96 pub const fn new() -> Self {
97 __IncompleteArrayField(::std::marker::PhantomData, [])
98 }
99 #[inline]
100 pub fn as_ptr(&self) -> *const T {
101 self as *const _ as *const T
102 }
103 #[inline]
104 pub fn as_mut_ptr(&mut self) -> *mut T {
105 self as *mut _ as *mut T
106 }
107 #[inline]
108 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
109 ::std::slice::from_raw_parts(self.as_ptr(), len)
110 }
111 #[inline]
112 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
113 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
114 }
115}
116impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
117 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
118 fmt.write_str("__IncompleteArrayField")
119 }
120}
121#[repr(C)]
122pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
123impl<T> __BindgenUnionField<T> {
124 #[inline]
125 pub const fn new() -> Self {
126 __BindgenUnionField(::std::marker::PhantomData)
127 }
128 #[inline]
129 pub unsafe fn as_ref(&self) -> &T {
130 ::std::mem::transmute(self)
131 }
132 #[inline]
133 pub unsafe fn as_mut(&mut self) -> &mut T {
134 ::std::mem::transmute(self)
135 }
136}
137impl<T> ::std::default::Default for __BindgenUnionField<T> {
138 #[inline]
139 fn default() -> Self {
140 Self::new()
141 }
142}
143impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
144 #[inline]
145 fn clone(&self) -> Self {
146 *self
147 }
148}
149impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
150impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
151 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
152 fmt.write_str("__BindgenUnionField")
153 }
154}
155impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
156 fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
157}
158impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
159 fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
160 true
161 }
162}
163impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
164pub const __BITS_PER_LONG: u32 = 64;
165pub const __BITS_PER_LONG_LONG: u32 = 64;
166pub const __FD_SETSIZE: u32 = 1024;
167pub const _IOC_NRBITS: u32 = 8;
168pub const _IOC_TYPEBITS: u32 = 8;
169pub const _IOC_SIZEBITS: u32 = 14;
170pub const _IOC_DIRBITS: u32 = 2;
171pub const _IOC_NRMASK: u32 = 255;
172pub const _IOC_TYPEMASK: u32 = 255;
173pub const _IOC_SIZEMASK: u32 = 16383;
174pub const _IOC_DIRMASK: u32 = 3;
175pub const _IOC_NRSHIFT: u32 = 0;
176pub const _IOC_TYPESHIFT: u32 = 8;
177pub const _IOC_SIZESHIFT: u32 = 16;
178pub const _IOC_DIRSHIFT: u32 = 30;
179pub const _IOC_NONE: u32 = 0;
180pub const _IOC_WRITE: u32 = 1;
181pub const _IOC_READ: u32 = 2;
182pub const IOC_IN: u32 = 1073741824;
183pub const IOC_OUT: u32 = 2147483648;
184pub const IOC_INOUT: u32 = 3221225472;
185pub const IOCSIZE_MASK: u32 = 1073676288;
186pub const IOCSIZE_SHIFT: u32 = 16;
187pub const KVM_PIO_PAGE_OFFSET: u32 = 1;
188pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 2;
189pub const KVM_DIRTY_LOG_PAGE_OFFSET: u32 = 64;
190pub const DE_VECTOR: u32 = 0;
191pub const DB_VECTOR: u32 = 1;
192pub const BP_VECTOR: u32 = 3;
193pub const OF_VECTOR: u32 = 4;
194pub const BR_VECTOR: u32 = 5;
195pub const UD_VECTOR: u32 = 6;
196pub const NM_VECTOR: u32 = 7;
197pub const DF_VECTOR: u32 = 8;
198pub const TS_VECTOR: u32 = 10;
199pub const NP_VECTOR: u32 = 11;
200pub const SS_VECTOR: u32 = 12;
201pub const GP_VECTOR: u32 = 13;
202pub const PF_VECTOR: u32 = 14;
203pub const MF_VECTOR: u32 = 16;
204pub const AC_VECTOR: u32 = 17;
205pub const MC_VECTOR: u32 = 18;
206pub const XM_VECTOR: u32 = 19;
207pub const VE_VECTOR: u32 = 20;
208pub const KVM_NR_INTERRUPTS: u32 = 256;
209pub const KVM_IOAPIC_NUM_PINS: u32 = 24;
210pub const KVM_IRQCHIP_PIC_MASTER: u32 = 0;
211pub const KVM_IRQCHIP_PIC_SLAVE: u32 = 1;
212pub const KVM_IRQCHIP_IOAPIC: u32 = 2;
213pub const KVM_NR_IRQCHIPS: u32 = 3;
214pub const KVM_RUN_X86_SMM: u32 = 1;
215pub const KVM_RUN_X86_BUS_LOCK: u32 = 2;
216pub const KVM_APIC_REG_SIZE: u32 = 1024;
217pub const KVM_SREGS2_FLAGS_PDPTRS_VALID: u32 = 1;
218pub const KVM_MSR_FILTER_MAX_BITMAP_SIZE: u32 = 1536;
219pub const KVM_MSR_FILTER_READ: u32 = 1;
220pub const KVM_MSR_FILTER_WRITE: u32 = 2;
221pub const KVM_MSR_FILTER_RANGE_VALID_MASK: u32 = 3;
222pub const KVM_MSR_FILTER_MAX_RANGES: u32 = 16;
223pub const KVM_MSR_FILTER_DEFAULT_ALLOW: u32 = 0;
224pub const KVM_MSR_FILTER_DEFAULT_DENY: u32 = 1;
225pub const KVM_MSR_FILTER_VALID_MASK: u32 = 1;
226pub const KVM_CPUID_FLAG_SIGNIFCANT_INDEX: u32 = 1;
227pub const KVM_CPUID_FLAG_STATEFUL_FUNC: u32 = 2;
228pub const KVM_CPUID_FLAG_STATE_READ_NEXT: u32 = 4;
229pub const KVM_GUESTDBG_USE_SW_BP: u32 = 65536;
230pub const KVM_GUESTDBG_USE_HW_BP: u32 = 131072;
231pub const KVM_GUESTDBG_INJECT_DB: u32 = 262144;
232pub const KVM_GUESTDBG_INJECT_BP: u32 = 524288;
233pub const KVM_GUESTDBG_BLOCKIRQ: u32 = 1048576;
234pub const KVM_PIT_FLAGS_HPET_LEGACY: u32 = 1;
235pub const KVM_PIT_FLAGS_SPEAKER_DATA_ON: u32 = 2;
236pub const KVM_VCPUEVENT_VALID_NMI_PENDING: u32 = 1;
237pub const KVM_VCPUEVENT_VALID_SIPI_VECTOR: u32 = 2;
238pub const KVM_VCPUEVENT_VALID_SHADOW: u32 = 4;
239pub const KVM_VCPUEVENT_VALID_SMM: u32 = 8;
240pub const KVM_VCPUEVENT_VALID_PAYLOAD: u32 = 16;
241pub const KVM_VCPUEVENT_VALID_TRIPLE_FAULT: u32 = 32;
242pub const KVM_X86_SHADOW_INT_MOV_SS: u32 = 1;
243pub const KVM_X86_SHADOW_INT_STI: u32 = 2;
244pub const KVM_MAX_XCRS: u32 = 16;
245pub const KVM_SYNC_X86_REGS: u32 = 1;
246pub const KVM_SYNC_X86_SREGS: u32 = 2;
247pub const KVM_SYNC_X86_EVENTS: u32 = 4;
248pub const KVM_SYNC_X86_VALID_FIELDS: u32 = 7;
249pub const KVM_X86_QUIRK_LINT0_REENABLED: u32 = 1;
250pub const KVM_X86_QUIRK_CD_NW_CLEARED: u32 = 2;
251pub const KVM_X86_QUIRK_LAPIC_MMIO_HOLE: u32 = 4;
252pub const KVM_X86_QUIRK_OUT_7E_INC_RIP: u32 = 8;
253pub const KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT: u32 = 16;
254pub const KVM_X86_QUIRK_FIX_HYPERCALL_INSN: u32 = 32;
255pub const KVM_X86_QUIRK_MWAIT_NEVER_UD_FAULTS: u32 = 64;
256pub const KVM_STATE_NESTED_FORMAT_VMX: u32 = 0;
257pub const KVM_STATE_NESTED_FORMAT_SVM: u32 = 1;
258pub const KVM_STATE_NESTED_GUEST_MODE: u32 = 1;
259pub const KVM_STATE_NESTED_RUN_PENDING: u32 = 2;
260pub const KVM_STATE_NESTED_EVMCS: u32 = 4;
261pub const KVM_STATE_NESTED_MTF_PENDING: u32 = 8;
262pub const KVM_STATE_NESTED_GIF_SET: u32 = 256;
263pub const KVM_STATE_NESTED_SMM_GUEST_MODE: u32 = 1;
264pub const KVM_STATE_NESTED_SMM_VMXON: u32 = 2;
265pub const KVM_STATE_NESTED_VMX_VMCS_SIZE: u32 = 4096;
266pub const KVM_STATE_NESTED_SVM_VMCB_SIZE: u32 = 4096;
267pub const KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE: u32 = 1;
268pub const KVM_X86_XCOMP_GUEST_SUPP: u32 = 0;
269pub const KVM_PMU_EVENT_ALLOW: u32 = 0;
270pub const KVM_PMU_EVENT_DENY: u32 = 1;
271pub const KVM_XEN_HVM_CONFIG_HYPERCALL_MSR: u32 = 1;
272pub const KVM_XEN_HVM_CONFIG_INTERCEPT_HCALL: u32 = 2;
273pub const KVM_XEN_HVM_CONFIG_SHARED_INFO: u32 = 4;
274pub const KVM_XEN_HVM_CONFIG_RUNSTATE: u32 = 8;
275pub const KVM_XEN_HVM_CONFIG_EVTCHN_2LEVEL: u32 = 16;
276pub const KVM_XEN_HVM_CONFIG_EVTCHN_SEND: u32 = 32;
277pub const KVM_XEN_HVM_CONFIG_RUNSTATE_UPDATE_FLAG: u32 = 64;
278pub const KVM_XEN_HVM_CONFIG_PVCLOCK_TSC_UNSTABLE: u32 = 128;
279pub const KVM_XEN_HVM_CONFIG_SHARED_INFO_HVA: u32 = 256;
280pub const KVM_XEN_EVTCHN_DEASSIGN: u32 = 1;
281pub const KVM_XEN_EVTCHN_UPDATE: u32 = 2;
282pub const KVM_XEN_EVTCHN_RESET: u32 = 4;
283pub const KVM_XEN_ATTR_TYPE_LONG_MODE: u32 = 0;
284pub const KVM_XEN_ATTR_TYPE_SHARED_INFO: u32 = 1;
285pub const KVM_XEN_ATTR_TYPE_UPCALL_VECTOR: u32 = 2;
286pub const KVM_XEN_ATTR_TYPE_EVTCHN: u32 = 3;
287pub const KVM_XEN_ATTR_TYPE_XEN_VERSION: u32 = 4;
288pub const KVM_XEN_ATTR_TYPE_RUNSTATE_UPDATE_FLAG: u32 = 5;
289pub const KVM_XEN_ATTR_TYPE_SHARED_INFO_HVA: u32 = 6;
290pub const KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO: u32 = 0;
291pub const KVM_XEN_VCPU_ATTR_TYPE_VCPU_TIME_INFO: u32 = 1;
292pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADDR: u32 = 2;
293pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT: u32 = 3;
294pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA: u32 = 4;
295pub const KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADJUST: u32 = 5;
296pub const KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID: u32 = 6;
297pub const KVM_XEN_VCPU_ATTR_TYPE_TIMER: u32 = 7;
298pub const KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR: u32 = 8;
299pub const KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO_HVA: u32 = 9;
300pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1;
301pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2;
302pub const KVM_HYPERV_CONN_ID_MASK: u32 = 16777215;
303pub const KVM_HYPERV_EVENTFD_DEASSIGN: u32 = 1;
304pub const KVM_PMU_MASKED_ENTRY_UMASK_MASK_SHIFT: u32 = 56;
305pub const KVM_VCPU_TSC_CTRL: u32 = 0;
306pub const KVM_VCPU_TSC_OFFSET: u32 = 0;
307pub const KVM_X86_DEFAULT_VM: u32 = 0;
308pub const KVM_X86_SW_PROTECTED_VM: u32 = 1;
309pub const KVM_API_VERSION: u32 = 12;
310pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1;
311pub const KVM_MEM_READONLY: u32 = 2;
312pub const KVM_MEM_GUEST_MEMFD: u32 = 4;
313pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1;
314pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1;
315pub const KVM_EXIT_HYPERV_HCALL: u32 = 2;
316pub const KVM_EXIT_HYPERV_SYNDBG: u32 = 3;
317pub const KVM_EXIT_XEN_HCALL: u32 = 1;
318pub const KVM_S390_GET_SKEYS_NONE: u32 = 1;
319pub const KVM_S390_SKEYS_MAX: u32 = 1048576;
320pub const KVM_EXIT_UNKNOWN: u32 = 0;
321pub const KVM_EXIT_EXCEPTION: u32 = 1;
322pub const KVM_EXIT_IO: u32 = 2;
323pub const KVM_EXIT_HYPERCALL: u32 = 3;
324pub const KVM_EXIT_DEBUG: u32 = 4;
325pub const KVM_EXIT_HLT: u32 = 5;
326pub const KVM_EXIT_MMIO: u32 = 6;
327pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7;
328pub const KVM_EXIT_SHUTDOWN: u32 = 8;
329pub const KVM_EXIT_FAIL_ENTRY: u32 = 9;
330pub const KVM_EXIT_INTR: u32 = 10;
331pub const KVM_EXIT_SET_TPR: u32 = 11;
332pub const KVM_EXIT_TPR_ACCESS: u32 = 12;
333pub const KVM_EXIT_S390_SIEIC: u32 = 13;
334pub const KVM_EXIT_S390_RESET: u32 = 14;
335pub const KVM_EXIT_DCR: u32 = 15;
336pub const KVM_EXIT_NMI: u32 = 16;
337pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17;
338pub const KVM_EXIT_OSI: u32 = 18;
339pub const KVM_EXIT_PAPR_HCALL: u32 = 19;
340pub const KVM_EXIT_S390_UCONTROL: u32 = 20;
341pub const KVM_EXIT_WATCHDOG: u32 = 21;
342pub const KVM_EXIT_S390_TSCH: u32 = 22;
343pub const KVM_EXIT_EPR: u32 = 23;
344pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24;
345pub const KVM_EXIT_S390_STSI: u32 = 25;
346pub const KVM_EXIT_IOAPIC_EOI: u32 = 26;
347pub const KVM_EXIT_HYPERV: u32 = 27;
348pub const KVM_EXIT_ARM_NISV: u32 = 28;
349pub const KVM_EXIT_X86_RDMSR: u32 = 29;
350pub const KVM_EXIT_X86_WRMSR: u32 = 30;
351pub const KVM_EXIT_DIRTY_RING_FULL: u32 = 31;
352pub const KVM_EXIT_AP_RESET_HOLD: u32 = 32;
353pub const KVM_EXIT_X86_BUS_LOCK: u32 = 33;
354pub const KVM_EXIT_XEN: u32 = 34;
355pub const KVM_EXIT_RISCV_SBI: u32 = 35;
356pub const KVM_EXIT_RISCV_CSR: u32 = 36;
357pub const KVM_EXIT_NOTIFY: u32 = 37;
358pub const KVM_EXIT_LOONGARCH_IOCSR: u32 = 38;
359pub const KVM_EXIT_MEMORY_FAULT: u32 = 39;
360pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1;
361pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2;
362pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3;
363pub const KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON: u32 = 4;
364pub const KVM_INTERNAL_ERROR_EMULATION_FLAG_INSTRUCTION_BYTES: u32 = 1;
365pub const KVM_EXIT_IO_IN: u32 = 0;
366pub const KVM_EXIT_IO_OUT: u32 = 1;
367pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1;
368pub const KVM_SYSTEM_EVENT_RESET: u32 = 2;
369pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3;
370pub const KVM_SYSTEM_EVENT_WAKEUP: u32 = 4;
371pub const KVM_SYSTEM_EVENT_SUSPEND: u32 = 5;
372pub const KVM_SYSTEM_EVENT_SEV_TERM: u32 = 6;
373pub const KVM_MSR_EXIT_REASON_INVAL: u32 = 1;
374pub const KVM_MSR_EXIT_REASON_UNKNOWN: u32 = 2;
375pub const KVM_MSR_EXIT_REASON_FILTER: u32 = 4;
376pub const KVM_MSR_EXIT_REASON_VALID_MASK: u32 = 7;
377pub const KVM_NOTIFY_CONTEXT_INVALID: u32 = 1;
378pub const KVM_MEMORY_EXIT_FLAG_PRIVATE: u32 = 8;
379pub const SYNC_REGS_SIZE_BYTES: u32 = 2048;
380pub const KVM_MP_STATE_RUNNABLE: u32 = 0;
381pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1;
382pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2;
383pub const KVM_MP_STATE_HALTED: u32 = 3;
384pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4;
385pub const KVM_MP_STATE_STOPPED: u32 = 5;
386pub const KVM_MP_STATE_CHECK_STOP: u32 = 6;
387pub const KVM_MP_STATE_OPERATING: u32 = 7;
388pub const KVM_MP_STATE_LOAD: u32 = 8;
389pub const KVM_MP_STATE_AP_RESET_HOLD: u32 = 9;
390pub const KVM_MP_STATE_SUSPENDED: u32 = 10;
391pub const KVM_GUESTDBG_ENABLE: u32 = 1;
392pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2;
393pub const KVM_X86_DISABLE_EXITS_MWAIT: u32 = 1;
394pub const KVM_X86_DISABLE_EXITS_HLT: u32 = 2;
395pub const KVM_X86_DISABLE_EXITS_PAUSE: u32 = 4;
396pub const KVM_X86_DISABLE_EXITS_CSTATE: u32 = 8;
397pub const KVM_X86_DISABLE_VALID_EXITS: u32 = 15;
398pub const KVMIO: u32 = 174;
399pub const KVM_VM_S390_UCONTROL: u32 = 1;
400pub const KVM_VM_PPC_HV: u32 = 1;
401pub const KVM_VM_PPC_PR: u32 = 2;
402pub const KVM_VM_MIPS_AUTO: u32 = 0;
403pub const KVM_VM_MIPS_VZ: u32 = 1;
404pub const KVM_VM_MIPS_TE: u32 = 2;
405pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1;
406pub const KVM_VM_TYPE_ARM_IPA_SIZE_MASK: u32 = 255;
407pub const KVM_CAP_IRQCHIP: u32 = 0;
408pub const KVM_CAP_HLT: u32 = 1;
409pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2;
410pub const KVM_CAP_USER_MEMORY: u32 = 3;
411pub const KVM_CAP_SET_TSS_ADDR: u32 = 4;
412pub const KVM_CAP_VAPIC: u32 = 6;
413pub const KVM_CAP_EXT_CPUID: u32 = 7;
414pub const KVM_CAP_CLOCKSOURCE: u32 = 8;
415pub const KVM_CAP_NR_VCPUS: u32 = 9;
416pub const KVM_CAP_NR_MEMSLOTS: u32 = 10;
417pub const KVM_CAP_PIT: u32 = 11;
418pub const KVM_CAP_NOP_IO_DELAY: u32 = 12;
419pub const KVM_CAP_PV_MMU: u32 = 13;
420pub const KVM_CAP_MP_STATE: u32 = 14;
421pub const KVM_CAP_COALESCED_MMIO: u32 = 15;
422pub const KVM_CAP_SYNC_MMU: u32 = 16;
423pub const KVM_CAP_IOMMU: u32 = 18;
424pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21;
425pub const KVM_CAP_USER_NMI: u32 = 22;
426pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23;
427pub const KVM_CAP_REINJECT_CONTROL: u32 = 24;
428pub const KVM_CAP_IRQ_ROUTING: u32 = 25;
429pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26;
430pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29;
431pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30;
432pub const KVM_CAP_MCE: u32 = 31;
433pub const KVM_CAP_IRQFD: u32 = 32;
434pub const KVM_CAP_PIT2: u32 = 33;
435pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34;
436pub const KVM_CAP_PIT_STATE2: u32 = 35;
437pub const KVM_CAP_IOEVENTFD: u32 = 36;
438pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37;
439pub const KVM_CAP_XEN_HVM: u32 = 38;
440pub const KVM_CAP_ADJUST_CLOCK: u32 = 39;
441pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40;
442pub const KVM_CAP_VCPU_EVENTS: u32 = 41;
443pub const KVM_CAP_S390_PSW: u32 = 42;
444pub const KVM_CAP_PPC_SEGSTATE: u32 = 43;
445pub const KVM_CAP_HYPERV: u32 = 44;
446pub const KVM_CAP_HYPERV_VAPIC: u32 = 45;
447pub const KVM_CAP_HYPERV_SPIN: u32 = 46;
448pub const KVM_CAP_PCI_SEGMENT: u32 = 47;
449pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48;
450pub const KVM_CAP_INTR_SHADOW: u32 = 49;
451pub const KVM_CAP_DEBUGREGS: u32 = 50;
452pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51;
453pub const KVM_CAP_PPC_OSI: u32 = 52;
454pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53;
455pub const KVM_CAP_ENABLE_CAP: u32 = 54;
456pub const KVM_CAP_XSAVE: u32 = 55;
457pub const KVM_CAP_XCRS: u32 = 56;
458pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57;
459pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58;
460pub const KVM_CAP_ASYNC_PF: u32 = 59;
461pub const KVM_CAP_TSC_CONTROL: u32 = 60;
462pub const KVM_CAP_GET_TSC_KHZ: u32 = 61;
463pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62;
464pub const KVM_CAP_SPAPR_TCE: u32 = 63;
465pub const KVM_CAP_PPC_SMT: u32 = 64;
466pub const KVM_CAP_PPC_RMA: u32 = 65;
467pub const KVM_CAP_MAX_VCPUS: u32 = 66;
468pub const KVM_CAP_PPC_HIOR: u32 = 67;
469pub const KVM_CAP_PPC_PAPR: u32 = 68;
470pub const KVM_CAP_SW_TLB: u32 = 69;
471pub const KVM_CAP_ONE_REG: u32 = 70;
472pub const KVM_CAP_S390_GMAP: u32 = 71;
473pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72;
474pub const KVM_CAP_S390_UCONTROL: u32 = 73;
475pub const KVM_CAP_SYNC_REGS: u32 = 74;
476pub const KVM_CAP_PCI_2_3: u32 = 75;
477pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76;
478pub const KVM_CAP_SIGNAL_MSI: u32 = 77;
479pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78;
480pub const KVM_CAP_S390_COW: u32 = 79;
481pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80;
482pub const KVM_CAP_READONLY_MEM: u32 = 81;
483pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82;
484pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83;
485pub const KVM_CAP_PPC_HTAB_FD: u32 = 84;
486pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85;
487pub const KVM_CAP_PPC_EPR: u32 = 86;
488pub const KVM_CAP_ARM_PSCI: u32 = 87;
489pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88;
490pub const KVM_CAP_DEVICE_CTRL: u32 = 89;
491pub const KVM_CAP_IRQ_MPIC: u32 = 90;
492pub const KVM_CAP_PPC_RTAS: u32 = 91;
493pub const KVM_CAP_IRQ_XICS: u32 = 92;
494pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93;
495pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94;
496pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95;
497pub const KVM_CAP_HYPERV_TIME: u32 = 96;
498pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97;
499pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98;
500pub const KVM_CAP_S390_IRQCHIP: u32 = 99;
501pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100;
502pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101;
503pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102;
504pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103;
505pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104;
506pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105;
507pub const KVM_CAP_S390_USER_SIGP: u32 = 106;
508pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107;
509pub const KVM_CAP_S390_MEM_OP: u32 = 108;
510pub const KVM_CAP_S390_USER_STSI: u32 = 109;
511pub const KVM_CAP_S390_SKEYS: u32 = 110;
512pub const KVM_CAP_MIPS_FPU: u32 = 111;
513pub const KVM_CAP_MIPS_MSA: u32 = 112;
514pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113;
515pub const KVM_CAP_S390_IRQ_STATE: u32 = 114;
516pub const KVM_CAP_PPC_HWRNG: u32 = 115;
517pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116;
518pub const KVM_CAP_X86_SMM: u32 = 117;
519pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118;
520pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119;
521pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120;
522pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121;
523pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122;
524pub const KVM_CAP_HYPERV_SYNIC: u32 = 123;
525pub const KVM_CAP_S390_RI: u32 = 124;
526pub const KVM_CAP_SPAPR_TCE_64: u32 = 125;
527pub const KVM_CAP_ARM_PMU_V3: u32 = 126;
528pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127;
529pub const KVM_CAP_MAX_VCPU_ID: u32 = 128;
530pub const KVM_CAP_X2APIC_API: u32 = 129;
531pub const KVM_CAP_S390_USER_INSTR0: u32 = 130;
532pub const KVM_CAP_MSI_DEVID: u32 = 131;
533pub const KVM_CAP_PPC_HTM: u32 = 132;
534pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133;
535pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134;
536pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135;
537pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136;
538pub const KVM_CAP_MIPS_VZ: u32 = 137;
539pub const KVM_CAP_MIPS_TE: u32 = 138;
540pub const KVM_CAP_MIPS_64BIT: u32 = 139;
541pub const KVM_CAP_S390_GS: u32 = 140;
542pub const KVM_CAP_S390_AIS: u32 = 141;
543pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142;
544pub const KVM_CAP_X86_DISABLE_EXITS: u32 = 143;
545pub const KVM_CAP_ARM_USER_IRQ: u32 = 144;
546pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145;
547pub const KVM_CAP_PPC_FWNMI: u32 = 146;
548pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147;
549pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148;
550pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149;
551pub const KVM_CAP_S390_AIS_MIGRATION: u32 = 150;
552pub const KVM_CAP_PPC_GET_CPU_CHAR: u32 = 151;
553pub const KVM_CAP_S390_BPB: u32 = 152;
554pub const KVM_CAP_GET_MSR_FEATURES: u32 = 153;
555pub const KVM_CAP_HYPERV_EVENTFD: u32 = 154;
556pub const KVM_CAP_HYPERV_TLBFLUSH: u32 = 155;
557pub const KVM_CAP_S390_HPAGE_1M: u32 = 156;
558pub const KVM_CAP_NESTED_STATE: u32 = 157;
559pub const KVM_CAP_ARM_INJECT_SERROR_ESR: u32 = 158;
560pub const KVM_CAP_MSR_PLATFORM_INFO: u32 = 159;
561pub const KVM_CAP_PPC_NESTED_HV: u32 = 160;
562pub const KVM_CAP_HYPERV_SEND_IPI: u32 = 161;
563pub const KVM_CAP_COALESCED_PIO: u32 = 162;
564pub const KVM_CAP_HYPERV_ENLIGHTENED_VMCS: u32 = 163;
565pub const KVM_CAP_EXCEPTION_PAYLOAD: u32 = 164;
566pub const KVM_CAP_ARM_VM_IPA_SIZE: u32 = 165;
567pub const KVM_CAP_MANUAL_DIRTY_LOG_PROTECT: u32 = 166;
568pub const KVM_CAP_HYPERV_CPUID: u32 = 167;
569pub const KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2: u32 = 168;
570pub const KVM_CAP_PPC_IRQ_XIVE: u32 = 169;
571pub const KVM_CAP_ARM_SVE: u32 = 170;
572pub const KVM_CAP_ARM_PTRAUTH_ADDRESS: u32 = 171;
573pub const KVM_CAP_ARM_PTRAUTH_GENERIC: u32 = 172;
574pub const KVM_CAP_PMU_EVENT_FILTER: u32 = 173;
575pub const KVM_CAP_ARM_IRQ_LINE_LAYOUT_2: u32 = 174;
576pub const KVM_CAP_HYPERV_DIRECT_TLBFLUSH: u32 = 175;
577pub const KVM_CAP_PPC_GUEST_DEBUG_SSTEP: u32 = 176;
578pub const KVM_CAP_ARM_NISV_TO_USER: u32 = 177;
579pub const KVM_CAP_ARM_INJECT_EXT_DABT: u32 = 178;
580pub const KVM_CAP_S390_VCPU_RESETS: u32 = 179;
581pub const KVM_CAP_S390_PROTECTED: u32 = 180;
582pub const KVM_CAP_PPC_SECURE_GUEST: u32 = 181;
583pub const KVM_CAP_HALT_POLL: u32 = 182;
584pub const KVM_CAP_ASYNC_PF_INT: u32 = 183;
585pub const KVM_CAP_LAST_CPU: u32 = 184;
586pub const KVM_CAP_SMALLER_MAXPHYADDR: u32 = 185;
587pub const KVM_CAP_S390_DIAG318: u32 = 186;
588pub const KVM_CAP_STEAL_TIME: u32 = 187;
589pub const KVM_CAP_X86_USER_SPACE_MSR: u32 = 188;
590pub const KVM_CAP_X86_MSR_FILTER: u32 = 189;
591pub const KVM_CAP_ENFORCE_PV_FEATURE_CPUID: u32 = 190;
592pub const KVM_CAP_SYS_HYPERV_CPUID: u32 = 191;
593pub const KVM_CAP_DIRTY_LOG_RING: u32 = 192;
594pub const KVM_CAP_X86_BUS_LOCK_EXIT: u32 = 193;
595pub const KVM_CAP_PPC_DAWR1: u32 = 194;
596pub const KVM_CAP_SET_GUEST_DEBUG2: u32 = 195;
597pub const KVM_CAP_SGX_ATTRIBUTE: u32 = 196;
598pub const KVM_CAP_VM_COPY_ENC_CONTEXT_FROM: u32 = 197;
599pub const KVM_CAP_PTP_KVM: u32 = 198;
600pub const KVM_CAP_HYPERV_ENFORCE_CPUID: u32 = 199;
601pub const KVM_CAP_SREGS2: u32 = 200;
602pub const KVM_CAP_EXIT_HYPERCALL: u32 = 201;
603pub const KVM_CAP_PPC_RPT_INVALIDATE: u32 = 202;
604pub const KVM_CAP_BINARY_STATS_FD: u32 = 203;
605pub const KVM_CAP_EXIT_ON_EMULATION_FAILURE: u32 = 204;
606pub const KVM_CAP_ARM_MTE: u32 = 205;
607pub const KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM: u32 = 206;
608pub const KVM_CAP_VM_GPA_BITS: u32 = 207;
609pub const KVM_CAP_XSAVE2: u32 = 208;
610pub const KVM_CAP_SYS_ATTRIBUTES: u32 = 209;
611pub const KVM_CAP_PPC_AIL_MODE_3: u32 = 210;
612pub const KVM_CAP_S390_MEM_OP_EXTENSION: u32 = 211;
613pub const KVM_CAP_PMU_CAPABILITY: u32 = 212;
614pub const KVM_CAP_DISABLE_QUIRKS2: u32 = 213;
615pub const KVM_CAP_VM_TSC_CONTROL: u32 = 214;
616pub const KVM_CAP_SYSTEM_EVENT_DATA: u32 = 215;
617pub const KVM_CAP_ARM_SYSTEM_SUSPEND: u32 = 216;
618pub const KVM_CAP_S390_PROTECTED_DUMP: u32 = 217;
619pub const KVM_CAP_X86_TRIPLE_FAULT_EVENT: u32 = 218;
620pub const KVM_CAP_X86_NOTIFY_VMEXIT: u32 = 219;
621pub const KVM_CAP_VM_DISABLE_NX_HUGE_PAGES: u32 = 220;
622pub const KVM_CAP_S390_ZPCI_OP: u32 = 221;
623pub const KVM_CAP_S390_CPU_TOPOLOGY: u32 = 222;
624pub const KVM_CAP_DIRTY_LOG_RING_ACQ_REL: u32 = 223;
625pub const KVM_CAP_S390_PROTECTED_ASYNC_DISABLE: u32 = 224;
626pub const KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP: u32 = 225;
627pub const KVM_CAP_PMU_EVENT_MASKED_EVENTS: u32 = 226;
628pub const KVM_CAP_COUNTER_OFFSET: u32 = 227;
629pub const KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE: u32 = 228;
630pub const KVM_CAP_ARM_SUPPORTED_BLOCK_SIZES: u32 = 229;
631pub const KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES: u32 = 230;
632pub const KVM_CAP_USER_MEMORY2: u32 = 231;
633pub const KVM_CAP_MEMORY_FAULT_INFO: u32 = 232;
634pub const KVM_CAP_MEMORY_ATTRIBUTES: u32 = 233;
635pub const KVM_CAP_GUEST_MEMFD: u32 = 234;
636pub const KVM_CAP_VM_TYPES: u32 = 235;
637pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1;
638pub const KVM_IRQ_ROUTING_MSI: u32 = 2;
639pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3;
640pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4;
641pub const KVM_IRQ_ROUTING_XEN_EVTCHN: u32 = 5;
642pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1;
643pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2;
644pub const KVM_CLOCK_TSC_STABLE: u32 = 2;
645pub const KVM_CLOCK_REALTIME: u32 = 4;
646pub const KVM_CLOCK_HOST_TSC: u32 = 8;
647pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0;
648pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1;
649pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936;
650pub const KVM_REG_GENERIC: u32 = 0;
651pub const KVM_REG_PPC: u64 = 1152921504606846976;
652pub const KVM_REG_X86: u64 = 2305843009213693952;
653pub const KVM_REG_IA64: u64 = 3458764513820540928;
654pub const KVM_REG_ARM: u64 = 4611686018427387904;
655pub const KVM_REG_S390: u64 = 5764607523034234880;
656pub const KVM_REG_ARM64: u64 = 6917529027641081856;
657pub const KVM_REG_MIPS: u64 = 8070450532247928832;
658pub const KVM_REG_RISCV: i64 = -9223372036854775808;
659pub const KVM_REG_LOONGARCH: i64 = -8070450532247928832;
660pub const KVM_REG_SIZE_SHIFT: u32 = 52;
661pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440;
662pub const KVM_REG_SIZE_U8: u32 = 0;
663pub const KVM_REG_SIZE_U16: u64 = 4503599627370496;
664pub const KVM_REG_SIZE_U32: u64 = 9007199254740992;
665pub const KVM_REG_SIZE_U64: u64 = 13510798882111488;
666pub const KVM_REG_SIZE_U128: u64 = 18014398509481984;
667pub const KVM_REG_SIZE_U256: u64 = 22517998136852480;
668pub const KVM_REG_SIZE_U512: u64 = 27021597764222976;
669pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472;
670pub const KVM_REG_SIZE_U2048: u64 = 36028797018963968;
671pub const KVM_MSI_VALID_DEVID: u32 = 1;
672pub const KVM_CREATE_DEVICE_TEST: u32 = 1;
673pub const KVM_DEV_VFIO_FILE: u32 = 1;
674pub const KVM_DEV_VFIO_FILE_ADD: u32 = 1;
675pub const KVM_DEV_VFIO_FILE_DEL: u32 = 2;
676pub const KVM_DEV_VFIO_GROUP: u32 = 1;
677pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1;
678pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2;
679pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3;
680pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1;
681pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2;
682pub const KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE: u32 = 1;
683pub const KVM_DIRTY_LOG_INITIALLY_SET: u32 = 2;
684pub const KVM_DIRTY_GFN_F_MASK: u32 = 3;
685pub const KVM_BUS_LOCK_DETECTION_OFF: u32 = 1;
686pub const KVM_BUS_LOCK_DETECTION_EXIT: u32 = 2;
687pub const KVM_PMU_CAP_DISABLE: u32 = 1;
688pub const KVM_STATS_TYPE_SHIFT: u32 = 0;
689pub const KVM_STATS_TYPE_MASK: u32 = 15;
690pub const KVM_STATS_TYPE_CUMULATIVE: u32 = 0;
691pub const KVM_STATS_TYPE_INSTANT: u32 = 1;
692pub const KVM_STATS_TYPE_PEAK: u32 = 2;
693pub const KVM_STATS_TYPE_LINEAR_HIST: u32 = 3;
694pub const KVM_STATS_TYPE_LOG_HIST: u32 = 4;
695pub const KVM_STATS_TYPE_MAX: u32 = 4;
696pub const KVM_STATS_UNIT_SHIFT: u32 = 4;
697pub const KVM_STATS_UNIT_MASK: u32 = 240;
698pub const KVM_STATS_UNIT_NONE: u32 = 0;
699pub const KVM_STATS_UNIT_BYTES: u32 = 16;
700pub const KVM_STATS_UNIT_SECONDS: u32 = 32;
701pub const KVM_STATS_UNIT_CYCLES: u32 = 48;
702pub const KVM_STATS_UNIT_BOOLEAN: u32 = 64;
703pub const KVM_STATS_UNIT_MAX: u32 = 64;
704pub const KVM_STATS_BASE_SHIFT: u32 = 8;
705pub const KVM_STATS_BASE_MASK: u32 = 3840;
706pub const KVM_STATS_BASE_POW10: u32 = 0;
707pub const KVM_STATS_BASE_POW2: u32 = 256;
708pub const KVM_STATS_BASE_MAX: u32 = 256;
709pub const KVM_X86_NOTIFY_VMEXIT_ENABLED: u32 = 1;
710pub const KVM_X86_NOTIFY_VMEXIT_USER: u32 = 2;
711pub const KVM_MEMORY_ATTRIBUTE_PRIVATE: u32 = 8;
712pub type __s8 = ::std::os::raw::c_schar;
713pub type __u8 = ::std::os::raw::c_uchar;
714pub type __s16 = ::std::os::raw::c_short;
715pub type __u16 = ::std::os::raw::c_ushort;
716pub type __s32 = ::std::os::raw::c_int;
717pub type __u32 = ::std::os::raw::c_uint;
718pub type __s64 = ::std::os::raw::c_longlong;
719pub type __u64 = ::std::os::raw::c_ulonglong;
720#[repr(C)]
721#[derive(Debug, Default, Copy, Clone, PartialEq)]
722pub struct __kernel_fd_set {
723 pub fds_bits: [::std::os::raw::c_ulong; 16usize],
724}
725#[allow(clippy::unnecessary_operation, clippy::identity_op)]
726const _: () = {
727 ["Size of __kernel_fd_set"][::std::mem::size_of::<__kernel_fd_set>() - 128usize];
728 ["Alignment of __kernel_fd_set"][::std::mem::align_of::<__kernel_fd_set>() - 8usize];
729 ["Offset of field: __kernel_fd_set::fds_bits"]
730 [::std::mem::offset_of!(__kernel_fd_set, fds_bits) - 0usize];
731};
732pub type __kernel_sighandler_t =
733 ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
734pub type __kernel_key_t = ::std::os::raw::c_int;
735pub type __kernel_mqd_t = ::std::os::raw::c_int;
736pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
737pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
738pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
739pub type __kernel_long_t = ::std::os::raw::c_long;
740pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
741pub type __kernel_ino_t = __kernel_ulong_t;
742pub type __kernel_mode_t = ::std::os::raw::c_uint;
743pub type __kernel_pid_t = ::std::os::raw::c_int;
744pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
745pub type __kernel_uid_t = ::std::os::raw::c_uint;
746pub type __kernel_gid_t = ::std::os::raw::c_uint;
747pub type __kernel_suseconds_t = __kernel_long_t;
748pub type __kernel_daddr_t = ::std::os::raw::c_int;
749pub type __kernel_uid32_t = ::std::os::raw::c_uint;
750pub type __kernel_gid32_t = ::std::os::raw::c_uint;
751pub type __kernel_size_t = __kernel_ulong_t;
752pub type __kernel_ssize_t = __kernel_long_t;
753pub type __kernel_ptrdiff_t = __kernel_long_t;
754#[repr(C)]
755#[derive(Debug, Default, Copy, Clone, PartialEq)]
756pub struct __kernel_fsid_t {
757 pub val: [::std::os::raw::c_int; 2usize],
758}
759#[allow(clippy::unnecessary_operation, clippy::identity_op)]
760const _: () = {
761 ["Size of __kernel_fsid_t"][::std::mem::size_of::<__kernel_fsid_t>() - 8usize];
762 ["Alignment of __kernel_fsid_t"][::std::mem::align_of::<__kernel_fsid_t>() - 4usize];
763 ["Offset of field: __kernel_fsid_t::val"]
764 [::std::mem::offset_of!(__kernel_fsid_t, val) - 0usize];
765};
766pub type __kernel_off_t = __kernel_long_t;
767pub type __kernel_loff_t = ::std::os::raw::c_longlong;
768pub type __kernel_old_time_t = __kernel_long_t;
769pub type __kernel_time_t = __kernel_long_t;
770pub type __kernel_time64_t = ::std::os::raw::c_longlong;
771pub type __kernel_clock_t = __kernel_long_t;
772pub type __kernel_timer_t = ::std::os::raw::c_int;
773pub type __kernel_clockid_t = ::std::os::raw::c_int;
774pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
775pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
776pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
777pub type __s128 = i128;
778pub type __u128 = u128;
779pub type __le16 = __u16;
780pub type __be16 = __u16;
781pub type __le32 = __u32;
782pub type __be32 = __u32;
783pub type __le64 = __u64;
784pub type __be64 = __u64;
785pub type __sum16 = __u16;
786pub type __wsum = __u32;
787pub type __poll_t = ::std::os::raw::c_uint;
788#[repr(C)]
789#[derive(Debug, Default, Copy, Clone, PartialEq)]
790#[cfg_attr(
791 feature = "serde",
792 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
793)]
794pub struct kvm_pic_state {
795 pub last_irr: __u8,
796 pub irr: __u8,
797 pub imr: __u8,
798 pub isr: __u8,
799 pub priority_add: __u8,
800 pub irq_base: __u8,
801 pub read_reg_select: __u8,
802 pub poll: __u8,
803 pub special_mask: __u8,
804 pub init_state: __u8,
805 pub auto_eoi: __u8,
806 pub rotate_on_auto_eoi: __u8,
807 pub special_fully_nested_mode: __u8,
808 pub init4: __u8,
809 pub elcr: __u8,
810 pub elcr_mask: __u8,
811}
812#[allow(clippy::unnecessary_operation, clippy::identity_op)]
813const _: () = {
814 ["Size of kvm_pic_state"][::std::mem::size_of::<kvm_pic_state>() - 16usize];
815 ["Alignment of kvm_pic_state"][::std::mem::align_of::<kvm_pic_state>() - 1usize];
816 ["Offset of field: kvm_pic_state::last_irr"]
817 [::std::mem::offset_of!(kvm_pic_state, last_irr) - 0usize];
818 ["Offset of field: kvm_pic_state::irr"][::std::mem::offset_of!(kvm_pic_state, irr) - 1usize];
819 ["Offset of field: kvm_pic_state::imr"][::std::mem::offset_of!(kvm_pic_state, imr) - 2usize];
820 ["Offset of field: kvm_pic_state::isr"][::std::mem::offset_of!(kvm_pic_state, isr) - 3usize];
821 ["Offset of field: kvm_pic_state::priority_add"]
822 [::std::mem::offset_of!(kvm_pic_state, priority_add) - 4usize];
823 ["Offset of field: kvm_pic_state::irq_base"]
824 [::std::mem::offset_of!(kvm_pic_state, irq_base) - 5usize];
825 ["Offset of field: kvm_pic_state::read_reg_select"]
826 [::std::mem::offset_of!(kvm_pic_state, read_reg_select) - 6usize];
827 ["Offset of field: kvm_pic_state::poll"][::std::mem::offset_of!(kvm_pic_state, poll) - 7usize];
828 ["Offset of field: kvm_pic_state::special_mask"]
829 [::std::mem::offset_of!(kvm_pic_state, special_mask) - 8usize];
830 ["Offset of field: kvm_pic_state::init_state"]
831 [::std::mem::offset_of!(kvm_pic_state, init_state) - 9usize];
832 ["Offset of field: kvm_pic_state::auto_eoi"]
833 [::std::mem::offset_of!(kvm_pic_state, auto_eoi) - 10usize];
834 ["Offset of field: kvm_pic_state::rotate_on_auto_eoi"]
835 [::std::mem::offset_of!(kvm_pic_state, rotate_on_auto_eoi) - 11usize];
836 ["Offset of field: kvm_pic_state::special_fully_nested_mode"]
837 [::std::mem::offset_of!(kvm_pic_state, special_fully_nested_mode) - 12usize];
838 ["Offset of field: kvm_pic_state::init4"]
839 [::std::mem::offset_of!(kvm_pic_state, init4) - 13usize];
840 ["Offset of field: kvm_pic_state::elcr"][::std::mem::offset_of!(kvm_pic_state, elcr) - 14usize];
841 ["Offset of field: kvm_pic_state::elcr_mask"]
842 [::std::mem::offset_of!(kvm_pic_state, elcr_mask) - 15usize];
843};
844#[repr(C)]
845#[derive(Copy, Clone)]
846#[cfg_attr(
847 feature = "serde",
848 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
849)]
850pub struct kvm_ioapic_state {
851 pub base_address: __u64,
852 pub ioregsel: __u32,
853 pub id: __u32,
854 pub irr: __u32,
855 pub pad: __u32,
856 pub redirtbl: [kvm_ioapic_state__bindgen_ty_1; 24usize],
857}
858#[repr(C)]
859#[derive(Copy, Clone)]
860#[cfg_attr(
861 feature = "serde",
862 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
863)]
864pub union kvm_ioapic_state__bindgen_ty_1 {
865 pub bits: __u64,
866 pub fields: kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1,
867}
868#[repr(C)]
869#[derive(Debug, Default, Copy, Clone, PartialEq)]
870#[cfg_attr(
871 feature = "serde",
872 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
873)]
874pub struct kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 {
875 pub vector: __u8,
876 pub _bitfield_align_1: [u8; 0],
877 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
878 pub reserved: [__u8; 4usize],
879 pub dest_id: __u8,
880}
881#[allow(clippy::unnecessary_operation, clippy::identity_op)]
882const _: () = {
883 ["Size of kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1"]
884 [::std::mem::size_of::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>() - 8usize];
885 ["Alignment of kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1"]
886 [::std::mem::align_of::<kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1>() - 1usize];
887 ["Offset of field: kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1::vector"]
888 [::std::mem::offset_of!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1, vector) - 0usize];
889 ["Offset of field: kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1::reserved"]
890 [::std::mem::offset_of!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1, reserved) - 3usize];
891 ["Offset of field: kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1::dest_id"]
892 [::std::mem::offset_of!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1, dest_id) - 7usize];
893};
894impl kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 {
895 #[inline]
896 pub fn delivery_mode(&self) -> __u8 {
897 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) }
898 }
899 #[inline]
900 pub fn set_delivery_mode(&mut self, val: __u8) {
901 unsafe {
902 let val: u8 = ::std::mem::transmute(val);
903 self._bitfield_1.set(0usize, 3u8, val as u64)
904 }
905 }
906 #[inline]
907 pub fn dest_mode(&self) -> __u8 {
908 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
909 }
910 #[inline]
911 pub fn set_dest_mode(&mut self, val: __u8) {
912 unsafe {
913 let val: u8 = ::std::mem::transmute(val);
914 self._bitfield_1.set(3usize, 1u8, val as u64)
915 }
916 }
917 #[inline]
918 pub fn delivery_status(&self) -> __u8 {
919 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
920 }
921 #[inline]
922 pub fn set_delivery_status(&mut self, val: __u8) {
923 unsafe {
924 let val: u8 = ::std::mem::transmute(val);
925 self._bitfield_1.set(4usize, 1u8, val as u64)
926 }
927 }
928 #[inline]
929 pub fn polarity(&self) -> __u8 {
930 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
931 }
932 #[inline]
933 pub fn set_polarity(&mut self, val: __u8) {
934 unsafe {
935 let val: u8 = ::std::mem::transmute(val);
936 self._bitfield_1.set(5usize, 1u8, val as u64)
937 }
938 }
939 #[inline]
940 pub fn remote_irr(&self) -> __u8 {
941 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
942 }
943 #[inline]
944 pub fn set_remote_irr(&mut self, val: __u8) {
945 unsafe {
946 let val: u8 = ::std::mem::transmute(val);
947 self._bitfield_1.set(6usize, 1u8, val as u64)
948 }
949 }
950 #[inline]
951 pub fn trig_mode(&self) -> __u8 {
952 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
953 }
954 #[inline]
955 pub fn set_trig_mode(&mut self, val: __u8) {
956 unsafe {
957 let val: u8 = ::std::mem::transmute(val);
958 self._bitfield_1.set(7usize, 1u8, val as u64)
959 }
960 }
961 #[inline]
962 pub fn mask(&self) -> __u8 {
963 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
964 }
965 #[inline]
966 pub fn set_mask(&mut self, val: __u8) {
967 unsafe {
968 let val: u8 = ::std::mem::transmute(val);
969 self._bitfield_1.set(8usize, 1u8, val as u64)
970 }
971 }
972 #[inline]
973 pub fn reserve(&self) -> __u8 {
974 unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 7u8) as u8) }
975 }
976 #[inline]
977 pub fn set_reserve(&mut self, val: __u8) {
978 unsafe {
979 let val: u8 = ::std::mem::transmute(val);
980 self._bitfield_1.set(9usize, 7u8, val as u64)
981 }
982 }
983 #[inline]
984 pub fn new_bitfield_1(
985 delivery_mode: __u8,
986 dest_mode: __u8,
987 delivery_status: __u8,
988 polarity: __u8,
989 remote_irr: __u8,
990 trig_mode: __u8,
991 mask: __u8,
992 reserve: __u8,
993 ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
994 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
995 __bindgen_bitfield_unit.set(0usize, 3u8, {
996 let delivery_mode: u8 = unsafe { ::std::mem::transmute(delivery_mode) };
997 delivery_mode as u64
998 });
999 __bindgen_bitfield_unit.set(3usize, 1u8, {
1000 let dest_mode: u8 = unsafe { ::std::mem::transmute(dest_mode) };
1001 dest_mode as u64
1002 });
1003 __bindgen_bitfield_unit.set(4usize, 1u8, {
1004 let delivery_status: u8 = unsafe { ::std::mem::transmute(delivery_status) };
1005 delivery_status as u64
1006 });
1007 __bindgen_bitfield_unit.set(5usize, 1u8, {
1008 let polarity: u8 = unsafe { ::std::mem::transmute(polarity) };
1009 polarity as u64
1010 });
1011 __bindgen_bitfield_unit.set(6usize, 1u8, {
1012 let remote_irr: u8 = unsafe { ::std::mem::transmute(remote_irr) };
1013 remote_irr as u64
1014 });
1015 __bindgen_bitfield_unit.set(7usize, 1u8, {
1016 let trig_mode: u8 = unsafe { ::std::mem::transmute(trig_mode) };
1017 trig_mode as u64
1018 });
1019 __bindgen_bitfield_unit.set(8usize, 1u8, {
1020 let mask: u8 = unsafe { ::std::mem::transmute(mask) };
1021 mask as u64
1022 });
1023 __bindgen_bitfield_unit.set(9usize, 7u8, {
1024 let reserve: u8 = unsafe { ::std::mem::transmute(reserve) };
1025 reserve as u64
1026 });
1027 __bindgen_bitfield_unit
1028 }
1029}
1030#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1031const _: () = {
1032 ["Size of kvm_ioapic_state__bindgen_ty_1"]
1033 [::std::mem::size_of::<kvm_ioapic_state__bindgen_ty_1>() - 8usize];
1034 ["Alignment of kvm_ioapic_state__bindgen_ty_1"]
1035 [::std::mem::align_of::<kvm_ioapic_state__bindgen_ty_1>() - 8usize];
1036 ["Offset of field: kvm_ioapic_state__bindgen_ty_1::bits"]
1037 [::std::mem::offset_of!(kvm_ioapic_state__bindgen_ty_1, bits) - 0usize];
1038 ["Offset of field: kvm_ioapic_state__bindgen_ty_1::fields"]
1039 [::std::mem::offset_of!(kvm_ioapic_state__bindgen_ty_1, fields) - 0usize];
1040};
1041impl Default for kvm_ioapic_state__bindgen_ty_1 {
1042 fn default() -> Self {
1043 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1044 unsafe {
1045 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1046 s.assume_init()
1047 }
1048 }
1049}
1050impl ::std::fmt::Debug for kvm_ioapic_state__bindgen_ty_1 {
1051 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1052 write!(f, "kvm_ioapic_state__bindgen_ty_1 {{ union }}")
1053 }
1054}
1055#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1056const _: () = {
1057 ["Size of kvm_ioapic_state"][::std::mem::size_of::<kvm_ioapic_state>() - 216usize];
1058 ["Alignment of kvm_ioapic_state"][::std::mem::align_of::<kvm_ioapic_state>() - 8usize];
1059 ["Offset of field: kvm_ioapic_state::base_address"]
1060 [::std::mem::offset_of!(kvm_ioapic_state, base_address) - 0usize];
1061 ["Offset of field: kvm_ioapic_state::ioregsel"]
1062 [::std::mem::offset_of!(kvm_ioapic_state, ioregsel) - 8usize];
1063 ["Offset of field: kvm_ioapic_state::id"]
1064 [::std::mem::offset_of!(kvm_ioapic_state, id) - 12usize];
1065 ["Offset of field: kvm_ioapic_state::irr"]
1066 [::std::mem::offset_of!(kvm_ioapic_state, irr) - 16usize];
1067 ["Offset of field: kvm_ioapic_state::pad"]
1068 [::std::mem::offset_of!(kvm_ioapic_state, pad) - 20usize];
1069 ["Offset of field: kvm_ioapic_state::redirtbl"]
1070 [::std::mem::offset_of!(kvm_ioapic_state, redirtbl) - 24usize];
1071};
1072impl Default for kvm_ioapic_state {
1073 fn default() -> Self {
1074 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1075 unsafe {
1076 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1077 s.assume_init()
1078 }
1079 }
1080}
1081impl ::std::fmt::Debug for kvm_ioapic_state {
1082 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1083 write ! (f , "kvm_ioapic_state {{ base_address: {:?}, ioregsel: {:?}, id: {:?}, irr: {:?}, pad: {:?}, redirtbl: {:?} }}" , self . base_address , self . ioregsel , self . id , self . irr , self . pad , self . redirtbl)
1084 }
1085}
1086#[repr(C)]
1087#[derive(Debug, Default, Copy, Clone, PartialEq)]
1088#[cfg_attr(
1089 feature = "serde",
1090 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1091)]
1092pub struct kvm_regs {
1093 pub rax: __u64,
1094 pub rbx: __u64,
1095 pub rcx: __u64,
1096 pub rdx: __u64,
1097 pub rsi: __u64,
1098 pub rdi: __u64,
1099 pub rsp: __u64,
1100 pub rbp: __u64,
1101 pub r8: __u64,
1102 pub r9: __u64,
1103 pub r10: __u64,
1104 pub r11: __u64,
1105 pub r12: __u64,
1106 pub r13: __u64,
1107 pub r14: __u64,
1108 pub r15: __u64,
1109 pub rip: __u64,
1110 pub rflags: __u64,
1111}
1112#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1113const _: () = {
1114 ["Size of kvm_regs"][::std::mem::size_of::<kvm_regs>() - 144usize];
1115 ["Alignment of kvm_regs"][::std::mem::align_of::<kvm_regs>() - 8usize];
1116 ["Offset of field: kvm_regs::rax"][::std::mem::offset_of!(kvm_regs, rax) - 0usize];
1117 ["Offset of field: kvm_regs::rbx"][::std::mem::offset_of!(kvm_regs, rbx) - 8usize];
1118 ["Offset of field: kvm_regs::rcx"][::std::mem::offset_of!(kvm_regs, rcx) - 16usize];
1119 ["Offset of field: kvm_regs::rdx"][::std::mem::offset_of!(kvm_regs, rdx) - 24usize];
1120 ["Offset of field: kvm_regs::rsi"][::std::mem::offset_of!(kvm_regs, rsi) - 32usize];
1121 ["Offset of field: kvm_regs::rdi"][::std::mem::offset_of!(kvm_regs, rdi) - 40usize];
1122 ["Offset of field: kvm_regs::rsp"][::std::mem::offset_of!(kvm_regs, rsp) - 48usize];
1123 ["Offset of field: kvm_regs::rbp"][::std::mem::offset_of!(kvm_regs, rbp) - 56usize];
1124 ["Offset of field: kvm_regs::r8"][::std::mem::offset_of!(kvm_regs, r8) - 64usize];
1125 ["Offset of field: kvm_regs::r9"][::std::mem::offset_of!(kvm_regs, r9) - 72usize];
1126 ["Offset of field: kvm_regs::r10"][::std::mem::offset_of!(kvm_regs, r10) - 80usize];
1127 ["Offset of field: kvm_regs::r11"][::std::mem::offset_of!(kvm_regs, r11) - 88usize];
1128 ["Offset of field: kvm_regs::r12"][::std::mem::offset_of!(kvm_regs, r12) - 96usize];
1129 ["Offset of field: kvm_regs::r13"][::std::mem::offset_of!(kvm_regs, r13) - 104usize];
1130 ["Offset of field: kvm_regs::r14"][::std::mem::offset_of!(kvm_regs, r14) - 112usize];
1131 ["Offset of field: kvm_regs::r15"][::std::mem::offset_of!(kvm_regs, r15) - 120usize];
1132 ["Offset of field: kvm_regs::rip"][::std::mem::offset_of!(kvm_regs, rip) - 128usize];
1133 ["Offset of field: kvm_regs::rflags"][::std::mem::offset_of!(kvm_regs, rflags) - 136usize];
1134};
1135#[repr(C)]
1136#[derive(Debug, Copy, Clone, PartialEq)]
1137#[cfg_attr(
1138 feature = "serde",
1139 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1140)]
1141pub struct kvm_lapic_state {
1142 pub regs: [::std::os::raw::c_char; 1024usize],
1143}
1144#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1145const _: () = {
1146 ["Size of kvm_lapic_state"][::std::mem::size_of::<kvm_lapic_state>() - 1024usize];
1147 ["Alignment of kvm_lapic_state"][::std::mem::align_of::<kvm_lapic_state>() - 1usize];
1148 ["Offset of field: kvm_lapic_state::regs"]
1149 [::std::mem::offset_of!(kvm_lapic_state, regs) - 0usize];
1150};
1151impl Default for kvm_lapic_state {
1152 fn default() -> Self {
1153 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1154 unsafe {
1155 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1156 s.assume_init()
1157 }
1158 }
1159}
1160#[repr(C)]
1161#[derive(Debug, Default, Copy, Clone, PartialEq)]
1162#[cfg_attr(
1163 feature = "serde",
1164 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1165)]
1166pub struct kvm_segment {
1167 pub base: __u64,
1168 pub limit: __u32,
1169 pub selector: __u16,
1170 pub type_: __u8,
1171 pub present: __u8,
1172 pub dpl: __u8,
1173 pub db: __u8,
1174 pub s: __u8,
1175 pub l: __u8,
1176 pub g: __u8,
1177 pub avl: __u8,
1178 pub unusable: __u8,
1179 pub padding: __u8,
1180}
1181#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1182const _: () = {
1183 ["Size of kvm_segment"][::std::mem::size_of::<kvm_segment>() - 24usize];
1184 ["Alignment of kvm_segment"][::std::mem::align_of::<kvm_segment>() - 8usize];
1185 ["Offset of field: kvm_segment::base"][::std::mem::offset_of!(kvm_segment, base) - 0usize];
1186 ["Offset of field: kvm_segment::limit"][::std::mem::offset_of!(kvm_segment, limit) - 8usize];
1187 ["Offset of field: kvm_segment::selector"]
1188 [::std::mem::offset_of!(kvm_segment, selector) - 12usize];
1189 ["Offset of field: kvm_segment::type_"][::std::mem::offset_of!(kvm_segment, type_) - 14usize];
1190 ["Offset of field: kvm_segment::present"]
1191 [::std::mem::offset_of!(kvm_segment, present) - 15usize];
1192 ["Offset of field: kvm_segment::dpl"][::std::mem::offset_of!(kvm_segment, dpl) - 16usize];
1193 ["Offset of field: kvm_segment::db"][::std::mem::offset_of!(kvm_segment, db) - 17usize];
1194 ["Offset of field: kvm_segment::s"][::std::mem::offset_of!(kvm_segment, s) - 18usize];
1195 ["Offset of field: kvm_segment::l"][::std::mem::offset_of!(kvm_segment, l) - 19usize];
1196 ["Offset of field: kvm_segment::g"][::std::mem::offset_of!(kvm_segment, g) - 20usize];
1197 ["Offset of field: kvm_segment::avl"][::std::mem::offset_of!(kvm_segment, avl) - 21usize];
1198 ["Offset of field: kvm_segment::unusable"]
1199 [::std::mem::offset_of!(kvm_segment, unusable) - 22usize];
1200 ["Offset of field: kvm_segment::padding"]
1201 [::std::mem::offset_of!(kvm_segment, padding) - 23usize];
1202};
1203#[repr(C)]
1204#[derive(Debug, Default, Copy, Clone, PartialEq)]
1205#[cfg_attr(
1206 feature = "serde",
1207 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1208)]
1209pub struct kvm_dtable {
1210 pub base: __u64,
1211 pub limit: __u16,
1212 pub padding: [__u16; 3usize],
1213}
1214#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1215const _: () = {
1216 ["Size of kvm_dtable"][::std::mem::size_of::<kvm_dtable>() - 16usize];
1217 ["Alignment of kvm_dtable"][::std::mem::align_of::<kvm_dtable>() - 8usize];
1218 ["Offset of field: kvm_dtable::base"][::std::mem::offset_of!(kvm_dtable, base) - 0usize];
1219 ["Offset of field: kvm_dtable::limit"][::std::mem::offset_of!(kvm_dtable, limit) - 8usize];
1220 ["Offset of field: kvm_dtable::padding"][::std::mem::offset_of!(kvm_dtable, padding) - 10usize];
1221};
1222#[repr(C)]
1223#[derive(Debug, Default, Copy, Clone, PartialEq)]
1224#[cfg_attr(
1225 feature = "serde",
1226 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1227)]
1228pub struct kvm_sregs {
1229 pub cs: kvm_segment,
1230 pub ds: kvm_segment,
1231 pub es: kvm_segment,
1232 pub fs: kvm_segment,
1233 pub gs: kvm_segment,
1234 pub ss: kvm_segment,
1235 pub tr: kvm_segment,
1236 pub ldt: kvm_segment,
1237 pub gdt: kvm_dtable,
1238 pub idt: kvm_dtable,
1239 pub cr0: __u64,
1240 pub cr2: __u64,
1241 pub cr3: __u64,
1242 pub cr4: __u64,
1243 pub cr8: __u64,
1244 pub efer: __u64,
1245 pub apic_base: __u64,
1246 pub interrupt_bitmap: [__u64; 4usize],
1247}
1248#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1249const _: () = {
1250 ["Size of kvm_sregs"][::std::mem::size_of::<kvm_sregs>() - 312usize];
1251 ["Alignment of kvm_sregs"][::std::mem::align_of::<kvm_sregs>() - 8usize];
1252 ["Offset of field: kvm_sregs::cs"][::std::mem::offset_of!(kvm_sregs, cs) - 0usize];
1253 ["Offset of field: kvm_sregs::ds"][::std::mem::offset_of!(kvm_sregs, ds) - 24usize];
1254 ["Offset of field: kvm_sregs::es"][::std::mem::offset_of!(kvm_sregs, es) - 48usize];
1255 ["Offset of field: kvm_sregs::fs"][::std::mem::offset_of!(kvm_sregs, fs) - 72usize];
1256 ["Offset of field: kvm_sregs::gs"][::std::mem::offset_of!(kvm_sregs, gs) - 96usize];
1257 ["Offset of field: kvm_sregs::ss"][::std::mem::offset_of!(kvm_sregs, ss) - 120usize];
1258 ["Offset of field: kvm_sregs::tr"][::std::mem::offset_of!(kvm_sregs, tr) - 144usize];
1259 ["Offset of field: kvm_sregs::ldt"][::std::mem::offset_of!(kvm_sregs, ldt) - 168usize];
1260 ["Offset of field: kvm_sregs::gdt"][::std::mem::offset_of!(kvm_sregs, gdt) - 192usize];
1261 ["Offset of field: kvm_sregs::idt"][::std::mem::offset_of!(kvm_sregs, idt) - 208usize];
1262 ["Offset of field: kvm_sregs::cr0"][::std::mem::offset_of!(kvm_sregs, cr0) - 224usize];
1263 ["Offset of field: kvm_sregs::cr2"][::std::mem::offset_of!(kvm_sregs, cr2) - 232usize];
1264 ["Offset of field: kvm_sregs::cr3"][::std::mem::offset_of!(kvm_sregs, cr3) - 240usize];
1265 ["Offset of field: kvm_sregs::cr4"][::std::mem::offset_of!(kvm_sregs, cr4) - 248usize];
1266 ["Offset of field: kvm_sregs::cr8"][::std::mem::offset_of!(kvm_sregs, cr8) - 256usize];
1267 ["Offset of field: kvm_sregs::efer"][::std::mem::offset_of!(kvm_sregs, efer) - 264usize];
1268 ["Offset of field: kvm_sregs::apic_base"]
1269 [::std::mem::offset_of!(kvm_sregs, apic_base) - 272usize];
1270 ["Offset of field: kvm_sregs::interrupt_bitmap"]
1271 [::std::mem::offset_of!(kvm_sregs, interrupt_bitmap) - 280usize];
1272};
1273#[repr(C)]
1274#[derive(Debug, Default, Copy, Clone, PartialEq)]
1275pub struct kvm_sregs2 {
1276 pub cs: kvm_segment,
1277 pub ds: kvm_segment,
1278 pub es: kvm_segment,
1279 pub fs: kvm_segment,
1280 pub gs: kvm_segment,
1281 pub ss: kvm_segment,
1282 pub tr: kvm_segment,
1283 pub ldt: kvm_segment,
1284 pub gdt: kvm_dtable,
1285 pub idt: kvm_dtable,
1286 pub cr0: __u64,
1287 pub cr2: __u64,
1288 pub cr3: __u64,
1289 pub cr4: __u64,
1290 pub cr8: __u64,
1291 pub efer: __u64,
1292 pub apic_base: __u64,
1293 pub flags: __u64,
1294 pub pdptrs: [__u64; 4usize],
1295}
1296#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1297const _: () = {
1298 ["Size of kvm_sregs2"][::std::mem::size_of::<kvm_sregs2>() - 320usize];
1299 ["Alignment of kvm_sregs2"][::std::mem::align_of::<kvm_sregs2>() - 8usize];
1300 ["Offset of field: kvm_sregs2::cs"][::std::mem::offset_of!(kvm_sregs2, cs) - 0usize];
1301 ["Offset of field: kvm_sregs2::ds"][::std::mem::offset_of!(kvm_sregs2, ds) - 24usize];
1302 ["Offset of field: kvm_sregs2::es"][::std::mem::offset_of!(kvm_sregs2, es) - 48usize];
1303 ["Offset of field: kvm_sregs2::fs"][::std::mem::offset_of!(kvm_sregs2, fs) - 72usize];
1304 ["Offset of field: kvm_sregs2::gs"][::std::mem::offset_of!(kvm_sregs2, gs) - 96usize];
1305 ["Offset of field: kvm_sregs2::ss"][::std::mem::offset_of!(kvm_sregs2, ss) - 120usize];
1306 ["Offset of field: kvm_sregs2::tr"][::std::mem::offset_of!(kvm_sregs2, tr) - 144usize];
1307 ["Offset of field: kvm_sregs2::ldt"][::std::mem::offset_of!(kvm_sregs2, ldt) - 168usize];
1308 ["Offset of field: kvm_sregs2::gdt"][::std::mem::offset_of!(kvm_sregs2, gdt) - 192usize];
1309 ["Offset of field: kvm_sregs2::idt"][::std::mem::offset_of!(kvm_sregs2, idt) - 208usize];
1310 ["Offset of field: kvm_sregs2::cr0"][::std::mem::offset_of!(kvm_sregs2, cr0) - 224usize];
1311 ["Offset of field: kvm_sregs2::cr2"][::std::mem::offset_of!(kvm_sregs2, cr2) - 232usize];
1312 ["Offset of field: kvm_sregs2::cr3"][::std::mem::offset_of!(kvm_sregs2, cr3) - 240usize];
1313 ["Offset of field: kvm_sregs2::cr4"][::std::mem::offset_of!(kvm_sregs2, cr4) - 248usize];
1314 ["Offset of field: kvm_sregs2::cr8"][::std::mem::offset_of!(kvm_sregs2, cr8) - 256usize];
1315 ["Offset of field: kvm_sregs2::efer"][::std::mem::offset_of!(kvm_sregs2, efer) - 264usize];
1316 ["Offset of field: kvm_sregs2::apic_base"]
1317 [::std::mem::offset_of!(kvm_sregs2, apic_base) - 272usize];
1318 ["Offset of field: kvm_sregs2::flags"][::std::mem::offset_of!(kvm_sregs2, flags) - 280usize];
1319 ["Offset of field: kvm_sregs2::pdptrs"][::std::mem::offset_of!(kvm_sregs2, pdptrs) - 288usize];
1320};
1321#[repr(C)]
1322#[derive(Debug, Default, Copy, Clone, PartialEq)]
1323pub struct kvm_fpu {
1324 pub fpr: [[__u8; 16usize]; 8usize],
1325 pub fcw: __u16,
1326 pub fsw: __u16,
1327 pub ftwx: __u8,
1328 pub pad1: __u8,
1329 pub last_opcode: __u16,
1330 pub last_ip: __u64,
1331 pub last_dp: __u64,
1332 pub xmm: [[__u8; 16usize]; 16usize],
1333 pub mxcsr: __u32,
1334 pub pad2: __u32,
1335}
1336#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1337const _: () = {
1338 ["Size of kvm_fpu"][::std::mem::size_of::<kvm_fpu>() - 416usize];
1339 ["Alignment of kvm_fpu"][::std::mem::align_of::<kvm_fpu>() - 8usize];
1340 ["Offset of field: kvm_fpu::fpr"][::std::mem::offset_of!(kvm_fpu, fpr) - 0usize];
1341 ["Offset of field: kvm_fpu::fcw"][::std::mem::offset_of!(kvm_fpu, fcw) - 128usize];
1342 ["Offset of field: kvm_fpu::fsw"][::std::mem::offset_of!(kvm_fpu, fsw) - 130usize];
1343 ["Offset of field: kvm_fpu::ftwx"][::std::mem::offset_of!(kvm_fpu, ftwx) - 132usize];
1344 ["Offset of field: kvm_fpu::pad1"][::std::mem::offset_of!(kvm_fpu, pad1) - 133usize];
1345 ["Offset of field: kvm_fpu::last_opcode"]
1346 [::std::mem::offset_of!(kvm_fpu, last_opcode) - 134usize];
1347 ["Offset of field: kvm_fpu::last_ip"][::std::mem::offset_of!(kvm_fpu, last_ip) - 136usize];
1348 ["Offset of field: kvm_fpu::last_dp"][::std::mem::offset_of!(kvm_fpu, last_dp) - 144usize];
1349 ["Offset of field: kvm_fpu::xmm"][::std::mem::offset_of!(kvm_fpu, xmm) - 152usize];
1350 ["Offset of field: kvm_fpu::mxcsr"][::std::mem::offset_of!(kvm_fpu, mxcsr) - 408usize];
1351 ["Offset of field: kvm_fpu::pad2"][::std::mem::offset_of!(kvm_fpu, pad2) - 412usize];
1352};
1353#[repr(C)]
1354#[derive(Debug, Default, Copy, Clone, PartialEq)]
1355#[cfg_attr(
1356 feature = "serde",
1357 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1358)]
1359pub struct kvm_msr_entry {
1360 pub index: __u32,
1361 pub reserved: __u32,
1362 pub data: __u64,
1363}
1364#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1365const _: () = {
1366 ["Size of kvm_msr_entry"][::std::mem::size_of::<kvm_msr_entry>() - 16usize];
1367 ["Alignment of kvm_msr_entry"][::std::mem::align_of::<kvm_msr_entry>() - 8usize];
1368 ["Offset of field: kvm_msr_entry::index"]
1369 [::std::mem::offset_of!(kvm_msr_entry, index) - 0usize];
1370 ["Offset of field: kvm_msr_entry::reserved"]
1371 [::std::mem::offset_of!(kvm_msr_entry, reserved) - 4usize];
1372 ["Offset of field: kvm_msr_entry::data"][::std::mem::offset_of!(kvm_msr_entry, data) - 8usize];
1373};
1374#[repr(C)]
1375#[derive(Debug, Default)]
1376#[cfg_attr(
1377 feature = "serde",
1378 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1379)]
1380pub struct kvm_msrs {
1381 pub nmsrs: __u32,
1382 pub pad: __u32,
1383 pub entries: __IncompleteArrayField<kvm_msr_entry>,
1384}
1385#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1386const _: () = {
1387 ["Size of kvm_msrs"][::std::mem::size_of::<kvm_msrs>() - 8usize];
1388 ["Alignment of kvm_msrs"][::std::mem::align_of::<kvm_msrs>() - 8usize];
1389 ["Offset of field: kvm_msrs::nmsrs"][::std::mem::offset_of!(kvm_msrs, nmsrs) - 0usize];
1390 ["Offset of field: kvm_msrs::pad"][::std::mem::offset_of!(kvm_msrs, pad) - 4usize];
1391 ["Offset of field: kvm_msrs::entries"][::std::mem::offset_of!(kvm_msrs, entries) - 8usize];
1392};
1393#[repr(C)]
1394#[derive(Debug, Default)]
1395pub struct kvm_msr_list {
1396 pub nmsrs: __u32,
1397 pub indices: __IncompleteArrayField<__u32>,
1398}
1399#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1400const _: () = {
1401 ["Size of kvm_msr_list"][::std::mem::size_of::<kvm_msr_list>() - 4usize];
1402 ["Alignment of kvm_msr_list"][::std::mem::align_of::<kvm_msr_list>() - 4usize];
1403 ["Offset of field: kvm_msr_list::nmsrs"][::std::mem::offset_of!(kvm_msr_list, nmsrs) - 0usize];
1404 ["Offset of field: kvm_msr_list::indices"]
1405 [::std::mem::offset_of!(kvm_msr_list, indices) - 4usize];
1406};
1407#[repr(C)]
1408#[derive(Debug, Copy, Clone, PartialEq)]
1409pub struct kvm_msr_filter_range {
1410 pub flags: __u32,
1411 pub nmsrs: __u32,
1412 pub base: __u32,
1413 pub bitmap: *mut __u8,
1414}
1415#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1416const _: () = {
1417 ["Size of kvm_msr_filter_range"][::std::mem::size_of::<kvm_msr_filter_range>() - 24usize];
1418 ["Alignment of kvm_msr_filter_range"][::std::mem::align_of::<kvm_msr_filter_range>() - 8usize];
1419 ["Offset of field: kvm_msr_filter_range::flags"]
1420 [::std::mem::offset_of!(kvm_msr_filter_range, flags) - 0usize];
1421 ["Offset of field: kvm_msr_filter_range::nmsrs"]
1422 [::std::mem::offset_of!(kvm_msr_filter_range, nmsrs) - 4usize];
1423 ["Offset of field: kvm_msr_filter_range::base"]
1424 [::std::mem::offset_of!(kvm_msr_filter_range, base) - 8usize];
1425 ["Offset of field: kvm_msr_filter_range::bitmap"]
1426 [::std::mem::offset_of!(kvm_msr_filter_range, bitmap) - 16usize];
1427};
1428impl Default for kvm_msr_filter_range {
1429 fn default() -> Self {
1430 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1431 unsafe {
1432 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1433 s.assume_init()
1434 }
1435 }
1436}
1437#[repr(C)]
1438#[derive(Debug, Copy, Clone, PartialEq)]
1439pub struct kvm_msr_filter {
1440 pub flags: __u32,
1441 pub ranges: [kvm_msr_filter_range; 16usize],
1442}
1443#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1444const _: () = {
1445 ["Size of kvm_msr_filter"][::std::mem::size_of::<kvm_msr_filter>() - 392usize];
1446 ["Alignment of kvm_msr_filter"][::std::mem::align_of::<kvm_msr_filter>() - 8usize];
1447 ["Offset of field: kvm_msr_filter::flags"]
1448 [::std::mem::offset_of!(kvm_msr_filter, flags) - 0usize];
1449 ["Offset of field: kvm_msr_filter::ranges"]
1450 [::std::mem::offset_of!(kvm_msr_filter, ranges) - 8usize];
1451};
1452impl Default for kvm_msr_filter {
1453 fn default() -> Self {
1454 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1455 unsafe {
1456 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1457 s.assume_init()
1458 }
1459 }
1460}
1461#[repr(C)]
1462#[derive(Debug, Default, Copy, Clone, PartialEq)]
1463pub struct kvm_cpuid_entry {
1464 pub function: __u32,
1465 pub eax: __u32,
1466 pub ebx: __u32,
1467 pub ecx: __u32,
1468 pub edx: __u32,
1469 pub padding: __u32,
1470}
1471#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1472const _: () = {
1473 ["Size of kvm_cpuid_entry"][::std::mem::size_of::<kvm_cpuid_entry>() - 24usize];
1474 ["Alignment of kvm_cpuid_entry"][::std::mem::align_of::<kvm_cpuid_entry>() - 4usize];
1475 ["Offset of field: kvm_cpuid_entry::function"]
1476 [::std::mem::offset_of!(kvm_cpuid_entry, function) - 0usize];
1477 ["Offset of field: kvm_cpuid_entry::eax"]
1478 [::std::mem::offset_of!(kvm_cpuid_entry, eax) - 4usize];
1479 ["Offset of field: kvm_cpuid_entry::ebx"]
1480 [::std::mem::offset_of!(kvm_cpuid_entry, ebx) - 8usize];
1481 ["Offset of field: kvm_cpuid_entry::ecx"]
1482 [::std::mem::offset_of!(kvm_cpuid_entry, ecx) - 12usize];
1483 ["Offset of field: kvm_cpuid_entry::edx"]
1484 [::std::mem::offset_of!(kvm_cpuid_entry, edx) - 16usize];
1485 ["Offset of field: kvm_cpuid_entry::padding"]
1486 [::std::mem::offset_of!(kvm_cpuid_entry, padding) - 20usize];
1487};
1488#[repr(C)]
1489#[derive(Debug, Default)]
1490pub struct kvm_cpuid {
1491 pub nent: __u32,
1492 pub padding: __u32,
1493 pub entries: __IncompleteArrayField<kvm_cpuid_entry>,
1494}
1495#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1496const _: () = {
1497 ["Size of kvm_cpuid"][::std::mem::size_of::<kvm_cpuid>() - 8usize];
1498 ["Alignment of kvm_cpuid"][::std::mem::align_of::<kvm_cpuid>() - 4usize];
1499 ["Offset of field: kvm_cpuid::nent"][::std::mem::offset_of!(kvm_cpuid, nent) - 0usize];
1500 ["Offset of field: kvm_cpuid::padding"][::std::mem::offset_of!(kvm_cpuid, padding) - 4usize];
1501 ["Offset of field: kvm_cpuid::entries"][::std::mem::offset_of!(kvm_cpuid, entries) - 8usize];
1502};
1503#[repr(C)]
1504#[derive(Debug, Default, Copy, Clone, PartialEq)]
1505#[cfg_attr(
1506 feature = "serde",
1507 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1508)]
1509pub struct kvm_cpuid_entry2 {
1510 pub function: __u32,
1511 pub index: __u32,
1512 pub flags: __u32,
1513 pub eax: __u32,
1514 pub ebx: __u32,
1515 pub ecx: __u32,
1516 pub edx: __u32,
1517 pub padding: [__u32; 3usize],
1518}
1519#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1520const _: () = {
1521 ["Size of kvm_cpuid_entry2"][::std::mem::size_of::<kvm_cpuid_entry2>() - 40usize];
1522 ["Alignment of kvm_cpuid_entry2"][::std::mem::align_of::<kvm_cpuid_entry2>() - 4usize];
1523 ["Offset of field: kvm_cpuid_entry2::function"]
1524 [::std::mem::offset_of!(kvm_cpuid_entry2, function) - 0usize];
1525 ["Offset of field: kvm_cpuid_entry2::index"]
1526 [::std::mem::offset_of!(kvm_cpuid_entry2, index) - 4usize];
1527 ["Offset of field: kvm_cpuid_entry2::flags"]
1528 [::std::mem::offset_of!(kvm_cpuid_entry2, flags) - 8usize];
1529 ["Offset of field: kvm_cpuid_entry2::eax"]
1530 [::std::mem::offset_of!(kvm_cpuid_entry2, eax) - 12usize];
1531 ["Offset of field: kvm_cpuid_entry2::ebx"]
1532 [::std::mem::offset_of!(kvm_cpuid_entry2, ebx) - 16usize];
1533 ["Offset of field: kvm_cpuid_entry2::ecx"]
1534 [::std::mem::offset_of!(kvm_cpuid_entry2, ecx) - 20usize];
1535 ["Offset of field: kvm_cpuid_entry2::edx"]
1536 [::std::mem::offset_of!(kvm_cpuid_entry2, edx) - 24usize];
1537 ["Offset of field: kvm_cpuid_entry2::padding"]
1538 [::std::mem::offset_of!(kvm_cpuid_entry2, padding) - 28usize];
1539};
1540#[repr(C)]
1541#[derive(Debug, Default)]
1542#[cfg_attr(
1543 feature = "serde",
1544 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1545)]
1546pub struct kvm_cpuid2 {
1547 pub nent: __u32,
1548 pub padding: __u32,
1549 pub entries: __IncompleteArrayField<kvm_cpuid_entry2>,
1550}
1551#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1552const _: () = {
1553 ["Size of kvm_cpuid2"][::std::mem::size_of::<kvm_cpuid2>() - 8usize];
1554 ["Alignment of kvm_cpuid2"][::std::mem::align_of::<kvm_cpuid2>() - 4usize];
1555 ["Offset of field: kvm_cpuid2::nent"][::std::mem::offset_of!(kvm_cpuid2, nent) - 0usize];
1556 ["Offset of field: kvm_cpuid2::padding"][::std::mem::offset_of!(kvm_cpuid2, padding) - 4usize];
1557 ["Offset of field: kvm_cpuid2::entries"][::std::mem::offset_of!(kvm_cpuid2, entries) - 8usize];
1558};
1559#[repr(C)]
1560#[derive(Debug, Default, Copy, Clone, PartialEq)]
1561#[cfg_attr(
1562 feature = "serde",
1563 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1564)]
1565pub struct kvm_pit_channel_state {
1566 pub count: __u32,
1567 pub latched_count: __u16,
1568 pub count_latched: __u8,
1569 pub status_latched: __u8,
1570 pub status: __u8,
1571 pub read_state: __u8,
1572 pub write_state: __u8,
1573 pub write_latch: __u8,
1574 pub rw_mode: __u8,
1575 pub mode: __u8,
1576 pub bcd: __u8,
1577 pub gate: __u8,
1578 pub count_load_time: __s64,
1579}
1580#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1581const _: () = {
1582 ["Size of kvm_pit_channel_state"][::std::mem::size_of::<kvm_pit_channel_state>() - 24usize];
1583 ["Alignment of kvm_pit_channel_state"]
1584 [::std::mem::align_of::<kvm_pit_channel_state>() - 8usize];
1585 ["Offset of field: kvm_pit_channel_state::count"]
1586 [::std::mem::offset_of!(kvm_pit_channel_state, count) - 0usize];
1587 ["Offset of field: kvm_pit_channel_state::latched_count"]
1588 [::std::mem::offset_of!(kvm_pit_channel_state, latched_count) - 4usize];
1589 ["Offset of field: kvm_pit_channel_state::count_latched"]
1590 [::std::mem::offset_of!(kvm_pit_channel_state, count_latched) - 6usize];
1591 ["Offset of field: kvm_pit_channel_state::status_latched"]
1592 [::std::mem::offset_of!(kvm_pit_channel_state, status_latched) - 7usize];
1593 ["Offset of field: kvm_pit_channel_state::status"]
1594 [::std::mem::offset_of!(kvm_pit_channel_state, status) - 8usize];
1595 ["Offset of field: kvm_pit_channel_state::read_state"]
1596 [::std::mem::offset_of!(kvm_pit_channel_state, read_state) - 9usize];
1597 ["Offset of field: kvm_pit_channel_state::write_state"]
1598 [::std::mem::offset_of!(kvm_pit_channel_state, write_state) - 10usize];
1599 ["Offset of field: kvm_pit_channel_state::write_latch"]
1600 [::std::mem::offset_of!(kvm_pit_channel_state, write_latch) - 11usize];
1601 ["Offset of field: kvm_pit_channel_state::rw_mode"]
1602 [::std::mem::offset_of!(kvm_pit_channel_state, rw_mode) - 12usize];
1603 ["Offset of field: kvm_pit_channel_state::mode"]
1604 [::std::mem::offset_of!(kvm_pit_channel_state, mode) - 13usize];
1605 ["Offset of field: kvm_pit_channel_state::bcd"]
1606 [::std::mem::offset_of!(kvm_pit_channel_state, bcd) - 14usize];
1607 ["Offset of field: kvm_pit_channel_state::gate"]
1608 [::std::mem::offset_of!(kvm_pit_channel_state, gate) - 15usize];
1609 ["Offset of field: kvm_pit_channel_state::count_load_time"]
1610 [::std::mem::offset_of!(kvm_pit_channel_state, count_load_time) - 16usize];
1611};
1612#[repr(C)]
1613#[derive(Debug, Default, Copy, Clone, PartialEq)]
1614pub struct kvm_debug_exit_arch {
1615 pub exception: __u32,
1616 pub pad: __u32,
1617 pub pc: __u64,
1618 pub dr6: __u64,
1619 pub dr7: __u64,
1620}
1621#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1622const _: () = {
1623 ["Size of kvm_debug_exit_arch"][::std::mem::size_of::<kvm_debug_exit_arch>() - 32usize];
1624 ["Alignment of kvm_debug_exit_arch"][::std::mem::align_of::<kvm_debug_exit_arch>() - 8usize];
1625 ["Offset of field: kvm_debug_exit_arch::exception"]
1626 [::std::mem::offset_of!(kvm_debug_exit_arch, exception) - 0usize];
1627 ["Offset of field: kvm_debug_exit_arch::pad"]
1628 [::std::mem::offset_of!(kvm_debug_exit_arch, pad) - 4usize];
1629 ["Offset of field: kvm_debug_exit_arch::pc"]
1630 [::std::mem::offset_of!(kvm_debug_exit_arch, pc) - 8usize];
1631 ["Offset of field: kvm_debug_exit_arch::dr6"]
1632 [::std::mem::offset_of!(kvm_debug_exit_arch, dr6) - 16usize];
1633 ["Offset of field: kvm_debug_exit_arch::dr7"]
1634 [::std::mem::offset_of!(kvm_debug_exit_arch, dr7) - 24usize];
1635};
1636#[repr(C)]
1637#[derive(Debug, Default, Copy, Clone, PartialEq)]
1638pub struct kvm_guest_debug_arch {
1639 pub debugreg: [__u64; 8usize],
1640}
1641#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1642const _: () = {
1643 ["Size of kvm_guest_debug_arch"][::std::mem::size_of::<kvm_guest_debug_arch>() - 64usize];
1644 ["Alignment of kvm_guest_debug_arch"][::std::mem::align_of::<kvm_guest_debug_arch>() - 8usize];
1645 ["Offset of field: kvm_guest_debug_arch::debugreg"]
1646 [::std::mem::offset_of!(kvm_guest_debug_arch, debugreg) - 0usize];
1647};
1648#[repr(C)]
1649#[derive(Debug, Default, Copy, Clone, PartialEq)]
1650pub struct kvm_pit_state {
1651 pub channels: [kvm_pit_channel_state; 3usize],
1652}
1653#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1654const _: () = {
1655 ["Size of kvm_pit_state"][::std::mem::size_of::<kvm_pit_state>() - 72usize];
1656 ["Alignment of kvm_pit_state"][::std::mem::align_of::<kvm_pit_state>() - 8usize];
1657 ["Offset of field: kvm_pit_state::channels"]
1658 [::std::mem::offset_of!(kvm_pit_state, channels) - 0usize];
1659};
1660#[repr(C)]
1661#[derive(Debug, Default, Copy, Clone, PartialEq)]
1662#[cfg_attr(
1663 feature = "serde",
1664 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1665)]
1666pub struct kvm_pit_state2 {
1667 pub channels: [kvm_pit_channel_state; 3usize],
1668 pub flags: __u32,
1669 pub reserved: [__u32; 9usize],
1670}
1671#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1672const _: () = {
1673 ["Size of kvm_pit_state2"][::std::mem::size_of::<kvm_pit_state2>() - 112usize];
1674 ["Alignment of kvm_pit_state2"][::std::mem::align_of::<kvm_pit_state2>() - 8usize];
1675 ["Offset of field: kvm_pit_state2::channels"]
1676 [::std::mem::offset_of!(kvm_pit_state2, channels) - 0usize];
1677 ["Offset of field: kvm_pit_state2::flags"]
1678 [::std::mem::offset_of!(kvm_pit_state2, flags) - 72usize];
1679 ["Offset of field: kvm_pit_state2::reserved"]
1680 [::std::mem::offset_of!(kvm_pit_state2, reserved) - 76usize];
1681};
1682#[repr(C)]
1683#[derive(Debug, Default, Copy, Clone, PartialEq)]
1684pub struct kvm_reinject_control {
1685 pub pit_reinject: __u8,
1686 pub reserved: [__u8; 31usize],
1687}
1688#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1689const _: () = {
1690 ["Size of kvm_reinject_control"][::std::mem::size_of::<kvm_reinject_control>() - 32usize];
1691 ["Alignment of kvm_reinject_control"][::std::mem::align_of::<kvm_reinject_control>() - 1usize];
1692 ["Offset of field: kvm_reinject_control::pit_reinject"]
1693 [::std::mem::offset_of!(kvm_reinject_control, pit_reinject) - 0usize];
1694 ["Offset of field: kvm_reinject_control::reserved"]
1695 [::std::mem::offset_of!(kvm_reinject_control, reserved) - 1usize];
1696};
1697#[repr(C)]
1698#[derive(Debug, Default, Copy, Clone, PartialEq)]
1699#[cfg_attr(
1700 feature = "serde",
1701 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1702)]
1703pub struct kvm_vcpu_events {
1704 pub exception: kvm_vcpu_events__bindgen_ty_1,
1705 pub interrupt: kvm_vcpu_events__bindgen_ty_2,
1706 pub nmi: kvm_vcpu_events__bindgen_ty_3,
1707 pub sipi_vector: __u32,
1708 pub flags: __u32,
1709 pub smi: kvm_vcpu_events__bindgen_ty_4,
1710 pub triple_fault: kvm_vcpu_events__bindgen_ty_5,
1711 pub reserved: [__u8; 26usize],
1712 pub exception_has_payload: __u8,
1713 pub exception_payload: __u64,
1714}
1715#[repr(C)]
1716#[derive(Debug, Default, Copy, Clone, PartialEq)]
1717#[cfg_attr(
1718 feature = "serde",
1719 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1720)]
1721pub struct kvm_vcpu_events__bindgen_ty_1 {
1722 pub injected: __u8,
1723 pub nr: __u8,
1724 pub has_error_code: __u8,
1725 pub pending: __u8,
1726 pub error_code: __u32,
1727}
1728#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1729const _: () = {
1730 ["Size of kvm_vcpu_events__bindgen_ty_1"]
1731 [::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_1>() - 8usize];
1732 ["Alignment of kvm_vcpu_events__bindgen_ty_1"]
1733 [::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_1>() - 4usize];
1734 ["Offset of field: kvm_vcpu_events__bindgen_ty_1::injected"]
1735 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_1, injected) - 0usize];
1736 ["Offset of field: kvm_vcpu_events__bindgen_ty_1::nr"]
1737 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_1, nr) - 1usize];
1738 ["Offset of field: kvm_vcpu_events__bindgen_ty_1::has_error_code"]
1739 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_1, has_error_code) - 2usize];
1740 ["Offset of field: kvm_vcpu_events__bindgen_ty_1::pending"]
1741 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_1, pending) - 3usize];
1742 ["Offset of field: kvm_vcpu_events__bindgen_ty_1::error_code"]
1743 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_1, error_code) - 4usize];
1744};
1745#[repr(C)]
1746#[derive(Debug, Default, Copy, Clone, PartialEq)]
1747#[cfg_attr(
1748 feature = "serde",
1749 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1750)]
1751pub struct kvm_vcpu_events__bindgen_ty_2 {
1752 pub injected: __u8,
1753 pub nr: __u8,
1754 pub soft: __u8,
1755 pub shadow: __u8,
1756}
1757#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1758const _: () = {
1759 ["Size of kvm_vcpu_events__bindgen_ty_2"]
1760 [::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_2>() - 4usize];
1761 ["Alignment of kvm_vcpu_events__bindgen_ty_2"]
1762 [::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_2>() - 1usize];
1763 ["Offset of field: kvm_vcpu_events__bindgen_ty_2::injected"]
1764 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_2, injected) - 0usize];
1765 ["Offset of field: kvm_vcpu_events__bindgen_ty_2::nr"]
1766 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_2, nr) - 1usize];
1767 ["Offset of field: kvm_vcpu_events__bindgen_ty_2::soft"]
1768 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_2, soft) - 2usize];
1769 ["Offset of field: kvm_vcpu_events__bindgen_ty_2::shadow"]
1770 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_2, shadow) - 3usize];
1771};
1772#[repr(C)]
1773#[derive(Debug, Default, Copy, Clone, PartialEq)]
1774#[cfg_attr(
1775 feature = "serde",
1776 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1777)]
1778pub struct kvm_vcpu_events__bindgen_ty_3 {
1779 pub injected: __u8,
1780 pub pending: __u8,
1781 pub masked: __u8,
1782 pub pad: __u8,
1783}
1784#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1785const _: () = {
1786 ["Size of kvm_vcpu_events__bindgen_ty_3"]
1787 [::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_3>() - 4usize];
1788 ["Alignment of kvm_vcpu_events__bindgen_ty_3"]
1789 [::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_3>() - 1usize];
1790 ["Offset of field: kvm_vcpu_events__bindgen_ty_3::injected"]
1791 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_3, injected) - 0usize];
1792 ["Offset of field: kvm_vcpu_events__bindgen_ty_3::pending"]
1793 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_3, pending) - 1usize];
1794 ["Offset of field: kvm_vcpu_events__bindgen_ty_3::masked"]
1795 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_3, masked) - 2usize];
1796 ["Offset of field: kvm_vcpu_events__bindgen_ty_3::pad"]
1797 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_3, pad) - 3usize];
1798};
1799#[repr(C)]
1800#[derive(Debug, Default, Copy, Clone, PartialEq)]
1801#[cfg_attr(
1802 feature = "serde",
1803 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1804)]
1805pub struct kvm_vcpu_events__bindgen_ty_4 {
1806 pub smm: __u8,
1807 pub pending: __u8,
1808 pub smm_inside_nmi: __u8,
1809 pub latched_init: __u8,
1810}
1811#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1812const _: () = {
1813 ["Size of kvm_vcpu_events__bindgen_ty_4"]
1814 [::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_4>() - 4usize];
1815 ["Alignment of kvm_vcpu_events__bindgen_ty_4"]
1816 [::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_4>() - 1usize];
1817 ["Offset of field: kvm_vcpu_events__bindgen_ty_4::smm"]
1818 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_4, smm) - 0usize];
1819 ["Offset of field: kvm_vcpu_events__bindgen_ty_4::pending"]
1820 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_4, pending) - 1usize];
1821 ["Offset of field: kvm_vcpu_events__bindgen_ty_4::smm_inside_nmi"]
1822 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_4, smm_inside_nmi) - 2usize];
1823 ["Offset of field: kvm_vcpu_events__bindgen_ty_4::latched_init"]
1824 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_4, latched_init) - 3usize];
1825};
1826#[repr(C)]
1827#[derive(Debug, Default, Copy, Clone, PartialEq)]
1828#[cfg_attr(
1829 feature = "serde",
1830 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1831)]
1832pub struct kvm_vcpu_events__bindgen_ty_5 {
1833 pub pending: __u8,
1834}
1835#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1836const _: () = {
1837 ["Size of kvm_vcpu_events__bindgen_ty_5"]
1838 [::std::mem::size_of::<kvm_vcpu_events__bindgen_ty_5>() - 1usize];
1839 ["Alignment of kvm_vcpu_events__bindgen_ty_5"]
1840 [::std::mem::align_of::<kvm_vcpu_events__bindgen_ty_5>() - 1usize];
1841 ["Offset of field: kvm_vcpu_events__bindgen_ty_5::pending"]
1842 [::std::mem::offset_of!(kvm_vcpu_events__bindgen_ty_5, pending) - 0usize];
1843};
1844#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1845const _: () = {
1846 ["Size of kvm_vcpu_events"][::std::mem::size_of::<kvm_vcpu_events>() - 64usize];
1847 ["Alignment of kvm_vcpu_events"][::std::mem::align_of::<kvm_vcpu_events>() - 8usize];
1848 ["Offset of field: kvm_vcpu_events::exception"]
1849 [::std::mem::offset_of!(kvm_vcpu_events, exception) - 0usize];
1850 ["Offset of field: kvm_vcpu_events::interrupt"]
1851 [::std::mem::offset_of!(kvm_vcpu_events, interrupt) - 8usize];
1852 ["Offset of field: kvm_vcpu_events::nmi"]
1853 [::std::mem::offset_of!(kvm_vcpu_events, nmi) - 12usize];
1854 ["Offset of field: kvm_vcpu_events::sipi_vector"]
1855 [::std::mem::offset_of!(kvm_vcpu_events, sipi_vector) - 16usize];
1856 ["Offset of field: kvm_vcpu_events::flags"]
1857 [::std::mem::offset_of!(kvm_vcpu_events, flags) - 20usize];
1858 ["Offset of field: kvm_vcpu_events::smi"]
1859 [::std::mem::offset_of!(kvm_vcpu_events, smi) - 24usize];
1860 ["Offset of field: kvm_vcpu_events::triple_fault"]
1861 [::std::mem::offset_of!(kvm_vcpu_events, triple_fault) - 28usize];
1862 ["Offset of field: kvm_vcpu_events::reserved"]
1863 [::std::mem::offset_of!(kvm_vcpu_events, reserved) - 29usize];
1864 ["Offset of field: kvm_vcpu_events::exception_has_payload"]
1865 [::std::mem::offset_of!(kvm_vcpu_events, exception_has_payload) - 55usize];
1866 ["Offset of field: kvm_vcpu_events::exception_payload"]
1867 [::std::mem::offset_of!(kvm_vcpu_events, exception_payload) - 56usize];
1868};
1869#[repr(C)]
1870#[derive(Debug, Default, Copy, Clone, PartialEq)]
1871#[cfg_attr(
1872 feature = "serde",
1873 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1874)]
1875pub struct kvm_debugregs {
1876 pub db: [__u64; 4usize],
1877 pub dr6: __u64,
1878 pub dr7: __u64,
1879 pub flags: __u64,
1880 pub reserved: [__u64; 9usize],
1881}
1882#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1883const _: () = {
1884 ["Size of kvm_debugregs"][::std::mem::size_of::<kvm_debugregs>() - 128usize];
1885 ["Alignment of kvm_debugregs"][::std::mem::align_of::<kvm_debugregs>() - 8usize];
1886 ["Offset of field: kvm_debugregs::db"][::std::mem::offset_of!(kvm_debugregs, db) - 0usize];
1887 ["Offset of field: kvm_debugregs::dr6"][::std::mem::offset_of!(kvm_debugregs, dr6) - 32usize];
1888 ["Offset of field: kvm_debugregs::dr7"][::std::mem::offset_of!(kvm_debugregs, dr7) - 40usize];
1889 ["Offset of field: kvm_debugregs::flags"]
1890 [::std::mem::offset_of!(kvm_debugregs, flags) - 48usize];
1891 ["Offset of field: kvm_debugregs::reserved"]
1892 [::std::mem::offset_of!(kvm_debugregs, reserved) - 56usize];
1893};
1894#[repr(C)]
1895#[derive(Debug)]
1896#[cfg_attr(
1897 feature = "serde",
1898 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1899)]
1900pub struct kvm_xsave {
1901 pub region: [__u32; 1024usize],
1902 pub extra: __IncompleteArrayField<__u32>,
1903}
1904#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1905const _: () = {
1906 ["Size of kvm_xsave"][::std::mem::size_of::<kvm_xsave>() - 4096usize];
1907 ["Alignment of kvm_xsave"][::std::mem::align_of::<kvm_xsave>() - 4usize];
1908 ["Offset of field: kvm_xsave::region"][::std::mem::offset_of!(kvm_xsave, region) - 0usize];
1909 ["Offset of field: kvm_xsave::extra"][::std::mem::offset_of!(kvm_xsave, extra) - 4096usize];
1910};
1911impl Default for kvm_xsave {
1912 fn default() -> Self {
1913 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1914 unsafe {
1915 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1916 s.assume_init()
1917 }
1918 }
1919}
1920#[repr(C)]
1921#[derive(Debug, Default, Copy, Clone, PartialEq)]
1922#[cfg_attr(
1923 feature = "serde",
1924 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1925)]
1926pub struct kvm_xcr {
1927 pub xcr: __u32,
1928 pub reserved: __u32,
1929 pub value: __u64,
1930}
1931#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1932const _: () = {
1933 ["Size of kvm_xcr"][::std::mem::size_of::<kvm_xcr>() - 16usize];
1934 ["Alignment of kvm_xcr"][::std::mem::align_of::<kvm_xcr>() - 8usize];
1935 ["Offset of field: kvm_xcr::xcr"][::std::mem::offset_of!(kvm_xcr, xcr) - 0usize];
1936 ["Offset of field: kvm_xcr::reserved"][::std::mem::offset_of!(kvm_xcr, reserved) - 4usize];
1937 ["Offset of field: kvm_xcr::value"][::std::mem::offset_of!(kvm_xcr, value) - 8usize];
1938};
1939#[repr(C)]
1940#[derive(Debug, Default, Copy, Clone, PartialEq)]
1941#[cfg_attr(
1942 feature = "serde",
1943 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
1944)]
1945pub struct kvm_xcrs {
1946 pub nr_xcrs: __u32,
1947 pub flags: __u32,
1948 pub xcrs: [kvm_xcr; 16usize],
1949 pub padding: [__u64; 16usize],
1950}
1951#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1952const _: () = {
1953 ["Size of kvm_xcrs"][::std::mem::size_of::<kvm_xcrs>() - 392usize];
1954 ["Alignment of kvm_xcrs"][::std::mem::align_of::<kvm_xcrs>() - 8usize];
1955 ["Offset of field: kvm_xcrs::nr_xcrs"][::std::mem::offset_of!(kvm_xcrs, nr_xcrs) - 0usize];
1956 ["Offset of field: kvm_xcrs::flags"][::std::mem::offset_of!(kvm_xcrs, flags) - 4usize];
1957 ["Offset of field: kvm_xcrs::xcrs"][::std::mem::offset_of!(kvm_xcrs, xcrs) - 8usize];
1958 ["Offset of field: kvm_xcrs::padding"][::std::mem::offset_of!(kvm_xcrs, padding) - 264usize];
1959};
1960#[repr(C)]
1961#[derive(Debug, Default, Copy, Clone, PartialEq)]
1962pub struct kvm_sync_regs {
1963 pub regs: kvm_regs,
1964 pub sregs: kvm_sregs,
1965 pub events: kvm_vcpu_events,
1966}
1967#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1968const _: () = {
1969 ["Size of kvm_sync_regs"][::std::mem::size_of::<kvm_sync_regs>() - 520usize];
1970 ["Alignment of kvm_sync_regs"][::std::mem::align_of::<kvm_sync_regs>() - 8usize];
1971 ["Offset of field: kvm_sync_regs::regs"][::std::mem::offset_of!(kvm_sync_regs, regs) - 0usize];
1972 ["Offset of field: kvm_sync_regs::sregs"]
1973 [::std::mem::offset_of!(kvm_sync_regs, sregs) - 144usize];
1974 ["Offset of field: kvm_sync_regs::events"]
1975 [::std::mem::offset_of!(kvm_sync_regs, events) - 456usize];
1976};
1977#[repr(C)]
1978#[derive(Debug, Copy, Clone, PartialEq)]
1979pub struct kvm_vmx_nested_state_data {
1980 pub vmcs12: [__u8; 4096usize],
1981 pub shadow_vmcs12: [__u8; 4096usize],
1982}
1983#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1984const _: () = {
1985 ["Size of kvm_vmx_nested_state_data"]
1986 [::std::mem::size_of::<kvm_vmx_nested_state_data>() - 8192usize];
1987 ["Alignment of kvm_vmx_nested_state_data"]
1988 [::std::mem::align_of::<kvm_vmx_nested_state_data>() - 1usize];
1989 ["Offset of field: kvm_vmx_nested_state_data::vmcs12"]
1990 [::std::mem::offset_of!(kvm_vmx_nested_state_data, vmcs12) - 0usize];
1991 ["Offset of field: kvm_vmx_nested_state_data::shadow_vmcs12"]
1992 [::std::mem::offset_of!(kvm_vmx_nested_state_data, shadow_vmcs12) - 4096usize];
1993};
1994impl Default for kvm_vmx_nested_state_data {
1995 fn default() -> Self {
1996 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1997 unsafe {
1998 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1999 s.assume_init()
2000 }
2001 }
2002}
2003#[repr(C)]
2004#[derive(Debug, Default, Copy, Clone, PartialEq)]
2005pub struct kvm_vmx_nested_state_hdr {
2006 pub vmxon_pa: __u64,
2007 pub vmcs12_pa: __u64,
2008 pub smm: kvm_vmx_nested_state_hdr__bindgen_ty_1,
2009 pub pad: __u16,
2010 pub flags: __u32,
2011 pub preemption_timer_deadline: __u64,
2012}
2013#[repr(C)]
2014#[derive(Debug, Default, Copy, Clone, PartialEq)]
2015pub struct kvm_vmx_nested_state_hdr__bindgen_ty_1 {
2016 pub flags: __u16,
2017}
2018#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2019const _: () = {
2020 ["Size of kvm_vmx_nested_state_hdr__bindgen_ty_1"]
2021 [::std::mem::size_of::<kvm_vmx_nested_state_hdr__bindgen_ty_1>() - 2usize];
2022 ["Alignment of kvm_vmx_nested_state_hdr__bindgen_ty_1"]
2023 [::std::mem::align_of::<kvm_vmx_nested_state_hdr__bindgen_ty_1>() - 2usize];
2024 ["Offset of field: kvm_vmx_nested_state_hdr__bindgen_ty_1::flags"]
2025 [::std::mem::offset_of!(kvm_vmx_nested_state_hdr__bindgen_ty_1, flags) - 0usize];
2026};
2027#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2028const _: () = {
2029 ["Size of kvm_vmx_nested_state_hdr"]
2030 [::std::mem::size_of::<kvm_vmx_nested_state_hdr>() - 32usize];
2031 ["Alignment of kvm_vmx_nested_state_hdr"]
2032 [::std::mem::align_of::<kvm_vmx_nested_state_hdr>() - 8usize];
2033 ["Offset of field: kvm_vmx_nested_state_hdr::vmxon_pa"]
2034 [::std::mem::offset_of!(kvm_vmx_nested_state_hdr, vmxon_pa) - 0usize];
2035 ["Offset of field: kvm_vmx_nested_state_hdr::vmcs12_pa"]
2036 [::std::mem::offset_of!(kvm_vmx_nested_state_hdr, vmcs12_pa) - 8usize];
2037 ["Offset of field: kvm_vmx_nested_state_hdr::smm"]
2038 [::std::mem::offset_of!(kvm_vmx_nested_state_hdr, smm) - 16usize];
2039 ["Offset of field: kvm_vmx_nested_state_hdr::pad"]
2040 [::std::mem::offset_of!(kvm_vmx_nested_state_hdr, pad) - 18usize];
2041 ["Offset of field: kvm_vmx_nested_state_hdr::flags"]
2042 [::std::mem::offset_of!(kvm_vmx_nested_state_hdr, flags) - 20usize];
2043 ["Offset of field: kvm_vmx_nested_state_hdr::preemption_timer_deadline"]
2044 [::std::mem::offset_of!(kvm_vmx_nested_state_hdr, preemption_timer_deadline) - 24usize];
2045};
2046#[repr(C)]
2047#[derive(Debug, Copy, Clone, PartialEq)]
2048pub struct kvm_svm_nested_state_data {
2049 pub vmcb12: [__u8; 4096usize],
2050}
2051#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2052const _: () = {
2053 ["Size of kvm_svm_nested_state_data"]
2054 [::std::mem::size_of::<kvm_svm_nested_state_data>() - 4096usize];
2055 ["Alignment of kvm_svm_nested_state_data"]
2056 [::std::mem::align_of::<kvm_svm_nested_state_data>() - 1usize];
2057 ["Offset of field: kvm_svm_nested_state_data::vmcb12"]
2058 [::std::mem::offset_of!(kvm_svm_nested_state_data, vmcb12) - 0usize];
2059};
2060impl Default for kvm_svm_nested_state_data {
2061 fn default() -> Self {
2062 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2063 unsafe {
2064 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2065 s.assume_init()
2066 }
2067 }
2068}
2069#[repr(C)]
2070#[derive(Debug, Default, Copy, Clone, PartialEq)]
2071pub struct kvm_svm_nested_state_hdr {
2072 pub vmcb_pa: __u64,
2073}
2074#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2075const _: () = {
2076 ["Size of kvm_svm_nested_state_hdr"]
2077 [::std::mem::size_of::<kvm_svm_nested_state_hdr>() - 8usize];
2078 ["Alignment of kvm_svm_nested_state_hdr"]
2079 [::std::mem::align_of::<kvm_svm_nested_state_hdr>() - 8usize];
2080 ["Offset of field: kvm_svm_nested_state_hdr::vmcb_pa"]
2081 [::std::mem::offset_of!(kvm_svm_nested_state_hdr, vmcb_pa) - 0usize];
2082};
2083#[repr(C)]
2084pub struct kvm_nested_state {
2085 pub flags: __u16,
2086 pub format: __u16,
2087 pub size: __u32,
2088 pub hdr: kvm_nested_state__bindgen_ty_1,
2089 pub data: kvm_nested_state__bindgen_ty_2,
2090}
2091#[repr(C)]
2092#[derive(Copy, Clone)]
2093pub union kvm_nested_state__bindgen_ty_1 {
2094 pub vmx: kvm_vmx_nested_state_hdr,
2095 pub svm: kvm_svm_nested_state_hdr,
2096 pub pad: [__u8; 120usize],
2097}
2098#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2099const _: () = {
2100 ["Size of kvm_nested_state__bindgen_ty_1"]
2101 [::std::mem::size_of::<kvm_nested_state__bindgen_ty_1>() - 120usize];
2102 ["Alignment of kvm_nested_state__bindgen_ty_1"]
2103 [::std::mem::align_of::<kvm_nested_state__bindgen_ty_1>() - 8usize];
2104 ["Offset of field: kvm_nested_state__bindgen_ty_1::vmx"]
2105 [::std::mem::offset_of!(kvm_nested_state__bindgen_ty_1, vmx) - 0usize];
2106 ["Offset of field: kvm_nested_state__bindgen_ty_1::svm"]
2107 [::std::mem::offset_of!(kvm_nested_state__bindgen_ty_1, svm) - 0usize];
2108 ["Offset of field: kvm_nested_state__bindgen_ty_1::pad"]
2109 [::std::mem::offset_of!(kvm_nested_state__bindgen_ty_1, pad) - 0usize];
2110};
2111impl Default for kvm_nested_state__bindgen_ty_1 {
2112 fn default() -> Self {
2113 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2114 unsafe {
2115 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2116 s.assume_init()
2117 }
2118 }
2119}
2120impl ::std::fmt::Debug for kvm_nested_state__bindgen_ty_1 {
2121 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2122 write!(f, "kvm_nested_state__bindgen_ty_1 {{ union }}")
2123 }
2124}
2125#[repr(C)]
2126pub struct kvm_nested_state__bindgen_ty_2 {
2127 pub __bindgen_anon_1: __BindgenUnionField<kvm_nested_state__bindgen_ty_2__bindgen_ty_1>,
2128 pub __bindgen_anon_2: __BindgenUnionField<kvm_nested_state__bindgen_ty_2__bindgen_ty_2>,
2129 pub bindgen_union_field: [u8; 0usize],
2130}
2131#[repr(C)]
2132#[derive(Debug)]
2133pub struct kvm_nested_state__bindgen_ty_2__bindgen_ty_1 {
2134 pub __empty_vmx: kvm_nested_state__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
2135 pub vmx: __IncompleteArrayField<kvm_vmx_nested_state_data>,
2136}
2137#[repr(C)]
2138#[derive(Debug, Default, Copy, Clone, PartialEq)]
2139pub struct kvm_nested_state__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 {}
2140#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2141const _: () = {
2142 ["Size of kvm_nested_state__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"][::std::mem::size_of::<
2143 kvm_nested_state__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
2144 >() - 0usize];
2145 ["Alignment of kvm_nested_state__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"][::std::mem::align_of::<
2146 kvm_nested_state__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
2147 >() - 1usize];
2148};
2149#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2150const _: () = {
2151 ["Size of kvm_nested_state__bindgen_ty_2__bindgen_ty_1"]
2152 [::std::mem::size_of::<kvm_nested_state__bindgen_ty_2__bindgen_ty_1>() - 0usize];
2153 ["Alignment of kvm_nested_state__bindgen_ty_2__bindgen_ty_1"]
2154 [::std::mem::align_of::<kvm_nested_state__bindgen_ty_2__bindgen_ty_1>() - 1usize];
2155 ["Offset of field: kvm_nested_state__bindgen_ty_2__bindgen_ty_1::__empty_vmx"][::std::mem::offset_of!(
2156 kvm_nested_state__bindgen_ty_2__bindgen_ty_1,
2157 __empty_vmx
2158 ) - 0usize];
2159 ["Offset of field: kvm_nested_state__bindgen_ty_2__bindgen_ty_1::vmx"]
2160 [::std::mem::offset_of!(kvm_nested_state__bindgen_ty_2__bindgen_ty_1, vmx) - 0usize];
2161};
2162impl Default for kvm_nested_state__bindgen_ty_2__bindgen_ty_1 {
2163 fn default() -> Self {
2164 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2165 unsafe {
2166 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2167 s.assume_init()
2168 }
2169 }
2170}
2171#[repr(C)]
2172#[derive(Debug)]
2173pub struct kvm_nested_state__bindgen_ty_2__bindgen_ty_2 {
2174 pub __empty_svm: kvm_nested_state__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1,
2175 pub svm: __IncompleteArrayField<kvm_svm_nested_state_data>,
2176}
2177#[repr(C)]
2178#[derive(Debug, Default, Copy, Clone, PartialEq)]
2179pub struct kvm_nested_state__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1 {}
2180#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2181const _: () = {
2182 ["Size of kvm_nested_state__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1"][::std::mem::size_of::<
2183 kvm_nested_state__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1,
2184 >() - 0usize];
2185 ["Alignment of kvm_nested_state__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1"][::std::mem::align_of::<
2186 kvm_nested_state__bindgen_ty_2__bindgen_ty_2__bindgen_ty_1,
2187 >() - 1usize];
2188};
2189#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2190const _: () = {
2191 ["Size of kvm_nested_state__bindgen_ty_2__bindgen_ty_2"]
2192 [::std::mem::size_of::<kvm_nested_state__bindgen_ty_2__bindgen_ty_2>() - 0usize];
2193 ["Alignment of kvm_nested_state__bindgen_ty_2__bindgen_ty_2"]
2194 [::std::mem::align_of::<kvm_nested_state__bindgen_ty_2__bindgen_ty_2>() - 1usize];
2195 ["Offset of field: kvm_nested_state__bindgen_ty_2__bindgen_ty_2::__empty_svm"][::std::mem::offset_of!(
2196 kvm_nested_state__bindgen_ty_2__bindgen_ty_2,
2197 __empty_svm
2198 ) - 0usize];
2199 ["Offset of field: kvm_nested_state__bindgen_ty_2__bindgen_ty_2::svm"]
2200 [::std::mem::offset_of!(kvm_nested_state__bindgen_ty_2__bindgen_ty_2, svm) - 0usize];
2201};
2202impl Default for kvm_nested_state__bindgen_ty_2__bindgen_ty_2 {
2203 fn default() -> Self {
2204 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2205 unsafe {
2206 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2207 s.assume_init()
2208 }
2209 }
2210}
2211#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2212const _: () = {
2213 ["Size of kvm_nested_state__bindgen_ty_2"]
2214 [::std::mem::size_of::<kvm_nested_state__bindgen_ty_2>() - 0usize];
2215 ["Alignment of kvm_nested_state__bindgen_ty_2"]
2216 [::std::mem::align_of::<kvm_nested_state__bindgen_ty_2>() - 1usize];
2217};
2218impl Default for kvm_nested_state__bindgen_ty_2 {
2219 fn default() -> Self {
2220 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2221 unsafe {
2222 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2223 s.assume_init()
2224 }
2225 }
2226}
2227impl ::std::fmt::Debug for kvm_nested_state__bindgen_ty_2 {
2228 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2229 write!(f, "kvm_nested_state__bindgen_ty_2 {{ union }}")
2230 }
2231}
2232#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2233const _: () = {
2234 ["Size of kvm_nested_state"][::std::mem::size_of::<kvm_nested_state>() - 128usize];
2235 ["Alignment of kvm_nested_state"][::std::mem::align_of::<kvm_nested_state>() - 8usize];
2236 ["Offset of field: kvm_nested_state::flags"]
2237 [::std::mem::offset_of!(kvm_nested_state, flags) - 0usize];
2238 ["Offset of field: kvm_nested_state::format"]
2239 [::std::mem::offset_of!(kvm_nested_state, format) - 2usize];
2240 ["Offset of field: kvm_nested_state::size"]
2241 [::std::mem::offset_of!(kvm_nested_state, size) - 4usize];
2242 ["Offset of field: kvm_nested_state::hdr"]
2243 [::std::mem::offset_of!(kvm_nested_state, hdr) - 8usize];
2244 ["Offset of field: kvm_nested_state::data"]
2245 [::std::mem::offset_of!(kvm_nested_state, data) - 128usize];
2246};
2247impl Default for kvm_nested_state {
2248 fn default() -> Self {
2249 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2250 unsafe {
2251 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2252 s.assume_init()
2253 }
2254 }
2255}
2256impl ::std::fmt::Debug for kvm_nested_state {
2257 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2258 write!(
2259 f,
2260 "kvm_nested_state {{ flags: {:?}, format: {:?}, size: {:?}, hdr: {:?}, data: {:?} }}",
2261 self.flags, self.format, self.size, self.hdr, self.data
2262 )
2263 }
2264}
2265#[repr(C)]
2266#[derive(Debug, Default)]
2267pub struct kvm_pmu_event_filter {
2268 pub action: __u32,
2269 pub nevents: __u32,
2270 pub fixed_counter_bitmap: __u32,
2271 pub flags: __u32,
2272 pub pad: [__u32; 4usize],
2273 pub events: __IncompleteArrayField<__u64>,
2274}
2275#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2276const _: () = {
2277 ["Size of kvm_pmu_event_filter"][::std::mem::size_of::<kvm_pmu_event_filter>() - 32usize];
2278 ["Alignment of kvm_pmu_event_filter"][::std::mem::align_of::<kvm_pmu_event_filter>() - 8usize];
2279 ["Offset of field: kvm_pmu_event_filter::action"]
2280 [::std::mem::offset_of!(kvm_pmu_event_filter, action) - 0usize];
2281 ["Offset of field: kvm_pmu_event_filter::nevents"]
2282 [::std::mem::offset_of!(kvm_pmu_event_filter, nevents) - 4usize];
2283 ["Offset of field: kvm_pmu_event_filter::fixed_counter_bitmap"]
2284 [::std::mem::offset_of!(kvm_pmu_event_filter, fixed_counter_bitmap) - 8usize];
2285 ["Offset of field: kvm_pmu_event_filter::flags"]
2286 [::std::mem::offset_of!(kvm_pmu_event_filter, flags) - 12usize];
2287 ["Offset of field: kvm_pmu_event_filter::pad"]
2288 [::std::mem::offset_of!(kvm_pmu_event_filter, pad) - 16usize];
2289 ["Offset of field: kvm_pmu_event_filter::events"]
2290 [::std::mem::offset_of!(kvm_pmu_event_filter, events) - 32usize];
2291};
2292#[repr(C)]
2293#[derive(Debug, Default, Copy, Clone, PartialEq)]
2294pub struct kvm_x86_mce {
2295 pub status: __u64,
2296 pub addr: __u64,
2297 pub misc: __u64,
2298 pub mcg_status: __u64,
2299 pub bank: __u8,
2300 pub pad1: [__u8; 7usize],
2301 pub pad2: [__u64; 3usize],
2302}
2303#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2304const _: () = {
2305 ["Size of kvm_x86_mce"][::std::mem::size_of::<kvm_x86_mce>() - 64usize];
2306 ["Alignment of kvm_x86_mce"][::std::mem::align_of::<kvm_x86_mce>() - 8usize];
2307 ["Offset of field: kvm_x86_mce::status"][::std::mem::offset_of!(kvm_x86_mce, status) - 0usize];
2308 ["Offset of field: kvm_x86_mce::addr"][::std::mem::offset_of!(kvm_x86_mce, addr) - 8usize];
2309 ["Offset of field: kvm_x86_mce::misc"][::std::mem::offset_of!(kvm_x86_mce, misc) - 16usize];
2310 ["Offset of field: kvm_x86_mce::mcg_status"]
2311 [::std::mem::offset_of!(kvm_x86_mce, mcg_status) - 24usize];
2312 ["Offset of field: kvm_x86_mce::bank"][::std::mem::offset_of!(kvm_x86_mce, bank) - 32usize];
2313 ["Offset of field: kvm_x86_mce::pad1"][::std::mem::offset_of!(kvm_x86_mce, pad1) - 33usize];
2314 ["Offset of field: kvm_x86_mce::pad2"][::std::mem::offset_of!(kvm_x86_mce, pad2) - 40usize];
2315};
2316#[repr(C)]
2317#[derive(Debug, Default, Copy, Clone, PartialEq)]
2318pub struct kvm_xen_hvm_config {
2319 pub flags: __u32,
2320 pub msr: __u32,
2321 pub blob_addr_32: __u64,
2322 pub blob_addr_64: __u64,
2323 pub blob_size_32: __u8,
2324 pub blob_size_64: __u8,
2325 pub pad2: [__u8; 30usize],
2326}
2327#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2328const _: () = {
2329 ["Size of kvm_xen_hvm_config"][::std::mem::size_of::<kvm_xen_hvm_config>() - 56usize];
2330 ["Alignment of kvm_xen_hvm_config"][::std::mem::align_of::<kvm_xen_hvm_config>() - 8usize];
2331 ["Offset of field: kvm_xen_hvm_config::flags"]
2332 [::std::mem::offset_of!(kvm_xen_hvm_config, flags) - 0usize];
2333 ["Offset of field: kvm_xen_hvm_config::msr"]
2334 [::std::mem::offset_of!(kvm_xen_hvm_config, msr) - 4usize];
2335 ["Offset of field: kvm_xen_hvm_config::blob_addr_32"]
2336 [::std::mem::offset_of!(kvm_xen_hvm_config, blob_addr_32) - 8usize];
2337 ["Offset of field: kvm_xen_hvm_config::blob_addr_64"]
2338 [::std::mem::offset_of!(kvm_xen_hvm_config, blob_addr_64) - 16usize];
2339 ["Offset of field: kvm_xen_hvm_config::blob_size_32"]
2340 [::std::mem::offset_of!(kvm_xen_hvm_config, blob_size_32) - 24usize];
2341 ["Offset of field: kvm_xen_hvm_config::blob_size_64"]
2342 [::std::mem::offset_of!(kvm_xen_hvm_config, blob_size_64) - 25usize];
2343 ["Offset of field: kvm_xen_hvm_config::pad2"]
2344 [::std::mem::offset_of!(kvm_xen_hvm_config, pad2) - 26usize];
2345};
2346#[repr(C)]
2347#[derive(Copy, Clone)]
2348pub struct kvm_xen_hvm_attr {
2349 pub type_: __u16,
2350 pub pad: [__u16; 3usize],
2351 pub u: kvm_xen_hvm_attr__bindgen_ty_1,
2352}
2353#[repr(C)]
2354#[derive(Copy, Clone)]
2355pub union kvm_xen_hvm_attr__bindgen_ty_1 {
2356 pub long_mode: __u8,
2357 pub vector: __u8,
2358 pub runstate_update_flag: __u8,
2359 pub shared_info: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1,
2360 pub evtchn: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2,
2361 pub xen_version: __u32,
2362 pub pad: [__u64; 8usize],
2363}
2364#[repr(C)]
2365#[derive(Copy, Clone)]
2366pub union kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1 {
2367 pub gfn: __u64,
2368 pub hva: __u64,
2369}
2370#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2371const _: () = {
2372 ["Size of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1"]
2373 [::std::mem::size_of::<kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1>() - 8usize];
2374 ["Alignment of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1"]
2375 [::std::mem::align_of::<kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1>() - 8usize];
2376 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1::gfn"]
2377 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1, gfn) - 0usize];
2378 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1::hva"]
2379 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1, hva) - 0usize];
2380};
2381impl Default for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1 {
2382 fn default() -> Self {
2383 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2384 unsafe {
2385 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2386 s.assume_init()
2387 }
2388 }
2389}
2390impl ::std::fmt::Debug for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1 {
2391 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2392 write!(
2393 f,
2394 "kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_1 {{ union }}"
2395 )
2396 }
2397}
2398#[repr(C)]
2399#[derive(Copy, Clone)]
2400pub struct kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2 {
2401 pub send_port: __u32,
2402 pub type_: __u32,
2403 pub flags: __u32,
2404 pub deliver: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
2405}
2406#[repr(C)]
2407#[derive(Copy, Clone)]
2408pub union kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {
2409 pub port: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
2410 pub eventfd: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2,
2411 pub padding: [__u32; 4usize],
2412}
2413#[repr(C)]
2414#[derive(Debug, Default, Copy, Clone, PartialEq)]
2415pub struct kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 {
2416 pub port: __u32,
2417 pub vcpu: __u32,
2418 pub priority: __u32,
2419}
2420#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2421const _: () = {
2422 ["Size of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"]
2423 [::std::mem::size_of::<
2424 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
2425 >() - 12usize];
2426 ["Alignment of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1"]
2427 [::std::mem::align_of::<
2428 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1,
2429 >() - 4usize];
2430 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::port"] [:: std :: mem :: offset_of ! (kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , port) - 0usize] ;
2431 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::vcpu"] [:: std :: mem :: offset_of ! (kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , vcpu) - 4usize] ;
2432 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1::priority"] [:: std :: mem :: offset_of ! (kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 , priority) - 8usize] ;
2433};
2434#[repr(C)]
2435#[derive(Debug, Default, Copy, Clone, PartialEq)]
2436pub struct kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 {
2437 pub port: __u32,
2438 pub fd: __s32,
2439}
2440#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2441const _: () = {
2442 ["Size of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"]
2443 [::std::mem::size_of::<
2444 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2,
2445 >() - 8usize];
2446 ["Alignment of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2"]
2447 [::std::mem::align_of::<
2448 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2,
2449 >() - 4usize];
2450 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::port"] [:: std :: mem :: offset_of ! (kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , port) - 0usize] ;
2451 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2::fd"] [:: std :: mem :: offset_of ! (kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 , fd) - 4usize] ;
2452};
2453#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2454const _: () = {
2455 ["Size of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::std::mem::size_of::<
2456 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
2457 >() - 16usize];
2458 ["Alignment of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1"][::std::mem::align_of::<
2459 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
2460 >() - 4usize];
2461 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::port"][::std::mem::offset_of!(
2462 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
2463 port
2464 )
2465 - 0usize];
2466 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::eventfd"][::std::mem::offset_of!(
2467 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
2468 eventfd
2469 )
2470 - 0usize];
2471 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1::padding"][::std::mem::offset_of!(
2472 kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
2473 padding
2474 )
2475 - 0usize];
2476};
2477impl Default for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {
2478 fn default() -> Self {
2479 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2480 unsafe {
2481 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2482 s.assume_init()
2483 }
2484 }
2485}
2486impl ::std::fmt::Debug for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {
2487 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2488 write!(
2489 f,
2490 "kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {{ union }}"
2491 )
2492 }
2493}
2494#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2495const _: () = {
2496 ["Size of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2"]
2497 [::std::mem::size_of::<kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2>() - 28usize];
2498 ["Alignment of kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2"]
2499 [::std::mem::align_of::<kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2>() - 4usize];
2500 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2::send_port"]
2501 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2, send_port) - 0usize];
2502 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2::type_"]
2503 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2, type_) - 4usize];
2504 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2::flags"]
2505 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2, flags) - 8usize];
2506 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2::deliver"]
2507 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2, deliver) - 12usize];
2508};
2509impl Default for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2 {
2510 fn default() -> Self {
2511 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2512 unsafe {
2513 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2514 s.assume_init()
2515 }
2516 }
2517}
2518impl ::std::fmt::Debug for kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2 {
2519 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2520 write ! (f , "kvm_xen_hvm_attr__bindgen_ty_1__bindgen_ty_2 {{ send_port: {:?}, type: {:?}, flags: {:?}, deliver: {:?} }}" , self . send_port , self . type_ , self . flags , self . deliver)
2521 }
2522}
2523#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2524const _: () = {
2525 ["Size of kvm_xen_hvm_attr__bindgen_ty_1"]
2526 [::std::mem::size_of::<kvm_xen_hvm_attr__bindgen_ty_1>() - 64usize];
2527 ["Alignment of kvm_xen_hvm_attr__bindgen_ty_1"]
2528 [::std::mem::align_of::<kvm_xen_hvm_attr__bindgen_ty_1>() - 8usize];
2529 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1::long_mode"]
2530 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1, long_mode) - 0usize];
2531 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1::vector"]
2532 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1, vector) - 0usize];
2533 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1::runstate_update_flag"]
2534 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1, runstate_update_flag) - 0usize];
2535 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1::shared_info"]
2536 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1, shared_info) - 0usize];
2537 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1::evtchn"]
2538 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1, evtchn) - 0usize];
2539 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1::xen_version"]
2540 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1, xen_version) - 0usize];
2541 ["Offset of field: kvm_xen_hvm_attr__bindgen_ty_1::pad"]
2542 [::std::mem::offset_of!(kvm_xen_hvm_attr__bindgen_ty_1, pad) - 0usize];
2543};
2544impl Default for kvm_xen_hvm_attr__bindgen_ty_1 {
2545 fn default() -> Self {
2546 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2547 unsafe {
2548 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2549 s.assume_init()
2550 }
2551 }
2552}
2553impl ::std::fmt::Debug for kvm_xen_hvm_attr__bindgen_ty_1 {
2554 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2555 write!(f, "kvm_xen_hvm_attr__bindgen_ty_1 {{ union }}")
2556 }
2557}
2558#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2559const _: () = {
2560 ["Size of kvm_xen_hvm_attr"][::std::mem::size_of::<kvm_xen_hvm_attr>() - 72usize];
2561 ["Alignment of kvm_xen_hvm_attr"][::std::mem::align_of::<kvm_xen_hvm_attr>() - 8usize];
2562 ["Offset of field: kvm_xen_hvm_attr::type_"]
2563 [::std::mem::offset_of!(kvm_xen_hvm_attr, type_) - 0usize];
2564 ["Offset of field: kvm_xen_hvm_attr::pad"]
2565 [::std::mem::offset_of!(kvm_xen_hvm_attr, pad) - 2usize];
2566 ["Offset of field: kvm_xen_hvm_attr::u"][::std::mem::offset_of!(kvm_xen_hvm_attr, u) - 8usize];
2567};
2568impl Default for kvm_xen_hvm_attr {
2569 fn default() -> Self {
2570 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2571 unsafe {
2572 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2573 s.assume_init()
2574 }
2575 }
2576}
2577impl ::std::fmt::Debug for kvm_xen_hvm_attr {
2578 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2579 write!(
2580 f,
2581 "kvm_xen_hvm_attr {{ type: {:?}, pad: {:?}, u: {:?} }}",
2582 self.type_, self.pad, self.u
2583 )
2584 }
2585}
2586#[repr(C)]
2587#[derive(Copy, Clone)]
2588pub struct kvm_xen_vcpu_attr {
2589 pub type_: __u16,
2590 pub pad: [__u16; 3usize],
2591 pub u: kvm_xen_vcpu_attr__bindgen_ty_1,
2592}
2593#[repr(C)]
2594#[derive(Copy, Clone)]
2595pub union kvm_xen_vcpu_attr__bindgen_ty_1 {
2596 pub gpa: __u64,
2597 pub hva: __u64,
2598 pub pad: [__u64; 8usize],
2599 pub runstate: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1,
2600 pub vcpu_id: __u32,
2601 pub timer: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2,
2602 pub vector: __u8,
2603}
2604#[repr(C)]
2605#[derive(Debug, Default, Copy, Clone, PartialEq)]
2606pub struct kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1 {
2607 pub state: __u64,
2608 pub state_entry_time: __u64,
2609 pub time_running: __u64,
2610 pub time_runnable: __u64,
2611 pub time_blocked: __u64,
2612 pub time_offline: __u64,
2613}
2614#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2615const _: () = {
2616 ["Size of kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1"]
2617 [::std::mem::size_of::<kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1>() - 48usize];
2618 ["Alignment of kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1"]
2619 [::std::mem::align_of::<kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1>() - 8usize];
2620 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1::state"]
2621 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1, state) - 0usize];
2622 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1::state_entry_time"][::std::mem::offset_of!(
2623 kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1,
2624 state_entry_time
2625 )
2626 - 8usize];
2627 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1::time_running"][::std::mem::offset_of!(
2628 kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1,
2629 time_running
2630 ) - 16usize];
2631 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1::time_runnable"][::std::mem::offset_of!(
2632 kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1,
2633 time_runnable
2634 ) - 24usize];
2635 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1::time_blocked"][::std::mem::offset_of!(
2636 kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1,
2637 time_blocked
2638 ) - 32usize];
2639 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1::time_offline"][::std::mem::offset_of!(
2640 kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_1,
2641 time_offline
2642 ) - 40usize];
2643};
2644#[repr(C)]
2645#[derive(Debug, Default, Copy, Clone, PartialEq)]
2646pub struct kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2 {
2647 pub port: __u32,
2648 pub priority: __u32,
2649 pub expires_ns: __u64,
2650}
2651#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2652const _: () = {
2653 ["Size of kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2"]
2654 [::std::mem::size_of::<kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2>() - 16usize];
2655 ["Alignment of kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2"]
2656 [::std::mem::align_of::<kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2>() - 8usize];
2657 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2::port"]
2658 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2, port) - 0usize];
2659 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2::priority"]
2660 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2, priority) - 4usize];
2661 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2::expires_ns"][::std::mem::offset_of!(
2662 kvm_xen_vcpu_attr__bindgen_ty_1__bindgen_ty_2,
2663 expires_ns
2664 ) - 8usize];
2665};
2666#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2667const _: () = {
2668 ["Size of kvm_xen_vcpu_attr__bindgen_ty_1"]
2669 [::std::mem::size_of::<kvm_xen_vcpu_attr__bindgen_ty_1>() - 64usize];
2670 ["Alignment of kvm_xen_vcpu_attr__bindgen_ty_1"]
2671 [::std::mem::align_of::<kvm_xen_vcpu_attr__bindgen_ty_1>() - 8usize];
2672 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1::gpa"]
2673 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1, gpa) - 0usize];
2674 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1::hva"]
2675 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1, hva) - 0usize];
2676 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1::pad"]
2677 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1, pad) - 0usize];
2678 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1::runstate"]
2679 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1, runstate) - 0usize];
2680 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1::vcpu_id"]
2681 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1, vcpu_id) - 0usize];
2682 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1::timer"]
2683 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1, timer) - 0usize];
2684 ["Offset of field: kvm_xen_vcpu_attr__bindgen_ty_1::vector"]
2685 [::std::mem::offset_of!(kvm_xen_vcpu_attr__bindgen_ty_1, vector) - 0usize];
2686};
2687impl Default for kvm_xen_vcpu_attr__bindgen_ty_1 {
2688 fn default() -> Self {
2689 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2690 unsafe {
2691 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2692 s.assume_init()
2693 }
2694 }
2695}
2696impl ::std::fmt::Debug for kvm_xen_vcpu_attr__bindgen_ty_1 {
2697 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2698 write!(f, "kvm_xen_vcpu_attr__bindgen_ty_1 {{ union }}")
2699 }
2700}
2701#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2702const _: () = {
2703 ["Size of kvm_xen_vcpu_attr"][::std::mem::size_of::<kvm_xen_vcpu_attr>() - 72usize];
2704 ["Alignment of kvm_xen_vcpu_attr"][::std::mem::align_of::<kvm_xen_vcpu_attr>() - 8usize];
2705 ["Offset of field: kvm_xen_vcpu_attr::type_"]
2706 [::std::mem::offset_of!(kvm_xen_vcpu_attr, type_) - 0usize];
2707 ["Offset of field: kvm_xen_vcpu_attr::pad"]
2708 [::std::mem::offset_of!(kvm_xen_vcpu_attr, pad) - 2usize];
2709 ["Offset of field: kvm_xen_vcpu_attr::u"]
2710 [::std::mem::offset_of!(kvm_xen_vcpu_attr, u) - 8usize];
2711};
2712impl Default for kvm_xen_vcpu_attr {
2713 fn default() -> Self {
2714 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2715 unsafe {
2716 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2717 s.assume_init()
2718 }
2719 }
2720}
2721impl ::std::fmt::Debug for kvm_xen_vcpu_attr {
2722 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2723 write!(
2724 f,
2725 "kvm_xen_vcpu_attr {{ type: {:?}, pad: {:?}, u: {:?} }}",
2726 self.type_, self.pad, self.u
2727 )
2728 }
2729}
2730pub const sev_cmd_id_KVM_SEV_INIT: sev_cmd_id = 0;
2731pub const sev_cmd_id_KVM_SEV_ES_INIT: sev_cmd_id = 1;
2732pub const sev_cmd_id_KVM_SEV_LAUNCH_START: sev_cmd_id = 2;
2733pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_DATA: sev_cmd_id = 3;
2734pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_VMSA: sev_cmd_id = 4;
2735pub const sev_cmd_id_KVM_SEV_LAUNCH_SECRET: sev_cmd_id = 5;
2736pub const sev_cmd_id_KVM_SEV_LAUNCH_MEASURE: sev_cmd_id = 6;
2737pub const sev_cmd_id_KVM_SEV_LAUNCH_FINISH: sev_cmd_id = 7;
2738pub const sev_cmd_id_KVM_SEV_SEND_START: sev_cmd_id = 8;
2739pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_DATA: sev_cmd_id = 9;
2740pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_VMSA: sev_cmd_id = 10;
2741pub const sev_cmd_id_KVM_SEV_SEND_FINISH: sev_cmd_id = 11;
2742pub const sev_cmd_id_KVM_SEV_RECEIVE_START: sev_cmd_id = 12;
2743pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_DATA: sev_cmd_id = 13;
2744pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_VMSA: sev_cmd_id = 14;
2745pub const sev_cmd_id_KVM_SEV_RECEIVE_FINISH: sev_cmd_id = 15;
2746pub const sev_cmd_id_KVM_SEV_GUEST_STATUS: sev_cmd_id = 16;
2747pub const sev_cmd_id_KVM_SEV_DBG_DECRYPT: sev_cmd_id = 17;
2748pub const sev_cmd_id_KVM_SEV_DBG_ENCRYPT: sev_cmd_id = 18;
2749pub const sev_cmd_id_KVM_SEV_CERT_EXPORT: sev_cmd_id = 19;
2750pub const sev_cmd_id_KVM_SEV_GET_ATTESTATION_REPORT: sev_cmd_id = 20;
2751pub const sev_cmd_id_KVM_SEV_SEND_CANCEL: sev_cmd_id = 21;
2752pub const sev_cmd_id_KVM_SEV_NR_MAX: sev_cmd_id = 22;
2753pub type sev_cmd_id = ::std::os::raw::c_uint;
2754#[repr(C)]
2755#[derive(Debug, Default, Copy, Clone, PartialEq)]
2756pub struct kvm_sev_cmd {
2757 pub id: __u32,
2758 pub pad0: __u32,
2759 pub data: __u64,
2760 pub error: __u32,
2761 pub sev_fd: __u32,
2762}
2763#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2764const _: () = {
2765 ["Size of kvm_sev_cmd"][::std::mem::size_of::<kvm_sev_cmd>() - 24usize];
2766 ["Alignment of kvm_sev_cmd"][::std::mem::align_of::<kvm_sev_cmd>() - 8usize];
2767 ["Offset of field: kvm_sev_cmd::id"][::std::mem::offset_of!(kvm_sev_cmd, id) - 0usize];
2768 ["Offset of field: kvm_sev_cmd::pad0"][::std::mem::offset_of!(kvm_sev_cmd, pad0) - 4usize];
2769 ["Offset of field: kvm_sev_cmd::data"][::std::mem::offset_of!(kvm_sev_cmd, data) - 8usize];
2770 ["Offset of field: kvm_sev_cmd::error"][::std::mem::offset_of!(kvm_sev_cmd, error) - 16usize];
2771 ["Offset of field: kvm_sev_cmd::sev_fd"][::std::mem::offset_of!(kvm_sev_cmd, sev_fd) - 20usize];
2772};
2773#[repr(C)]
2774#[derive(Debug, Default, Copy, Clone, PartialEq)]
2775pub struct kvm_sev_launch_start {
2776 pub handle: __u32,
2777 pub policy: __u32,
2778 pub dh_uaddr: __u64,
2779 pub dh_len: __u32,
2780 pub pad0: __u32,
2781 pub session_uaddr: __u64,
2782 pub session_len: __u32,
2783 pub pad1: __u32,
2784}
2785#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2786const _: () = {
2787 ["Size of kvm_sev_launch_start"][::std::mem::size_of::<kvm_sev_launch_start>() - 40usize];
2788 ["Alignment of kvm_sev_launch_start"][::std::mem::align_of::<kvm_sev_launch_start>() - 8usize];
2789 ["Offset of field: kvm_sev_launch_start::handle"]
2790 [::std::mem::offset_of!(kvm_sev_launch_start, handle) - 0usize];
2791 ["Offset of field: kvm_sev_launch_start::policy"]
2792 [::std::mem::offset_of!(kvm_sev_launch_start, policy) - 4usize];
2793 ["Offset of field: kvm_sev_launch_start::dh_uaddr"]
2794 [::std::mem::offset_of!(kvm_sev_launch_start, dh_uaddr) - 8usize];
2795 ["Offset of field: kvm_sev_launch_start::dh_len"]
2796 [::std::mem::offset_of!(kvm_sev_launch_start, dh_len) - 16usize];
2797 ["Offset of field: kvm_sev_launch_start::pad0"]
2798 [::std::mem::offset_of!(kvm_sev_launch_start, pad0) - 20usize];
2799 ["Offset of field: kvm_sev_launch_start::session_uaddr"]
2800 [::std::mem::offset_of!(kvm_sev_launch_start, session_uaddr) - 24usize];
2801 ["Offset of field: kvm_sev_launch_start::session_len"]
2802 [::std::mem::offset_of!(kvm_sev_launch_start, session_len) - 32usize];
2803 ["Offset of field: kvm_sev_launch_start::pad1"]
2804 [::std::mem::offset_of!(kvm_sev_launch_start, pad1) - 36usize];
2805};
2806#[repr(C)]
2807#[derive(Debug, Default, Copy, Clone, PartialEq)]
2808pub struct kvm_sev_launch_update_data {
2809 pub uaddr: __u64,
2810 pub len: __u32,
2811 pub pad0: __u32,
2812}
2813#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2814const _: () = {
2815 ["Size of kvm_sev_launch_update_data"]
2816 [::std::mem::size_of::<kvm_sev_launch_update_data>() - 16usize];
2817 ["Alignment of kvm_sev_launch_update_data"]
2818 [::std::mem::align_of::<kvm_sev_launch_update_data>() - 8usize];
2819 ["Offset of field: kvm_sev_launch_update_data::uaddr"]
2820 [::std::mem::offset_of!(kvm_sev_launch_update_data, uaddr) - 0usize];
2821 ["Offset of field: kvm_sev_launch_update_data::len"]
2822 [::std::mem::offset_of!(kvm_sev_launch_update_data, len) - 8usize];
2823 ["Offset of field: kvm_sev_launch_update_data::pad0"]
2824 [::std::mem::offset_of!(kvm_sev_launch_update_data, pad0) - 12usize];
2825};
2826#[repr(C)]
2827#[derive(Debug, Default, Copy, Clone, PartialEq)]
2828pub struct kvm_sev_launch_secret {
2829 pub hdr_uaddr: __u64,
2830 pub hdr_len: __u32,
2831 pub pad0: __u32,
2832 pub guest_uaddr: __u64,
2833 pub guest_len: __u32,
2834 pub pad1: __u32,
2835 pub trans_uaddr: __u64,
2836 pub trans_len: __u32,
2837 pub pad2: __u32,
2838}
2839#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2840const _: () = {
2841 ["Size of kvm_sev_launch_secret"][::std::mem::size_of::<kvm_sev_launch_secret>() - 48usize];
2842 ["Alignment of kvm_sev_launch_secret"]
2843 [::std::mem::align_of::<kvm_sev_launch_secret>() - 8usize];
2844 ["Offset of field: kvm_sev_launch_secret::hdr_uaddr"]
2845 [::std::mem::offset_of!(kvm_sev_launch_secret, hdr_uaddr) - 0usize];
2846 ["Offset of field: kvm_sev_launch_secret::hdr_len"]
2847 [::std::mem::offset_of!(kvm_sev_launch_secret, hdr_len) - 8usize];
2848 ["Offset of field: kvm_sev_launch_secret::pad0"]
2849 [::std::mem::offset_of!(kvm_sev_launch_secret, pad0) - 12usize];
2850 ["Offset of field: kvm_sev_launch_secret::guest_uaddr"]
2851 [::std::mem::offset_of!(kvm_sev_launch_secret, guest_uaddr) - 16usize];
2852 ["Offset of field: kvm_sev_launch_secret::guest_len"]
2853 [::std::mem::offset_of!(kvm_sev_launch_secret, guest_len) - 24usize];
2854 ["Offset of field: kvm_sev_launch_secret::pad1"]
2855 [::std::mem::offset_of!(kvm_sev_launch_secret, pad1) - 28usize];
2856 ["Offset of field: kvm_sev_launch_secret::trans_uaddr"]
2857 [::std::mem::offset_of!(kvm_sev_launch_secret, trans_uaddr) - 32usize];
2858 ["Offset of field: kvm_sev_launch_secret::trans_len"]
2859 [::std::mem::offset_of!(kvm_sev_launch_secret, trans_len) - 40usize];
2860 ["Offset of field: kvm_sev_launch_secret::pad2"]
2861 [::std::mem::offset_of!(kvm_sev_launch_secret, pad2) - 44usize];
2862};
2863#[repr(C)]
2864#[derive(Debug, Default, Copy, Clone, PartialEq)]
2865pub struct kvm_sev_launch_measure {
2866 pub uaddr: __u64,
2867 pub len: __u32,
2868 pub pad0: __u32,
2869}
2870#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2871const _: () = {
2872 ["Size of kvm_sev_launch_measure"][::std::mem::size_of::<kvm_sev_launch_measure>() - 16usize];
2873 ["Alignment of kvm_sev_launch_measure"]
2874 [::std::mem::align_of::<kvm_sev_launch_measure>() - 8usize];
2875 ["Offset of field: kvm_sev_launch_measure::uaddr"]
2876 [::std::mem::offset_of!(kvm_sev_launch_measure, uaddr) - 0usize];
2877 ["Offset of field: kvm_sev_launch_measure::len"]
2878 [::std::mem::offset_of!(kvm_sev_launch_measure, len) - 8usize];
2879 ["Offset of field: kvm_sev_launch_measure::pad0"]
2880 [::std::mem::offset_of!(kvm_sev_launch_measure, pad0) - 12usize];
2881};
2882#[repr(C)]
2883#[derive(Debug, Default, Copy, Clone, PartialEq)]
2884pub struct kvm_sev_guest_status {
2885 pub handle: __u32,
2886 pub policy: __u32,
2887 pub state: __u32,
2888}
2889#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2890const _: () = {
2891 ["Size of kvm_sev_guest_status"][::std::mem::size_of::<kvm_sev_guest_status>() - 12usize];
2892 ["Alignment of kvm_sev_guest_status"][::std::mem::align_of::<kvm_sev_guest_status>() - 4usize];
2893 ["Offset of field: kvm_sev_guest_status::handle"]
2894 [::std::mem::offset_of!(kvm_sev_guest_status, handle) - 0usize];
2895 ["Offset of field: kvm_sev_guest_status::policy"]
2896 [::std::mem::offset_of!(kvm_sev_guest_status, policy) - 4usize];
2897 ["Offset of field: kvm_sev_guest_status::state"]
2898 [::std::mem::offset_of!(kvm_sev_guest_status, state) - 8usize];
2899};
2900#[repr(C)]
2901#[derive(Debug, Default, Copy, Clone, PartialEq)]
2902pub struct kvm_sev_dbg {
2903 pub src_uaddr: __u64,
2904 pub dst_uaddr: __u64,
2905 pub len: __u32,
2906 pub pad0: __u32,
2907}
2908#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2909const _: () = {
2910 ["Size of kvm_sev_dbg"][::std::mem::size_of::<kvm_sev_dbg>() - 24usize];
2911 ["Alignment of kvm_sev_dbg"][::std::mem::align_of::<kvm_sev_dbg>() - 8usize];
2912 ["Offset of field: kvm_sev_dbg::src_uaddr"]
2913 [::std::mem::offset_of!(kvm_sev_dbg, src_uaddr) - 0usize];
2914 ["Offset of field: kvm_sev_dbg::dst_uaddr"]
2915 [::std::mem::offset_of!(kvm_sev_dbg, dst_uaddr) - 8usize];
2916 ["Offset of field: kvm_sev_dbg::len"][::std::mem::offset_of!(kvm_sev_dbg, len) - 16usize];
2917 ["Offset of field: kvm_sev_dbg::pad0"][::std::mem::offset_of!(kvm_sev_dbg, pad0) - 20usize];
2918};
2919#[repr(C)]
2920#[derive(Debug, Default, Copy, Clone, PartialEq)]
2921pub struct kvm_sev_attestation_report {
2922 pub mnonce: [__u8; 16usize],
2923 pub uaddr: __u64,
2924 pub len: __u32,
2925 pub pad0: __u32,
2926}
2927#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2928const _: () = {
2929 ["Size of kvm_sev_attestation_report"]
2930 [::std::mem::size_of::<kvm_sev_attestation_report>() - 32usize];
2931 ["Alignment of kvm_sev_attestation_report"]
2932 [::std::mem::align_of::<kvm_sev_attestation_report>() - 8usize];
2933 ["Offset of field: kvm_sev_attestation_report::mnonce"]
2934 [::std::mem::offset_of!(kvm_sev_attestation_report, mnonce) - 0usize];
2935 ["Offset of field: kvm_sev_attestation_report::uaddr"]
2936 [::std::mem::offset_of!(kvm_sev_attestation_report, uaddr) - 16usize];
2937 ["Offset of field: kvm_sev_attestation_report::len"]
2938 [::std::mem::offset_of!(kvm_sev_attestation_report, len) - 24usize];
2939 ["Offset of field: kvm_sev_attestation_report::pad0"]
2940 [::std::mem::offset_of!(kvm_sev_attestation_report, pad0) - 28usize];
2941};
2942#[repr(C)]
2943#[derive(Debug, Default, Copy, Clone, PartialEq)]
2944pub struct kvm_sev_send_start {
2945 pub policy: __u32,
2946 pub pad0: __u32,
2947 pub pdh_cert_uaddr: __u64,
2948 pub pdh_cert_len: __u32,
2949 pub pad1: __u32,
2950 pub plat_certs_uaddr: __u64,
2951 pub plat_certs_len: __u32,
2952 pub pad2: __u32,
2953 pub amd_certs_uaddr: __u64,
2954 pub amd_certs_len: __u32,
2955 pub pad3: __u32,
2956 pub session_uaddr: __u64,
2957 pub session_len: __u32,
2958 pub pad4: __u32,
2959}
2960#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2961const _: () = {
2962 ["Size of kvm_sev_send_start"][::std::mem::size_of::<kvm_sev_send_start>() - 72usize];
2963 ["Alignment of kvm_sev_send_start"][::std::mem::align_of::<kvm_sev_send_start>() - 8usize];
2964 ["Offset of field: kvm_sev_send_start::policy"]
2965 [::std::mem::offset_of!(kvm_sev_send_start, policy) - 0usize];
2966 ["Offset of field: kvm_sev_send_start::pad0"]
2967 [::std::mem::offset_of!(kvm_sev_send_start, pad0) - 4usize];
2968 ["Offset of field: kvm_sev_send_start::pdh_cert_uaddr"]
2969 [::std::mem::offset_of!(kvm_sev_send_start, pdh_cert_uaddr) - 8usize];
2970 ["Offset of field: kvm_sev_send_start::pdh_cert_len"]
2971 [::std::mem::offset_of!(kvm_sev_send_start, pdh_cert_len) - 16usize];
2972 ["Offset of field: kvm_sev_send_start::pad1"]
2973 [::std::mem::offset_of!(kvm_sev_send_start, pad1) - 20usize];
2974 ["Offset of field: kvm_sev_send_start::plat_certs_uaddr"]
2975 [::std::mem::offset_of!(kvm_sev_send_start, plat_certs_uaddr) - 24usize];
2976 ["Offset of field: kvm_sev_send_start::plat_certs_len"]
2977 [::std::mem::offset_of!(kvm_sev_send_start, plat_certs_len) - 32usize];
2978 ["Offset of field: kvm_sev_send_start::pad2"]
2979 [::std::mem::offset_of!(kvm_sev_send_start, pad2) - 36usize];
2980 ["Offset of field: kvm_sev_send_start::amd_certs_uaddr"]
2981 [::std::mem::offset_of!(kvm_sev_send_start, amd_certs_uaddr) - 40usize];
2982 ["Offset of field: kvm_sev_send_start::amd_certs_len"]
2983 [::std::mem::offset_of!(kvm_sev_send_start, amd_certs_len) - 48usize];
2984 ["Offset of field: kvm_sev_send_start::pad3"]
2985 [::std::mem::offset_of!(kvm_sev_send_start, pad3) - 52usize];
2986 ["Offset of field: kvm_sev_send_start::session_uaddr"]
2987 [::std::mem::offset_of!(kvm_sev_send_start, session_uaddr) - 56usize];
2988 ["Offset of field: kvm_sev_send_start::session_len"]
2989 [::std::mem::offset_of!(kvm_sev_send_start, session_len) - 64usize];
2990 ["Offset of field: kvm_sev_send_start::pad4"]
2991 [::std::mem::offset_of!(kvm_sev_send_start, pad4) - 68usize];
2992};
2993#[repr(C)]
2994#[derive(Debug, Default, Copy, Clone, PartialEq)]
2995pub struct kvm_sev_send_update_data {
2996 pub hdr_uaddr: __u64,
2997 pub hdr_len: __u32,
2998 pub pad0: __u32,
2999 pub guest_uaddr: __u64,
3000 pub guest_len: __u32,
3001 pub pad1: __u32,
3002 pub trans_uaddr: __u64,
3003 pub trans_len: __u32,
3004 pub pad2: __u32,
3005}
3006#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3007const _: () = {
3008 ["Size of kvm_sev_send_update_data"]
3009 [::std::mem::size_of::<kvm_sev_send_update_data>() - 48usize];
3010 ["Alignment of kvm_sev_send_update_data"]
3011 [::std::mem::align_of::<kvm_sev_send_update_data>() - 8usize];
3012 ["Offset of field: kvm_sev_send_update_data::hdr_uaddr"]
3013 [::std::mem::offset_of!(kvm_sev_send_update_data, hdr_uaddr) - 0usize];
3014 ["Offset of field: kvm_sev_send_update_data::hdr_len"]
3015 [::std::mem::offset_of!(kvm_sev_send_update_data, hdr_len) - 8usize];
3016 ["Offset of field: kvm_sev_send_update_data::pad0"]
3017 [::std::mem::offset_of!(kvm_sev_send_update_data, pad0) - 12usize];
3018 ["Offset of field: kvm_sev_send_update_data::guest_uaddr"]
3019 [::std::mem::offset_of!(kvm_sev_send_update_data, guest_uaddr) - 16usize];
3020 ["Offset of field: kvm_sev_send_update_data::guest_len"]
3021 [::std::mem::offset_of!(kvm_sev_send_update_data, guest_len) - 24usize];
3022 ["Offset of field: kvm_sev_send_update_data::pad1"]
3023 [::std::mem::offset_of!(kvm_sev_send_update_data, pad1) - 28usize];
3024 ["Offset of field: kvm_sev_send_update_data::trans_uaddr"]
3025 [::std::mem::offset_of!(kvm_sev_send_update_data, trans_uaddr) - 32usize];
3026 ["Offset of field: kvm_sev_send_update_data::trans_len"]
3027 [::std::mem::offset_of!(kvm_sev_send_update_data, trans_len) - 40usize];
3028 ["Offset of field: kvm_sev_send_update_data::pad2"]
3029 [::std::mem::offset_of!(kvm_sev_send_update_data, pad2) - 44usize];
3030};
3031#[repr(C)]
3032#[derive(Debug, Default, Copy, Clone, PartialEq)]
3033pub struct kvm_sev_receive_start {
3034 pub handle: __u32,
3035 pub policy: __u32,
3036 pub pdh_uaddr: __u64,
3037 pub pdh_len: __u32,
3038 pub pad0: __u32,
3039 pub session_uaddr: __u64,
3040 pub session_len: __u32,
3041 pub pad1: __u32,
3042}
3043#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3044const _: () = {
3045 ["Size of kvm_sev_receive_start"][::std::mem::size_of::<kvm_sev_receive_start>() - 40usize];
3046 ["Alignment of kvm_sev_receive_start"]
3047 [::std::mem::align_of::<kvm_sev_receive_start>() - 8usize];
3048 ["Offset of field: kvm_sev_receive_start::handle"]
3049 [::std::mem::offset_of!(kvm_sev_receive_start, handle) - 0usize];
3050 ["Offset of field: kvm_sev_receive_start::policy"]
3051 [::std::mem::offset_of!(kvm_sev_receive_start, policy) - 4usize];
3052 ["Offset of field: kvm_sev_receive_start::pdh_uaddr"]
3053 [::std::mem::offset_of!(kvm_sev_receive_start, pdh_uaddr) - 8usize];
3054 ["Offset of field: kvm_sev_receive_start::pdh_len"]
3055 [::std::mem::offset_of!(kvm_sev_receive_start, pdh_len) - 16usize];
3056 ["Offset of field: kvm_sev_receive_start::pad0"]
3057 [::std::mem::offset_of!(kvm_sev_receive_start, pad0) - 20usize];
3058 ["Offset of field: kvm_sev_receive_start::session_uaddr"]
3059 [::std::mem::offset_of!(kvm_sev_receive_start, session_uaddr) - 24usize];
3060 ["Offset of field: kvm_sev_receive_start::session_len"]
3061 [::std::mem::offset_of!(kvm_sev_receive_start, session_len) - 32usize];
3062 ["Offset of field: kvm_sev_receive_start::pad1"]
3063 [::std::mem::offset_of!(kvm_sev_receive_start, pad1) - 36usize];
3064};
3065#[repr(C)]
3066#[derive(Debug, Default, Copy, Clone, PartialEq)]
3067pub struct kvm_sev_receive_update_data {
3068 pub hdr_uaddr: __u64,
3069 pub hdr_len: __u32,
3070 pub pad0: __u32,
3071 pub guest_uaddr: __u64,
3072 pub guest_len: __u32,
3073 pub pad1: __u32,
3074 pub trans_uaddr: __u64,
3075 pub trans_len: __u32,
3076 pub pad2: __u32,
3077}
3078#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3079const _: () = {
3080 ["Size of kvm_sev_receive_update_data"]
3081 [::std::mem::size_of::<kvm_sev_receive_update_data>() - 48usize];
3082 ["Alignment of kvm_sev_receive_update_data"]
3083 [::std::mem::align_of::<kvm_sev_receive_update_data>() - 8usize];
3084 ["Offset of field: kvm_sev_receive_update_data::hdr_uaddr"]
3085 [::std::mem::offset_of!(kvm_sev_receive_update_data, hdr_uaddr) - 0usize];
3086 ["Offset of field: kvm_sev_receive_update_data::hdr_len"]
3087 [::std::mem::offset_of!(kvm_sev_receive_update_data, hdr_len) - 8usize];
3088 ["Offset of field: kvm_sev_receive_update_data::pad0"]
3089 [::std::mem::offset_of!(kvm_sev_receive_update_data, pad0) - 12usize];
3090 ["Offset of field: kvm_sev_receive_update_data::guest_uaddr"]
3091 [::std::mem::offset_of!(kvm_sev_receive_update_data, guest_uaddr) - 16usize];
3092 ["Offset of field: kvm_sev_receive_update_data::guest_len"]
3093 [::std::mem::offset_of!(kvm_sev_receive_update_data, guest_len) - 24usize];
3094 ["Offset of field: kvm_sev_receive_update_data::pad1"]
3095 [::std::mem::offset_of!(kvm_sev_receive_update_data, pad1) - 28usize];
3096 ["Offset of field: kvm_sev_receive_update_data::trans_uaddr"]
3097 [::std::mem::offset_of!(kvm_sev_receive_update_data, trans_uaddr) - 32usize];
3098 ["Offset of field: kvm_sev_receive_update_data::trans_len"]
3099 [::std::mem::offset_of!(kvm_sev_receive_update_data, trans_len) - 40usize];
3100 ["Offset of field: kvm_sev_receive_update_data::pad2"]
3101 [::std::mem::offset_of!(kvm_sev_receive_update_data, pad2) - 44usize];
3102};
3103#[repr(C)]
3104#[derive(Debug, Default, Copy, Clone, PartialEq)]
3105pub struct kvm_hyperv_eventfd {
3106 pub conn_id: __u32,
3107 pub fd: __s32,
3108 pub flags: __u32,
3109 pub padding: [__u32; 3usize],
3110}
3111#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3112const _: () = {
3113 ["Size of kvm_hyperv_eventfd"][::std::mem::size_of::<kvm_hyperv_eventfd>() - 24usize];
3114 ["Alignment of kvm_hyperv_eventfd"][::std::mem::align_of::<kvm_hyperv_eventfd>() - 4usize];
3115 ["Offset of field: kvm_hyperv_eventfd::conn_id"]
3116 [::std::mem::offset_of!(kvm_hyperv_eventfd, conn_id) - 0usize];
3117 ["Offset of field: kvm_hyperv_eventfd::fd"]
3118 [::std::mem::offset_of!(kvm_hyperv_eventfd, fd) - 4usize];
3119 ["Offset of field: kvm_hyperv_eventfd::flags"]
3120 [::std::mem::offset_of!(kvm_hyperv_eventfd, flags) - 8usize];
3121 ["Offset of field: kvm_hyperv_eventfd::padding"]
3122 [::std::mem::offset_of!(kvm_hyperv_eventfd, padding) - 12usize];
3123};
3124#[repr(C)]
3125#[derive(Debug, Default, Copy, Clone, PartialEq)]
3126pub struct kvm_userspace_memory_region {
3127 pub slot: __u32,
3128 pub flags: __u32,
3129 pub guest_phys_addr: __u64,
3130 pub memory_size: __u64,
3131 pub userspace_addr: __u64,
3132}
3133#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3134const _: () = {
3135 ["Size of kvm_userspace_memory_region"]
3136 [::std::mem::size_of::<kvm_userspace_memory_region>() - 32usize];
3137 ["Alignment of kvm_userspace_memory_region"]
3138 [::std::mem::align_of::<kvm_userspace_memory_region>() - 8usize];
3139 ["Offset of field: kvm_userspace_memory_region::slot"]
3140 [::std::mem::offset_of!(kvm_userspace_memory_region, slot) - 0usize];
3141 ["Offset of field: kvm_userspace_memory_region::flags"]
3142 [::std::mem::offset_of!(kvm_userspace_memory_region, flags) - 4usize];
3143 ["Offset of field: kvm_userspace_memory_region::guest_phys_addr"]
3144 [::std::mem::offset_of!(kvm_userspace_memory_region, guest_phys_addr) - 8usize];
3145 ["Offset of field: kvm_userspace_memory_region::memory_size"]
3146 [::std::mem::offset_of!(kvm_userspace_memory_region, memory_size) - 16usize];
3147 ["Offset of field: kvm_userspace_memory_region::userspace_addr"]
3148 [::std::mem::offset_of!(kvm_userspace_memory_region, userspace_addr) - 24usize];
3149};
3150#[repr(C)]
3151#[derive(Debug, Default, Copy, Clone, PartialEq)]
3152pub struct kvm_userspace_memory_region2 {
3153 pub slot: __u32,
3154 pub flags: __u32,
3155 pub guest_phys_addr: __u64,
3156 pub memory_size: __u64,
3157 pub userspace_addr: __u64,
3158 pub guest_memfd_offset: __u64,
3159 pub guest_memfd: __u32,
3160 pub pad1: __u32,
3161 pub pad2: [__u64; 14usize],
3162}
3163#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3164const _: () = {
3165 ["Size of kvm_userspace_memory_region2"]
3166 [::std::mem::size_of::<kvm_userspace_memory_region2>() - 160usize];
3167 ["Alignment of kvm_userspace_memory_region2"]
3168 [::std::mem::align_of::<kvm_userspace_memory_region2>() - 8usize];
3169 ["Offset of field: kvm_userspace_memory_region2::slot"]
3170 [::std::mem::offset_of!(kvm_userspace_memory_region2, slot) - 0usize];
3171 ["Offset of field: kvm_userspace_memory_region2::flags"]
3172 [::std::mem::offset_of!(kvm_userspace_memory_region2, flags) - 4usize];
3173 ["Offset of field: kvm_userspace_memory_region2::guest_phys_addr"]
3174 [::std::mem::offset_of!(kvm_userspace_memory_region2, guest_phys_addr) - 8usize];
3175 ["Offset of field: kvm_userspace_memory_region2::memory_size"]
3176 [::std::mem::offset_of!(kvm_userspace_memory_region2, memory_size) - 16usize];
3177 ["Offset of field: kvm_userspace_memory_region2::userspace_addr"]
3178 [::std::mem::offset_of!(kvm_userspace_memory_region2, userspace_addr) - 24usize];
3179 ["Offset of field: kvm_userspace_memory_region2::guest_memfd_offset"]
3180 [::std::mem::offset_of!(kvm_userspace_memory_region2, guest_memfd_offset) - 32usize];
3181 ["Offset of field: kvm_userspace_memory_region2::guest_memfd"]
3182 [::std::mem::offset_of!(kvm_userspace_memory_region2, guest_memfd) - 40usize];
3183 ["Offset of field: kvm_userspace_memory_region2::pad1"]
3184 [::std::mem::offset_of!(kvm_userspace_memory_region2, pad1) - 44usize];
3185 ["Offset of field: kvm_userspace_memory_region2::pad2"]
3186 [::std::mem::offset_of!(kvm_userspace_memory_region2, pad2) - 48usize];
3187};
3188#[repr(C)]
3189#[derive(Copy, Clone)]
3190pub struct kvm_irq_level {
3191 pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1,
3192 pub level: __u32,
3193}
3194#[repr(C)]
3195#[derive(Copy, Clone)]
3196pub union kvm_irq_level__bindgen_ty_1 {
3197 pub irq: __u32,
3198 pub status: __s32,
3199}
3200#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3201const _: () = {
3202 ["Size of kvm_irq_level__bindgen_ty_1"]
3203 [::std::mem::size_of::<kvm_irq_level__bindgen_ty_1>() - 4usize];
3204 ["Alignment of kvm_irq_level__bindgen_ty_1"]
3205 [::std::mem::align_of::<kvm_irq_level__bindgen_ty_1>() - 4usize];
3206 ["Offset of field: kvm_irq_level__bindgen_ty_1::irq"]
3207 [::std::mem::offset_of!(kvm_irq_level__bindgen_ty_1, irq) - 0usize];
3208 ["Offset of field: kvm_irq_level__bindgen_ty_1::status"]
3209 [::std::mem::offset_of!(kvm_irq_level__bindgen_ty_1, status) - 0usize];
3210};
3211impl Default for kvm_irq_level__bindgen_ty_1 {
3212 fn default() -> Self {
3213 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3214 unsafe {
3215 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3216 s.assume_init()
3217 }
3218 }
3219}
3220impl ::std::fmt::Debug for kvm_irq_level__bindgen_ty_1 {
3221 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3222 write!(f, "kvm_irq_level__bindgen_ty_1 {{ union }}")
3223 }
3224}
3225#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3226const _: () = {
3227 ["Size of kvm_irq_level"][::std::mem::size_of::<kvm_irq_level>() - 8usize];
3228 ["Alignment of kvm_irq_level"][::std::mem::align_of::<kvm_irq_level>() - 4usize];
3229 ["Offset of field: kvm_irq_level::level"]
3230 [::std::mem::offset_of!(kvm_irq_level, level) - 4usize];
3231};
3232impl Default for kvm_irq_level {
3233 fn default() -> Self {
3234 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3235 unsafe {
3236 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3237 s.assume_init()
3238 }
3239 }
3240}
3241impl ::std::fmt::Debug for kvm_irq_level {
3242 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3243 write!(
3244 f,
3245 "kvm_irq_level {{ __bindgen_anon_1: {:?}, level: {:?} }}",
3246 self.__bindgen_anon_1, self.level
3247 )
3248 }
3249}
3250#[repr(C)]
3251#[derive(Copy, Clone)]
3252#[cfg_attr(
3253 feature = "serde",
3254 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
3255)]
3256pub struct kvm_irqchip {
3257 pub chip_id: __u32,
3258 pub pad: __u32,
3259 pub chip: kvm_irqchip__bindgen_ty_1,
3260}
3261#[repr(C)]
3262#[derive(Copy, Clone)]
3263pub union kvm_irqchip__bindgen_ty_1 {
3264 pub dummy: [::std::os::raw::c_char; 512usize],
3265 pub pic: kvm_pic_state,
3266 pub ioapic: kvm_ioapic_state,
3267}
3268#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3269const _: () = {
3270 ["Size of kvm_irqchip__bindgen_ty_1"]
3271 [::std::mem::size_of::<kvm_irqchip__bindgen_ty_1>() - 512usize];
3272 ["Alignment of kvm_irqchip__bindgen_ty_1"]
3273 [::std::mem::align_of::<kvm_irqchip__bindgen_ty_1>() - 8usize];
3274 ["Offset of field: kvm_irqchip__bindgen_ty_1::dummy"]
3275 [::std::mem::offset_of!(kvm_irqchip__bindgen_ty_1, dummy) - 0usize];
3276 ["Offset of field: kvm_irqchip__bindgen_ty_1::pic"]
3277 [::std::mem::offset_of!(kvm_irqchip__bindgen_ty_1, pic) - 0usize];
3278 ["Offset of field: kvm_irqchip__bindgen_ty_1::ioapic"]
3279 [::std::mem::offset_of!(kvm_irqchip__bindgen_ty_1, ioapic) - 0usize];
3280};
3281impl Default for kvm_irqchip__bindgen_ty_1 {
3282 fn default() -> Self {
3283 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3284 unsafe {
3285 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3286 s.assume_init()
3287 }
3288 }
3289}
3290impl ::std::fmt::Debug for kvm_irqchip__bindgen_ty_1 {
3291 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3292 write!(f, "kvm_irqchip__bindgen_ty_1 {{ union }}")
3293 }
3294}
3295#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3296const _: () = {
3297 ["Size of kvm_irqchip"][::std::mem::size_of::<kvm_irqchip>() - 520usize];
3298 ["Alignment of kvm_irqchip"][::std::mem::align_of::<kvm_irqchip>() - 8usize];
3299 ["Offset of field: kvm_irqchip::chip_id"]
3300 [::std::mem::offset_of!(kvm_irqchip, chip_id) - 0usize];
3301 ["Offset of field: kvm_irqchip::pad"][::std::mem::offset_of!(kvm_irqchip, pad) - 4usize];
3302 ["Offset of field: kvm_irqchip::chip"][::std::mem::offset_of!(kvm_irqchip, chip) - 8usize];
3303};
3304impl Default for kvm_irqchip {
3305 fn default() -> Self {
3306 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3307 unsafe {
3308 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3309 s.assume_init()
3310 }
3311 }
3312}
3313impl ::std::fmt::Debug for kvm_irqchip {
3314 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3315 write!(
3316 f,
3317 "kvm_irqchip {{ chip_id: {:?}, pad: {:?}, chip: {:?} }}",
3318 self.chip_id, self.pad, self.chip
3319 )
3320 }
3321}
3322#[repr(C)]
3323#[derive(Debug, Default, Copy, Clone, PartialEq)]
3324pub struct kvm_pit_config {
3325 pub flags: __u32,
3326 pub pad: [__u32; 15usize],
3327}
3328#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3329const _: () = {
3330 ["Size of kvm_pit_config"][::std::mem::size_of::<kvm_pit_config>() - 64usize];
3331 ["Alignment of kvm_pit_config"][::std::mem::align_of::<kvm_pit_config>() - 4usize];
3332 ["Offset of field: kvm_pit_config::flags"]
3333 [::std::mem::offset_of!(kvm_pit_config, flags) - 0usize];
3334 ["Offset of field: kvm_pit_config::pad"][::std::mem::offset_of!(kvm_pit_config, pad) - 4usize];
3335};
3336#[repr(C)]
3337#[derive(Copy, Clone)]
3338pub struct kvm_hyperv_exit {
3339 pub type_: __u32,
3340 pub pad1: __u32,
3341 pub u: kvm_hyperv_exit__bindgen_ty_1,
3342}
3343#[repr(C)]
3344#[derive(Copy, Clone)]
3345pub union kvm_hyperv_exit__bindgen_ty_1 {
3346 pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1,
3347 pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2,
3348 pub syndbg: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3,
3349}
3350#[repr(C)]
3351#[derive(Debug, Default, Copy, Clone, PartialEq)]
3352pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 {
3353 pub msr: __u32,
3354 pub pad2: __u32,
3355 pub control: __u64,
3356 pub evt_page: __u64,
3357 pub msg_page: __u64,
3358}
3359#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3360const _: () = {
3361 ["Size of kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1"]
3362 [::std::mem::size_of::<kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1>() - 32usize];
3363 ["Alignment of kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1"]
3364 [::std::mem::align_of::<kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1>() - 8usize];
3365 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1::msr"]
3366 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, msr) - 0usize];
3367 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1::pad2"]
3368 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, pad2) - 4usize];
3369 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1::control"]
3370 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, control) - 8usize];
3371 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1::evt_page"]
3372 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, evt_page) - 16usize];
3373 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1::msg_page"]
3374 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, msg_page) - 24usize];
3375};
3376#[repr(C)]
3377#[derive(Debug, Default, Copy, Clone, PartialEq)]
3378pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 {
3379 pub input: __u64,
3380 pub result: __u64,
3381 pub params: [__u64; 2usize],
3382}
3383#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3384const _: () = {
3385 ["Size of kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2"]
3386 [::std::mem::size_of::<kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2>() - 32usize];
3387 ["Alignment of kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2"]
3388 [::std::mem::align_of::<kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2>() - 8usize];
3389 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2::input"]
3390 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, input) - 0usize];
3391 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2::result"]
3392 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, result) - 8usize];
3393 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2::params"]
3394 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, params) - 16usize];
3395};
3396#[repr(C)]
3397#[derive(Debug, Default, Copy, Clone, PartialEq)]
3398pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3 {
3399 pub msr: __u32,
3400 pub pad2: __u32,
3401 pub control: __u64,
3402 pub status: __u64,
3403 pub send_page: __u64,
3404 pub recv_page: __u64,
3405 pub pending_page: __u64,
3406}
3407#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3408const _: () = {
3409 ["Size of kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3"]
3410 [::std::mem::size_of::<kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3>() - 48usize];
3411 ["Alignment of kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3"]
3412 [::std::mem::align_of::<kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3>() - 8usize];
3413 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3::msr"]
3414 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, msr) - 0usize];
3415 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3::pad2"]
3416 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, pad2) - 4usize];
3417 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3::control"]
3418 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, control) - 8usize];
3419 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3::status"]
3420 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, status) - 16usize];
3421 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3::send_page"]
3422 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, send_page) - 24usize];
3423 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3::recv_page"]
3424 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3, recv_page) - 32usize];
3425 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3::pending_page"][::std::mem::offset_of!(
3426 kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_3,
3427 pending_page
3428 ) - 40usize];
3429};
3430#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3431const _: () = {
3432 ["Size of kvm_hyperv_exit__bindgen_ty_1"]
3433 [::std::mem::size_of::<kvm_hyperv_exit__bindgen_ty_1>() - 48usize];
3434 ["Alignment of kvm_hyperv_exit__bindgen_ty_1"]
3435 [::std::mem::align_of::<kvm_hyperv_exit__bindgen_ty_1>() - 8usize];
3436 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1::synic"]
3437 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1, synic) - 0usize];
3438 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1::hcall"]
3439 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1, hcall) - 0usize];
3440 ["Offset of field: kvm_hyperv_exit__bindgen_ty_1::syndbg"]
3441 [::std::mem::offset_of!(kvm_hyperv_exit__bindgen_ty_1, syndbg) - 0usize];
3442};
3443impl Default for kvm_hyperv_exit__bindgen_ty_1 {
3444 fn default() -> Self {
3445 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3446 unsafe {
3447 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3448 s.assume_init()
3449 }
3450 }
3451}
3452impl ::std::fmt::Debug for kvm_hyperv_exit__bindgen_ty_1 {
3453 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3454 write!(f, "kvm_hyperv_exit__bindgen_ty_1 {{ union }}")
3455 }
3456}
3457#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3458const _: () = {
3459 ["Size of kvm_hyperv_exit"][::std::mem::size_of::<kvm_hyperv_exit>() - 56usize];
3460 ["Alignment of kvm_hyperv_exit"][::std::mem::align_of::<kvm_hyperv_exit>() - 8usize];
3461 ["Offset of field: kvm_hyperv_exit::type_"]
3462 [::std::mem::offset_of!(kvm_hyperv_exit, type_) - 0usize];
3463 ["Offset of field: kvm_hyperv_exit::pad1"]
3464 [::std::mem::offset_of!(kvm_hyperv_exit, pad1) - 4usize];
3465 ["Offset of field: kvm_hyperv_exit::u"][::std::mem::offset_of!(kvm_hyperv_exit, u) - 8usize];
3466};
3467impl Default for kvm_hyperv_exit {
3468 fn default() -> Self {
3469 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3470 unsafe {
3471 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3472 s.assume_init()
3473 }
3474 }
3475}
3476impl ::std::fmt::Debug for kvm_hyperv_exit {
3477 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3478 write!(
3479 f,
3480 "kvm_hyperv_exit {{ type: {:?}, pad1: {:?}, u: {:?} }}",
3481 self.type_, self.pad1, self.u
3482 )
3483 }
3484}
3485#[repr(C)]
3486#[derive(Copy, Clone)]
3487pub struct kvm_xen_exit {
3488 pub type_: __u32,
3489 pub u: kvm_xen_exit__bindgen_ty_1,
3490}
3491#[repr(C)]
3492#[derive(Copy, Clone)]
3493pub union kvm_xen_exit__bindgen_ty_1 {
3494 pub hcall: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1,
3495}
3496#[repr(C)]
3497#[derive(Debug, Default, Copy, Clone, PartialEq)]
3498pub struct kvm_xen_exit__bindgen_ty_1__bindgen_ty_1 {
3499 pub longmode: __u32,
3500 pub cpl: __u32,
3501 pub input: __u64,
3502 pub result: __u64,
3503 pub params: [__u64; 6usize],
3504}
3505#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3506const _: () = {
3507 ["Size of kvm_xen_exit__bindgen_ty_1__bindgen_ty_1"]
3508 [::std::mem::size_of::<kvm_xen_exit__bindgen_ty_1__bindgen_ty_1>() - 72usize];
3509 ["Alignment of kvm_xen_exit__bindgen_ty_1__bindgen_ty_1"]
3510 [::std::mem::align_of::<kvm_xen_exit__bindgen_ty_1__bindgen_ty_1>() - 8usize];
3511 ["Offset of field: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1::longmode"]
3512 [::std::mem::offset_of!(kvm_xen_exit__bindgen_ty_1__bindgen_ty_1, longmode) - 0usize];
3513 ["Offset of field: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1::cpl"]
3514 [::std::mem::offset_of!(kvm_xen_exit__bindgen_ty_1__bindgen_ty_1, cpl) - 4usize];
3515 ["Offset of field: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1::input"]
3516 [::std::mem::offset_of!(kvm_xen_exit__bindgen_ty_1__bindgen_ty_1, input) - 8usize];
3517 ["Offset of field: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1::result"]
3518 [::std::mem::offset_of!(kvm_xen_exit__bindgen_ty_1__bindgen_ty_1, result) - 16usize];
3519 ["Offset of field: kvm_xen_exit__bindgen_ty_1__bindgen_ty_1::params"]
3520 [::std::mem::offset_of!(kvm_xen_exit__bindgen_ty_1__bindgen_ty_1, params) - 24usize];
3521};
3522#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3523const _: () = {
3524 ["Size of kvm_xen_exit__bindgen_ty_1"]
3525 [::std::mem::size_of::<kvm_xen_exit__bindgen_ty_1>() - 72usize];
3526 ["Alignment of kvm_xen_exit__bindgen_ty_1"]
3527 [::std::mem::align_of::<kvm_xen_exit__bindgen_ty_1>() - 8usize];
3528 ["Offset of field: kvm_xen_exit__bindgen_ty_1::hcall"]
3529 [::std::mem::offset_of!(kvm_xen_exit__bindgen_ty_1, hcall) - 0usize];
3530};
3531impl Default for kvm_xen_exit__bindgen_ty_1 {
3532 fn default() -> Self {
3533 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3534 unsafe {
3535 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3536 s.assume_init()
3537 }
3538 }
3539}
3540impl ::std::fmt::Debug for kvm_xen_exit__bindgen_ty_1 {
3541 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3542 write!(f, "kvm_xen_exit__bindgen_ty_1 {{ union }}")
3543 }
3544}
3545#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3546const _: () = {
3547 ["Size of kvm_xen_exit"][::std::mem::size_of::<kvm_xen_exit>() - 80usize];
3548 ["Alignment of kvm_xen_exit"][::std::mem::align_of::<kvm_xen_exit>() - 8usize];
3549 ["Offset of field: kvm_xen_exit::type_"][::std::mem::offset_of!(kvm_xen_exit, type_) - 0usize];
3550 ["Offset of field: kvm_xen_exit::u"][::std::mem::offset_of!(kvm_xen_exit, u) - 8usize];
3551};
3552impl Default for kvm_xen_exit {
3553 fn default() -> Self {
3554 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3555 unsafe {
3556 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3557 s.assume_init()
3558 }
3559 }
3560}
3561impl ::std::fmt::Debug for kvm_xen_exit {
3562 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3563 write!(
3564 f,
3565 "kvm_xen_exit {{ type: {:?}, u: {:?} }}",
3566 self.type_, self.u
3567 )
3568 }
3569}
3570#[repr(C)]
3571#[derive(Copy, Clone)]
3572pub struct kvm_run {
3573 pub request_interrupt_window: __u8,
3574 pub immediate_exit: __u8,
3575 pub padding1: [__u8; 6usize],
3576 pub exit_reason: __u32,
3577 pub ready_for_interrupt_injection: __u8,
3578 pub if_flag: __u8,
3579 pub flags: __u16,
3580 pub cr8: __u64,
3581 pub apic_base: __u64,
3582 pub __bindgen_anon_1: kvm_run__bindgen_ty_1,
3583 pub kvm_valid_regs: __u64,
3584 pub kvm_dirty_regs: __u64,
3585 pub s: kvm_run__bindgen_ty_2,
3586}
3587#[repr(C)]
3588#[derive(Copy, Clone)]
3589pub union kvm_run__bindgen_ty_1 {
3590 pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1,
3591 pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2,
3592 pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3,
3593 pub io: kvm_run__bindgen_ty_1__bindgen_ty_4,
3594 pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5,
3595 pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6,
3596 pub iocsr_io: kvm_run__bindgen_ty_1__bindgen_ty_7,
3597 pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_8,
3598 pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_9,
3599 pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_10,
3600 pub s390_reset_flags: __u64,
3601 pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_11,
3602 pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_12,
3603 pub internal: kvm_run__bindgen_ty_1__bindgen_ty_13,
3604 pub emulation_failure: kvm_run__bindgen_ty_1__bindgen_ty_14,
3605 pub osi: kvm_run__bindgen_ty_1__bindgen_ty_15,
3606 pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_16,
3607 pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_17,
3608 pub epr: kvm_run__bindgen_ty_1__bindgen_ty_18,
3609 pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_19,
3610 pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_20,
3611 pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_21,
3612 pub hyperv: kvm_hyperv_exit,
3613 pub arm_nisv: kvm_run__bindgen_ty_1__bindgen_ty_22,
3614 pub msr: kvm_run__bindgen_ty_1__bindgen_ty_23,
3615 pub xen: kvm_xen_exit,
3616 pub riscv_sbi: kvm_run__bindgen_ty_1__bindgen_ty_24,
3617 pub riscv_csr: kvm_run__bindgen_ty_1__bindgen_ty_25,
3618 pub notify: kvm_run__bindgen_ty_1__bindgen_ty_26,
3619 pub memory_fault: kvm_run__bindgen_ty_1__bindgen_ty_27,
3620 pub padding: [::std::os::raw::c_char; 256usize],
3621}
3622#[repr(C)]
3623#[derive(Debug, Default, Copy, Clone, PartialEq)]
3624pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 {
3625 pub hardware_exit_reason: __u64,
3626}
3627#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3628const _: () = {
3629 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_1"]
3630 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_1>() - 8usize];
3631 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_1"]
3632 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_1>() - 8usize];
3633 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_1::hardware_exit_reason"][::std::mem::offset_of!(
3634 kvm_run__bindgen_ty_1__bindgen_ty_1,
3635 hardware_exit_reason
3636 ) - 0usize];
3637};
3638#[repr(C)]
3639#[derive(Debug, Default, Copy, Clone, PartialEq)]
3640pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 {
3641 pub hardware_entry_failure_reason: __u64,
3642 pub cpu: __u32,
3643}
3644#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3645const _: () = {
3646 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_2"]
3647 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_2>() - 16usize];
3648 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_2"]
3649 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_2>() - 8usize];
3650 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_2::hardware_entry_failure_reason"][::std::mem::offset_of!(
3651 kvm_run__bindgen_ty_1__bindgen_ty_2,
3652 hardware_entry_failure_reason
3653 )
3654 - 0usize];
3655 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_2::cpu"]
3656 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_2, cpu) - 8usize];
3657};
3658#[repr(C)]
3659#[derive(Debug, Default, Copy, Clone, PartialEq)]
3660pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 {
3661 pub exception: __u32,
3662 pub error_code: __u32,
3663}
3664#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3665const _: () = {
3666 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_3"]
3667 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_3>() - 8usize];
3668 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_3"]
3669 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_3>() - 4usize];
3670 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_3::exception"]
3671 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_3, exception) - 0usize];
3672 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_3::error_code"]
3673 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_3, error_code) - 4usize];
3674};
3675#[repr(C)]
3676#[derive(Debug, Default, Copy, Clone, PartialEq)]
3677pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 {
3678 pub direction: __u8,
3679 pub size: __u8,
3680 pub port: __u16,
3681 pub count: __u32,
3682 pub data_offset: __u64,
3683}
3684#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3685const _: () = {
3686 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_4"]
3687 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_4>() - 16usize];
3688 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_4"]
3689 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_4>() - 8usize];
3690 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_4::direction"]
3691 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_4, direction) - 0usize];
3692 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_4::size"]
3693 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_4, size) - 1usize];
3694 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_4::port"]
3695 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_4, port) - 2usize];
3696 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_4::count"]
3697 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_4, count) - 4usize];
3698 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_4::data_offset"]
3699 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_4, data_offset) - 8usize];
3700};
3701#[repr(C)]
3702#[derive(Debug, Default, Copy, Clone, PartialEq)]
3703pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 {
3704 pub arch: kvm_debug_exit_arch,
3705}
3706#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3707const _: () = {
3708 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_5"]
3709 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_5>() - 32usize];
3710 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_5"]
3711 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_5>() - 8usize];
3712 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_5::arch"]
3713 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_5, arch) - 0usize];
3714};
3715#[repr(C)]
3716#[derive(Debug, Default, Copy, Clone, PartialEq)]
3717pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 {
3718 pub phys_addr: __u64,
3719 pub data: [__u8; 8usize],
3720 pub len: __u32,
3721 pub is_write: __u8,
3722}
3723#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3724const _: () = {
3725 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_6"]
3726 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_6>() - 24usize];
3727 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_6"]
3728 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_6>() - 8usize];
3729 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_6::phys_addr"]
3730 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_6, phys_addr) - 0usize];
3731 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_6::data"]
3732 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_6, data) - 8usize];
3733 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_6::len"]
3734 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_6, len) - 16usize];
3735 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_6::is_write"]
3736 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_6, is_write) - 20usize];
3737};
3738#[repr(C)]
3739#[derive(Debug, Default, Copy, Clone, PartialEq)]
3740pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 {
3741 pub phys_addr: __u64,
3742 pub data: [__u8; 8usize],
3743 pub len: __u32,
3744 pub is_write: __u8,
3745}
3746#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3747const _: () = {
3748 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_7"]
3749 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_7>() - 24usize];
3750 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_7"]
3751 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_7>() - 8usize];
3752 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_7::phys_addr"]
3753 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_7, phys_addr) - 0usize];
3754 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_7::data"]
3755 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_7, data) - 8usize];
3756 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_7::len"]
3757 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_7, len) - 16usize];
3758 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_7::is_write"]
3759 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_7, is_write) - 20usize];
3760};
3761#[repr(C)]
3762#[derive(Copy, Clone)]
3763pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 {
3764 pub nr: __u64,
3765 pub args: [__u64; 6usize],
3766 pub ret: __u64,
3767 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1,
3768}
3769#[repr(C)]
3770#[derive(Copy, Clone)]
3771pub union kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 {
3772 pub longmode: __u32,
3773 pub flags: __u64,
3774}
3775#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3776const _: () = {
3777 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1"]
3778 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1>() - 8usize];
3779 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1"]
3780 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1>() - 8usize];
3781 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1::longmode"][::std::mem::offset_of!(
3782 kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1,
3783 longmode
3784 ) - 0usize];
3785 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1::flags"]
3786 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1, flags) - 0usize];
3787};
3788impl Default for kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 {
3789 fn default() -> Self {
3790 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3791 unsafe {
3792 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3793 s.assume_init()
3794 }
3795 }
3796}
3797impl ::std::fmt::Debug for kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 {
3798 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3799 write!(
3800 f,
3801 "kvm_run__bindgen_ty_1__bindgen_ty_8__bindgen_ty_1 {{ union }}"
3802 )
3803 }
3804}
3805#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3806const _: () = {
3807 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_8"]
3808 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_8>() - 72usize];
3809 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_8"]
3810 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_8>() - 8usize];
3811 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_8::nr"]
3812 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_8, nr) - 0usize];
3813 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_8::args"]
3814 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_8, args) - 8usize];
3815 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_8::ret"]
3816 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_8, ret) - 56usize];
3817};
3818impl Default for kvm_run__bindgen_ty_1__bindgen_ty_8 {
3819 fn default() -> Self {
3820 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3821 unsafe {
3822 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3823 s.assume_init()
3824 }
3825 }
3826}
3827impl ::std::fmt::Debug for kvm_run__bindgen_ty_1__bindgen_ty_8 {
3828 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3829 write ! (f , "kvm_run__bindgen_ty_1__bindgen_ty_8 {{ nr: {:?}, args: {:?}, ret: {:?}, __bindgen_anon_1: {:?} }}" , self . nr , self . args , self . ret , self . __bindgen_anon_1)
3830 }
3831}
3832#[repr(C)]
3833#[derive(Debug, Default, Copy, Clone, PartialEq)]
3834pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 {
3835 pub rip: __u64,
3836 pub is_write: __u32,
3837 pub pad: __u32,
3838}
3839#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3840const _: () = {
3841 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_9"]
3842 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_9>() - 16usize];
3843 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_9"]
3844 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_9>() - 8usize];
3845 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_9::rip"]
3846 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_9, rip) - 0usize];
3847 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_9::is_write"]
3848 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_9, is_write) - 8usize];
3849 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_9::pad"]
3850 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_9, pad) - 12usize];
3851};
3852#[repr(C)]
3853#[derive(Debug, Default, Copy, Clone, PartialEq)]
3854pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 {
3855 pub icptcode: __u8,
3856 pub ipa: __u16,
3857 pub ipb: __u32,
3858}
3859#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3860const _: () = {
3861 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_10"]
3862 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_10>() - 8usize];
3863 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_10"]
3864 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_10>() - 4usize];
3865 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_10::icptcode"]
3866 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_10, icptcode) - 0usize];
3867 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_10::ipa"]
3868 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_10, ipa) - 2usize];
3869 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_10::ipb"]
3870 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_10, ipb) - 4usize];
3871};
3872#[repr(C)]
3873#[derive(Debug, Default, Copy, Clone, PartialEq)]
3874pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 {
3875 pub trans_exc_code: __u64,
3876 pub pgm_code: __u32,
3877}
3878#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3879const _: () = {
3880 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_11"]
3881 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_11>() - 16usize];
3882 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_11"]
3883 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_11>() - 8usize];
3884 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_11::trans_exc_code"]
3885 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_11, trans_exc_code) - 0usize];
3886 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_11::pgm_code"]
3887 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_11, pgm_code) - 8usize];
3888};
3889#[repr(C)]
3890#[derive(Debug, Default, Copy, Clone, PartialEq)]
3891pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 {
3892 pub dcrn: __u32,
3893 pub data: __u32,
3894 pub is_write: __u8,
3895}
3896#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3897const _: () = {
3898 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_12"]
3899 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_12>() - 12usize];
3900 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_12"]
3901 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_12>() - 4usize];
3902 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_12::dcrn"]
3903 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_12, dcrn) - 0usize];
3904 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_12::data"]
3905 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_12, data) - 4usize];
3906 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_12::is_write"]
3907 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_12, is_write) - 8usize];
3908};
3909#[repr(C)]
3910#[derive(Debug, Default, Copy, Clone, PartialEq)]
3911pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 {
3912 pub suberror: __u32,
3913 pub ndata: __u32,
3914 pub data: [__u64; 16usize],
3915}
3916#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3917const _: () = {
3918 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_13"]
3919 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_13>() - 136usize];
3920 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_13"]
3921 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_13>() - 8usize];
3922 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_13::suberror"]
3923 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_13, suberror) - 0usize];
3924 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_13::ndata"]
3925 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_13, ndata) - 4usize];
3926 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_13::data"]
3927 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_13, data) - 8usize];
3928};
3929#[repr(C)]
3930#[derive(Copy, Clone)]
3931pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 {
3932 pub suberror: __u32,
3933 pub ndata: __u32,
3934 pub flags: __u64,
3935 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1,
3936}
3937#[repr(C)]
3938#[derive(Copy, Clone)]
3939pub union kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 {
3940 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1,
3941}
3942#[repr(C)]
3943#[derive(Debug, Default, Copy, Clone, PartialEq)]
3944pub struct kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1 {
3945 pub insn_size: __u8,
3946 pub insn_bytes: [__u8; 15usize],
3947}
3948#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3949const _: () = {
3950 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1"][::std::mem::size_of::<
3951 kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1,
3952 >() - 16usize];
3953 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1"]
3954 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1>(
3955 ) - 1usize];
3956 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1::insn_size"] [:: std :: mem :: offset_of ! (kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1 , insn_size) - 0usize] ;
3957 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1::insn_bytes"] [:: std :: mem :: offset_of ! (kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1__bindgen_ty_1 , insn_bytes) - 1usize] ;
3958};
3959#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3960const _: () = {
3961 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1"]
3962 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1>() - 16usize];
3963 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1"]
3964 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1>() - 1usize];
3965};
3966impl Default for kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 {
3967 fn default() -> Self {
3968 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3969 unsafe {
3970 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3971 s.assume_init()
3972 }
3973 }
3974}
3975impl ::std::fmt::Debug for kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 {
3976 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3977 write!(
3978 f,
3979 "kvm_run__bindgen_ty_1__bindgen_ty_14__bindgen_ty_1 {{ union }}"
3980 )
3981 }
3982}
3983#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3984const _: () = {
3985 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_14"]
3986 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_14>() - 32usize];
3987 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_14"]
3988 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_14>() - 8usize];
3989 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_14::suberror"]
3990 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_14, suberror) - 0usize];
3991 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_14::ndata"]
3992 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_14, ndata) - 4usize];
3993 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_14::flags"]
3994 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_14, flags) - 8usize];
3995};
3996impl Default for kvm_run__bindgen_ty_1__bindgen_ty_14 {
3997 fn default() -> Self {
3998 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3999 unsafe {
4000 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4001 s.assume_init()
4002 }
4003 }
4004}
4005impl ::std::fmt::Debug for kvm_run__bindgen_ty_1__bindgen_ty_14 {
4006 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4007 write ! (f , "kvm_run__bindgen_ty_1__bindgen_ty_14 {{ suberror: {:?}, ndata: {:?}, flags: {:?}, __bindgen_anon_1: {:?} }}" , self . suberror , self . ndata , self . flags , self . __bindgen_anon_1)
4008 }
4009}
4010#[repr(C)]
4011#[derive(Debug, Default, Copy, Clone, PartialEq)]
4012pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 {
4013 pub gprs: [__u64; 32usize],
4014}
4015#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4016const _: () = {
4017 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_15"]
4018 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_15>() - 256usize];
4019 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_15"]
4020 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_15>() - 8usize];
4021 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_15::gprs"]
4022 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_15, gprs) - 0usize];
4023};
4024#[repr(C)]
4025#[derive(Debug, Default, Copy, Clone, PartialEq)]
4026pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 {
4027 pub nr: __u64,
4028 pub ret: __u64,
4029 pub args: [__u64; 9usize],
4030}
4031#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4032const _: () = {
4033 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_16"]
4034 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_16>() - 88usize];
4035 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_16"]
4036 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_16>() - 8usize];
4037 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_16::nr"]
4038 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_16, nr) - 0usize];
4039 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_16::ret"]
4040 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_16, ret) - 8usize];
4041 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_16::args"]
4042 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_16, args) - 16usize];
4043};
4044#[repr(C)]
4045#[derive(Debug, Default, Copy, Clone, PartialEq)]
4046pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 {
4047 pub subchannel_id: __u16,
4048 pub subchannel_nr: __u16,
4049 pub io_int_parm: __u32,
4050 pub io_int_word: __u32,
4051 pub ipb: __u32,
4052 pub dequeued: __u8,
4053}
4054#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4055const _: () = {
4056 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_17"]
4057 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_17>() - 20usize];
4058 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_17"]
4059 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_17>() - 4usize];
4060 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_17::subchannel_id"]
4061 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_17, subchannel_id) - 0usize];
4062 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_17::subchannel_nr"]
4063 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_17, subchannel_nr) - 2usize];
4064 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_17::io_int_parm"]
4065 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_17, io_int_parm) - 4usize];
4066 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_17::io_int_word"]
4067 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_17, io_int_word) - 8usize];
4068 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_17::ipb"]
4069 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_17, ipb) - 12usize];
4070 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_17::dequeued"]
4071 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_17, dequeued) - 16usize];
4072};
4073#[repr(C)]
4074#[derive(Debug, Default, Copy, Clone, PartialEq)]
4075pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 {
4076 pub epr: __u32,
4077}
4078#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4079const _: () = {
4080 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_18"]
4081 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_18>() - 4usize];
4082 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_18"]
4083 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_18>() - 4usize];
4084 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_18::epr"]
4085 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_18, epr) - 0usize];
4086};
4087#[repr(C)]
4088#[derive(Copy, Clone)]
4089pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 {
4090 pub type_: __u32,
4091 pub ndata: __u32,
4092 pub __bindgen_anon_1: kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1,
4093}
4094#[repr(C)]
4095#[derive(Copy, Clone)]
4096pub union kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 {
4097 pub flags: __u64,
4098 pub data: [__u64; 16usize],
4099}
4100#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4101const _: () = {
4102 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1"]
4103 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1>() - 128usize];
4104 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1"]
4105 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1>() - 8usize];
4106 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1::flags"][::std::mem::offset_of!(
4107 kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1,
4108 flags
4109 ) - 0usize];
4110 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1::data"]
4111 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1, data) - 0usize];
4112};
4113impl Default for kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 {
4114 fn default() -> Self {
4115 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4116 unsafe {
4117 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4118 s.assume_init()
4119 }
4120 }
4121}
4122impl ::std::fmt::Debug for kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 {
4123 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4124 write!(
4125 f,
4126 "kvm_run__bindgen_ty_1__bindgen_ty_19__bindgen_ty_1 {{ union }}"
4127 )
4128 }
4129}
4130#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4131const _: () = {
4132 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_19"]
4133 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_19>() - 136usize];
4134 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_19"]
4135 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_19>() - 8usize];
4136 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_19::type_"]
4137 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_19, type_) - 0usize];
4138 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_19::ndata"]
4139 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_19, ndata) - 4usize];
4140};
4141impl Default for kvm_run__bindgen_ty_1__bindgen_ty_19 {
4142 fn default() -> Self {
4143 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4144 unsafe {
4145 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4146 s.assume_init()
4147 }
4148 }
4149}
4150impl ::std::fmt::Debug for kvm_run__bindgen_ty_1__bindgen_ty_19 {
4151 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4152 write ! (f , "kvm_run__bindgen_ty_1__bindgen_ty_19 {{ type: {:?}, ndata: {:?}, __bindgen_anon_1: {:?} }}" , self . type_ , self . ndata , self . __bindgen_anon_1)
4153 }
4154}
4155#[repr(C)]
4156#[derive(Debug, Default, Copy, Clone, PartialEq)]
4157pub struct kvm_run__bindgen_ty_1__bindgen_ty_20 {
4158 pub addr: __u64,
4159 pub ar: __u8,
4160 pub reserved: __u8,
4161 pub fc: __u8,
4162 pub sel1: __u8,
4163 pub sel2: __u16,
4164}
4165#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4166const _: () = {
4167 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_20"]
4168 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_20>() - 16usize];
4169 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_20"]
4170 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_20>() - 8usize];
4171 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_20::addr"]
4172 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_20, addr) - 0usize];
4173 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_20::ar"]
4174 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_20, ar) - 8usize];
4175 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_20::reserved"]
4176 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_20, reserved) - 9usize];
4177 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_20::fc"]
4178 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_20, fc) - 10usize];
4179 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_20::sel1"]
4180 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_20, sel1) - 11usize];
4181 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_20::sel2"]
4182 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_20, sel2) - 12usize];
4183};
4184#[repr(C)]
4185#[derive(Debug, Default, Copy, Clone, PartialEq)]
4186pub struct kvm_run__bindgen_ty_1__bindgen_ty_21 {
4187 pub vector: __u8,
4188}
4189#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4190const _: () = {
4191 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_21"]
4192 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_21>() - 1usize];
4193 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_21"]
4194 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_21>() - 1usize];
4195 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_21::vector"]
4196 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_21, vector) - 0usize];
4197};
4198#[repr(C)]
4199#[derive(Debug, Default, Copy, Clone, PartialEq)]
4200pub struct kvm_run__bindgen_ty_1__bindgen_ty_22 {
4201 pub esr_iss: __u64,
4202 pub fault_ipa: __u64,
4203}
4204#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4205const _: () = {
4206 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_22"]
4207 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_22>() - 16usize];
4208 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_22"]
4209 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_22>() - 8usize];
4210 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_22::esr_iss"]
4211 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_22, esr_iss) - 0usize];
4212 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_22::fault_ipa"]
4213 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_22, fault_ipa) - 8usize];
4214};
4215#[repr(C)]
4216#[derive(Debug, Default, Copy, Clone, PartialEq)]
4217pub struct kvm_run__bindgen_ty_1__bindgen_ty_23 {
4218 pub error: __u8,
4219 pub pad: [__u8; 7usize],
4220 pub reason: __u32,
4221 pub index: __u32,
4222 pub data: __u64,
4223}
4224#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4225const _: () = {
4226 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_23"]
4227 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_23>() - 24usize];
4228 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_23"]
4229 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_23>() - 8usize];
4230 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_23::error"]
4231 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_23, error) - 0usize];
4232 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_23::pad"]
4233 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_23, pad) - 1usize];
4234 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_23::reason"]
4235 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_23, reason) - 8usize];
4236 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_23::index"]
4237 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_23, index) - 12usize];
4238 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_23::data"]
4239 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_23, data) - 16usize];
4240};
4241#[repr(C)]
4242#[derive(Debug, Default, Copy, Clone, PartialEq)]
4243pub struct kvm_run__bindgen_ty_1__bindgen_ty_24 {
4244 pub extension_id: ::std::os::raw::c_ulong,
4245 pub function_id: ::std::os::raw::c_ulong,
4246 pub args: [::std::os::raw::c_ulong; 6usize],
4247 pub ret: [::std::os::raw::c_ulong; 2usize],
4248}
4249#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4250const _: () = {
4251 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_24"]
4252 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_24>() - 80usize];
4253 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_24"]
4254 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_24>() - 8usize];
4255 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_24::extension_id"]
4256 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_24, extension_id) - 0usize];
4257 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_24::function_id"]
4258 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_24, function_id) - 8usize];
4259 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_24::args"]
4260 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_24, args) - 16usize];
4261 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_24::ret"]
4262 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_24, ret) - 64usize];
4263};
4264#[repr(C)]
4265#[derive(Debug, Default, Copy, Clone, PartialEq)]
4266pub struct kvm_run__bindgen_ty_1__bindgen_ty_25 {
4267 pub csr_num: ::std::os::raw::c_ulong,
4268 pub new_value: ::std::os::raw::c_ulong,
4269 pub write_mask: ::std::os::raw::c_ulong,
4270 pub ret_value: ::std::os::raw::c_ulong,
4271}
4272#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4273const _: () = {
4274 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_25"]
4275 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_25>() - 32usize];
4276 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_25"]
4277 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_25>() - 8usize];
4278 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_25::csr_num"]
4279 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_25, csr_num) - 0usize];
4280 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_25::new_value"]
4281 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_25, new_value) - 8usize];
4282 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_25::write_mask"]
4283 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_25, write_mask) - 16usize];
4284 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_25::ret_value"]
4285 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_25, ret_value) - 24usize];
4286};
4287#[repr(C)]
4288#[derive(Debug, Default, Copy, Clone, PartialEq)]
4289pub struct kvm_run__bindgen_ty_1__bindgen_ty_26 {
4290 pub flags: __u32,
4291}
4292#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4293const _: () = {
4294 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_26"]
4295 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_26>() - 4usize];
4296 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_26"]
4297 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_26>() - 4usize];
4298 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_26::flags"]
4299 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_26, flags) - 0usize];
4300};
4301#[repr(C)]
4302#[derive(Debug, Default, Copy, Clone, PartialEq)]
4303pub struct kvm_run__bindgen_ty_1__bindgen_ty_27 {
4304 pub flags: __u64,
4305 pub gpa: __u64,
4306 pub size: __u64,
4307}
4308#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4309const _: () = {
4310 ["Size of kvm_run__bindgen_ty_1__bindgen_ty_27"]
4311 [::std::mem::size_of::<kvm_run__bindgen_ty_1__bindgen_ty_27>() - 24usize];
4312 ["Alignment of kvm_run__bindgen_ty_1__bindgen_ty_27"]
4313 [::std::mem::align_of::<kvm_run__bindgen_ty_1__bindgen_ty_27>() - 8usize];
4314 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_27::flags"]
4315 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_27, flags) - 0usize];
4316 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_27::gpa"]
4317 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_27, gpa) - 8usize];
4318 ["Offset of field: kvm_run__bindgen_ty_1__bindgen_ty_27::size"]
4319 [::std::mem::offset_of!(kvm_run__bindgen_ty_1__bindgen_ty_27, size) - 16usize];
4320};
4321#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4322const _: () = {
4323 ["Size of kvm_run__bindgen_ty_1"][::std::mem::size_of::<kvm_run__bindgen_ty_1>() - 256usize];
4324 ["Alignment of kvm_run__bindgen_ty_1"]
4325 [::std::mem::align_of::<kvm_run__bindgen_ty_1>() - 8usize];
4326 ["Offset of field: kvm_run__bindgen_ty_1::hw"]
4327 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, hw) - 0usize];
4328 ["Offset of field: kvm_run__bindgen_ty_1::fail_entry"]
4329 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, fail_entry) - 0usize];
4330 ["Offset of field: kvm_run__bindgen_ty_1::ex"]
4331 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, ex) - 0usize];
4332 ["Offset of field: kvm_run__bindgen_ty_1::io"]
4333 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, io) - 0usize];
4334 ["Offset of field: kvm_run__bindgen_ty_1::debug"]
4335 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, debug) - 0usize];
4336 ["Offset of field: kvm_run__bindgen_ty_1::mmio"]
4337 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, mmio) - 0usize];
4338 ["Offset of field: kvm_run__bindgen_ty_1::iocsr_io"]
4339 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, iocsr_io) - 0usize];
4340 ["Offset of field: kvm_run__bindgen_ty_1::hypercall"]
4341 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, hypercall) - 0usize];
4342 ["Offset of field: kvm_run__bindgen_ty_1::tpr_access"]
4343 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, tpr_access) - 0usize];
4344 ["Offset of field: kvm_run__bindgen_ty_1::s390_sieic"]
4345 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, s390_sieic) - 0usize];
4346 ["Offset of field: kvm_run__bindgen_ty_1::s390_reset_flags"]
4347 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, s390_reset_flags) - 0usize];
4348 ["Offset of field: kvm_run__bindgen_ty_1::s390_ucontrol"]
4349 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, s390_ucontrol) - 0usize];
4350 ["Offset of field: kvm_run__bindgen_ty_1::dcr"]
4351 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, dcr) - 0usize];
4352 ["Offset of field: kvm_run__bindgen_ty_1::internal"]
4353 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, internal) - 0usize];
4354 ["Offset of field: kvm_run__bindgen_ty_1::emulation_failure"]
4355 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, emulation_failure) - 0usize];
4356 ["Offset of field: kvm_run__bindgen_ty_1::osi"]
4357 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, osi) - 0usize];
4358 ["Offset of field: kvm_run__bindgen_ty_1::papr_hcall"]
4359 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, papr_hcall) - 0usize];
4360 ["Offset of field: kvm_run__bindgen_ty_1::s390_tsch"]
4361 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, s390_tsch) - 0usize];
4362 ["Offset of field: kvm_run__bindgen_ty_1::epr"]
4363 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, epr) - 0usize];
4364 ["Offset of field: kvm_run__bindgen_ty_1::system_event"]
4365 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, system_event) - 0usize];
4366 ["Offset of field: kvm_run__bindgen_ty_1::s390_stsi"]
4367 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, s390_stsi) - 0usize];
4368 ["Offset of field: kvm_run__bindgen_ty_1::eoi"]
4369 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, eoi) - 0usize];
4370 ["Offset of field: kvm_run__bindgen_ty_1::hyperv"]
4371 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, hyperv) - 0usize];
4372 ["Offset of field: kvm_run__bindgen_ty_1::arm_nisv"]
4373 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, arm_nisv) - 0usize];
4374 ["Offset of field: kvm_run__bindgen_ty_1::msr"]
4375 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, msr) - 0usize];
4376 ["Offset of field: kvm_run__bindgen_ty_1::xen"]
4377 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, xen) - 0usize];
4378 ["Offset of field: kvm_run__bindgen_ty_1::riscv_sbi"]
4379 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, riscv_sbi) - 0usize];
4380 ["Offset of field: kvm_run__bindgen_ty_1::riscv_csr"]
4381 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, riscv_csr) - 0usize];
4382 ["Offset of field: kvm_run__bindgen_ty_1::notify"]
4383 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, notify) - 0usize];
4384 ["Offset of field: kvm_run__bindgen_ty_1::memory_fault"]
4385 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, memory_fault) - 0usize];
4386 ["Offset of field: kvm_run__bindgen_ty_1::padding"]
4387 [::std::mem::offset_of!(kvm_run__bindgen_ty_1, padding) - 0usize];
4388};
4389impl Default for kvm_run__bindgen_ty_1 {
4390 fn default() -> Self {
4391 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4392 unsafe {
4393 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4394 s.assume_init()
4395 }
4396 }
4397}
4398impl ::std::fmt::Debug for kvm_run__bindgen_ty_1 {
4399 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4400 write!(f, "kvm_run__bindgen_ty_1 {{ union }}")
4401 }
4402}
4403#[repr(C)]
4404#[derive(Copy, Clone)]
4405pub union kvm_run__bindgen_ty_2 {
4406 pub regs: kvm_sync_regs,
4407 pub padding: [::std::os::raw::c_char; 2048usize],
4408}
4409#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4410const _: () = {
4411 ["Size of kvm_run__bindgen_ty_2"][::std::mem::size_of::<kvm_run__bindgen_ty_2>() - 2048usize];
4412 ["Alignment of kvm_run__bindgen_ty_2"]
4413 [::std::mem::align_of::<kvm_run__bindgen_ty_2>() - 8usize];
4414 ["Offset of field: kvm_run__bindgen_ty_2::regs"]
4415 [::std::mem::offset_of!(kvm_run__bindgen_ty_2, regs) - 0usize];
4416 ["Offset of field: kvm_run__bindgen_ty_2::padding"]
4417 [::std::mem::offset_of!(kvm_run__bindgen_ty_2, padding) - 0usize];
4418};
4419impl Default for kvm_run__bindgen_ty_2 {
4420 fn default() -> Self {
4421 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4422 unsafe {
4423 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4424 s.assume_init()
4425 }
4426 }
4427}
4428impl ::std::fmt::Debug for kvm_run__bindgen_ty_2 {
4429 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4430 write!(f, "kvm_run__bindgen_ty_2 {{ union }}")
4431 }
4432}
4433#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4434const _: () = {
4435 ["Size of kvm_run"][::std::mem::size_of::<kvm_run>() - 2352usize];
4436 ["Alignment of kvm_run"][::std::mem::align_of::<kvm_run>() - 8usize];
4437 ["Offset of field: kvm_run::request_interrupt_window"]
4438 [::std::mem::offset_of!(kvm_run, request_interrupt_window) - 0usize];
4439 ["Offset of field: kvm_run::immediate_exit"]
4440 [::std::mem::offset_of!(kvm_run, immediate_exit) - 1usize];
4441 ["Offset of field: kvm_run::padding1"][::std::mem::offset_of!(kvm_run, padding1) - 2usize];
4442 ["Offset of field: kvm_run::exit_reason"]
4443 [::std::mem::offset_of!(kvm_run, exit_reason) - 8usize];
4444 ["Offset of field: kvm_run::ready_for_interrupt_injection"]
4445 [::std::mem::offset_of!(kvm_run, ready_for_interrupt_injection) - 12usize];
4446 ["Offset of field: kvm_run::if_flag"][::std::mem::offset_of!(kvm_run, if_flag) - 13usize];
4447 ["Offset of field: kvm_run::flags"][::std::mem::offset_of!(kvm_run, flags) - 14usize];
4448 ["Offset of field: kvm_run::cr8"][::std::mem::offset_of!(kvm_run, cr8) - 16usize];
4449 ["Offset of field: kvm_run::apic_base"][::std::mem::offset_of!(kvm_run, apic_base) - 24usize];
4450 ["Offset of field: kvm_run::kvm_valid_regs"]
4451 [::std::mem::offset_of!(kvm_run, kvm_valid_regs) - 288usize];
4452 ["Offset of field: kvm_run::kvm_dirty_regs"]
4453 [::std::mem::offset_of!(kvm_run, kvm_dirty_regs) - 296usize];
4454 ["Offset of field: kvm_run::s"][::std::mem::offset_of!(kvm_run, s) - 304usize];
4455};
4456impl Default for kvm_run {
4457 fn default() -> Self {
4458 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4459 unsafe {
4460 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4461 s.assume_init()
4462 }
4463 }
4464}
4465impl ::std::fmt::Debug for kvm_run {
4466 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4467 write ! (f , "kvm_run {{ request_interrupt_window: {:?}, immediate_exit: {:?}, padding1: {:?}, exit_reason: {:?}, ready_for_interrupt_injection: {:?}, if_flag: {:?}, flags: {:?}, cr8: {:?}, apic_base: {:?}, __bindgen_anon_1: {:?}, kvm_valid_regs: {:?}, kvm_dirty_regs: {:?}, s: {:?} }}" , self . request_interrupt_window , self . immediate_exit , self . padding1 , self . exit_reason , self . ready_for_interrupt_injection , self . if_flag , self . flags , self . cr8 , self . apic_base , self . __bindgen_anon_1 , self . kvm_valid_regs , self . kvm_dirty_regs , self . s)
4468 }
4469}
4470#[repr(C)]
4471#[derive(Copy, Clone)]
4472pub struct kvm_coalesced_mmio_zone {
4473 pub addr: __u64,
4474 pub size: __u32,
4475 pub __bindgen_anon_1: kvm_coalesced_mmio_zone__bindgen_ty_1,
4476}
4477#[repr(C)]
4478#[derive(Copy, Clone)]
4479pub union kvm_coalesced_mmio_zone__bindgen_ty_1 {
4480 pub pad: __u32,
4481 pub pio: __u32,
4482}
4483#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4484const _: () = {
4485 ["Size of kvm_coalesced_mmio_zone__bindgen_ty_1"]
4486 [::std::mem::size_of::<kvm_coalesced_mmio_zone__bindgen_ty_1>() - 4usize];
4487 ["Alignment of kvm_coalesced_mmio_zone__bindgen_ty_1"]
4488 [::std::mem::align_of::<kvm_coalesced_mmio_zone__bindgen_ty_1>() - 4usize];
4489 ["Offset of field: kvm_coalesced_mmio_zone__bindgen_ty_1::pad"]
4490 [::std::mem::offset_of!(kvm_coalesced_mmio_zone__bindgen_ty_1, pad) - 0usize];
4491 ["Offset of field: kvm_coalesced_mmio_zone__bindgen_ty_1::pio"]
4492 [::std::mem::offset_of!(kvm_coalesced_mmio_zone__bindgen_ty_1, pio) - 0usize];
4493};
4494impl Default for kvm_coalesced_mmio_zone__bindgen_ty_1 {
4495 fn default() -> Self {
4496 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4497 unsafe {
4498 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4499 s.assume_init()
4500 }
4501 }
4502}
4503impl ::std::fmt::Debug for kvm_coalesced_mmio_zone__bindgen_ty_1 {
4504 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4505 write!(f, "kvm_coalesced_mmio_zone__bindgen_ty_1 {{ union }}")
4506 }
4507}
4508#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4509const _: () = {
4510 ["Size of kvm_coalesced_mmio_zone"][::std::mem::size_of::<kvm_coalesced_mmio_zone>() - 16usize];
4511 ["Alignment of kvm_coalesced_mmio_zone"]
4512 [::std::mem::align_of::<kvm_coalesced_mmio_zone>() - 8usize];
4513 ["Offset of field: kvm_coalesced_mmio_zone::addr"]
4514 [::std::mem::offset_of!(kvm_coalesced_mmio_zone, addr) - 0usize];
4515 ["Offset of field: kvm_coalesced_mmio_zone::size"]
4516 [::std::mem::offset_of!(kvm_coalesced_mmio_zone, size) - 8usize];
4517};
4518impl Default for kvm_coalesced_mmio_zone {
4519 fn default() -> Self {
4520 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4521 unsafe {
4522 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4523 s.assume_init()
4524 }
4525 }
4526}
4527impl ::std::fmt::Debug for kvm_coalesced_mmio_zone {
4528 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4529 write!(
4530 f,
4531 "kvm_coalesced_mmio_zone {{ addr: {:?}, size: {:?}, __bindgen_anon_1: {:?} }}",
4532 self.addr, self.size, self.__bindgen_anon_1
4533 )
4534 }
4535}
4536#[repr(C)]
4537#[derive(Copy, Clone)]
4538pub struct kvm_coalesced_mmio {
4539 pub phys_addr: __u64,
4540 pub len: __u32,
4541 pub __bindgen_anon_1: kvm_coalesced_mmio__bindgen_ty_1,
4542 pub data: [__u8; 8usize],
4543}
4544#[repr(C)]
4545#[derive(Copy, Clone)]
4546pub union kvm_coalesced_mmio__bindgen_ty_1 {
4547 pub pad: __u32,
4548 pub pio: __u32,
4549}
4550#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4551const _: () = {
4552 ["Size of kvm_coalesced_mmio__bindgen_ty_1"]
4553 [::std::mem::size_of::<kvm_coalesced_mmio__bindgen_ty_1>() - 4usize];
4554 ["Alignment of kvm_coalesced_mmio__bindgen_ty_1"]
4555 [::std::mem::align_of::<kvm_coalesced_mmio__bindgen_ty_1>() - 4usize];
4556 ["Offset of field: kvm_coalesced_mmio__bindgen_ty_1::pad"]
4557 [::std::mem::offset_of!(kvm_coalesced_mmio__bindgen_ty_1, pad) - 0usize];
4558 ["Offset of field: kvm_coalesced_mmio__bindgen_ty_1::pio"]
4559 [::std::mem::offset_of!(kvm_coalesced_mmio__bindgen_ty_1, pio) - 0usize];
4560};
4561impl Default for kvm_coalesced_mmio__bindgen_ty_1 {
4562 fn default() -> Self {
4563 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4564 unsafe {
4565 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4566 s.assume_init()
4567 }
4568 }
4569}
4570impl ::std::fmt::Debug for kvm_coalesced_mmio__bindgen_ty_1 {
4571 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4572 write!(f, "kvm_coalesced_mmio__bindgen_ty_1 {{ union }}")
4573 }
4574}
4575#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4576const _: () = {
4577 ["Size of kvm_coalesced_mmio"][::std::mem::size_of::<kvm_coalesced_mmio>() - 24usize];
4578 ["Alignment of kvm_coalesced_mmio"][::std::mem::align_of::<kvm_coalesced_mmio>() - 8usize];
4579 ["Offset of field: kvm_coalesced_mmio::phys_addr"]
4580 [::std::mem::offset_of!(kvm_coalesced_mmio, phys_addr) - 0usize];
4581 ["Offset of field: kvm_coalesced_mmio::len"]
4582 [::std::mem::offset_of!(kvm_coalesced_mmio, len) - 8usize];
4583 ["Offset of field: kvm_coalesced_mmio::data"]
4584 [::std::mem::offset_of!(kvm_coalesced_mmio, data) - 16usize];
4585};
4586impl Default for kvm_coalesced_mmio {
4587 fn default() -> Self {
4588 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4589 unsafe {
4590 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4591 s.assume_init()
4592 }
4593 }
4594}
4595impl ::std::fmt::Debug for kvm_coalesced_mmio {
4596 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4597 write ! (f , "kvm_coalesced_mmio {{ phys_addr: {:?}, len: {:?}, __bindgen_anon_1: {:?}, data: {:?} }}" , self . phys_addr , self . len , self . __bindgen_anon_1 , self . data)
4598 }
4599}
4600#[repr(C)]
4601pub struct kvm_coalesced_mmio_ring {
4602 pub first: __u32,
4603 pub last: __u32,
4604 pub coalesced_mmio: __IncompleteArrayField<kvm_coalesced_mmio>,
4605}
4606#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4607const _: () = {
4608 ["Size of kvm_coalesced_mmio_ring"][::std::mem::size_of::<kvm_coalesced_mmio_ring>() - 8usize];
4609 ["Alignment of kvm_coalesced_mmio_ring"]
4610 [::std::mem::align_of::<kvm_coalesced_mmio_ring>() - 8usize];
4611 ["Offset of field: kvm_coalesced_mmio_ring::first"]
4612 [::std::mem::offset_of!(kvm_coalesced_mmio_ring, first) - 0usize];
4613 ["Offset of field: kvm_coalesced_mmio_ring::last"]
4614 [::std::mem::offset_of!(kvm_coalesced_mmio_ring, last) - 4usize];
4615 ["Offset of field: kvm_coalesced_mmio_ring::coalesced_mmio"]
4616 [::std::mem::offset_of!(kvm_coalesced_mmio_ring, coalesced_mmio) - 8usize];
4617};
4618impl Default for kvm_coalesced_mmio_ring {
4619 fn default() -> Self {
4620 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4621 unsafe {
4622 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4623 s.assume_init()
4624 }
4625 }
4626}
4627impl ::std::fmt::Debug for kvm_coalesced_mmio_ring {
4628 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4629 write!(
4630 f,
4631 "kvm_coalesced_mmio_ring {{ first: {:?}, last: {:?}, coalesced_mmio: {:?} }}",
4632 self.first, self.last, self.coalesced_mmio
4633 )
4634 }
4635}
4636#[repr(C)]
4637#[derive(Debug, Default, Copy, Clone, PartialEq)]
4638pub struct kvm_translation {
4639 pub linear_address: __u64,
4640 pub physical_address: __u64,
4641 pub valid: __u8,
4642 pub writeable: __u8,
4643 pub usermode: __u8,
4644 pub pad: [__u8; 5usize],
4645}
4646#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4647const _: () = {
4648 ["Size of kvm_translation"][::std::mem::size_of::<kvm_translation>() - 24usize];
4649 ["Alignment of kvm_translation"][::std::mem::align_of::<kvm_translation>() - 8usize];
4650 ["Offset of field: kvm_translation::linear_address"]
4651 [::std::mem::offset_of!(kvm_translation, linear_address) - 0usize];
4652 ["Offset of field: kvm_translation::physical_address"]
4653 [::std::mem::offset_of!(kvm_translation, physical_address) - 8usize];
4654 ["Offset of field: kvm_translation::valid"]
4655 [::std::mem::offset_of!(kvm_translation, valid) - 16usize];
4656 ["Offset of field: kvm_translation::writeable"]
4657 [::std::mem::offset_of!(kvm_translation, writeable) - 17usize];
4658 ["Offset of field: kvm_translation::usermode"]
4659 [::std::mem::offset_of!(kvm_translation, usermode) - 18usize];
4660 ["Offset of field: kvm_translation::pad"]
4661 [::std::mem::offset_of!(kvm_translation, pad) - 19usize];
4662};
4663#[repr(C)]
4664#[derive(Debug, Default, Copy, Clone, PartialEq)]
4665pub struct kvm_interrupt {
4666 pub irq: __u32,
4667}
4668#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4669const _: () = {
4670 ["Size of kvm_interrupt"][::std::mem::size_of::<kvm_interrupt>() - 4usize];
4671 ["Alignment of kvm_interrupt"][::std::mem::align_of::<kvm_interrupt>() - 4usize];
4672 ["Offset of field: kvm_interrupt::irq"][::std::mem::offset_of!(kvm_interrupt, irq) - 0usize];
4673};
4674#[repr(C)]
4675#[derive(Copy, Clone)]
4676pub struct kvm_dirty_log {
4677 pub slot: __u32,
4678 pub padding1: __u32,
4679 pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1,
4680}
4681#[repr(C)]
4682#[derive(Copy, Clone)]
4683pub union kvm_dirty_log__bindgen_ty_1 {
4684 pub dirty_bitmap: *mut ::std::os::raw::c_void,
4685 pub padding2: __u64,
4686}
4687#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4688const _: () = {
4689 ["Size of kvm_dirty_log__bindgen_ty_1"]
4690 [::std::mem::size_of::<kvm_dirty_log__bindgen_ty_1>() - 8usize];
4691 ["Alignment of kvm_dirty_log__bindgen_ty_1"]
4692 [::std::mem::align_of::<kvm_dirty_log__bindgen_ty_1>() - 8usize];
4693 ["Offset of field: kvm_dirty_log__bindgen_ty_1::dirty_bitmap"]
4694 [::std::mem::offset_of!(kvm_dirty_log__bindgen_ty_1, dirty_bitmap) - 0usize];
4695 ["Offset of field: kvm_dirty_log__bindgen_ty_1::padding2"]
4696 [::std::mem::offset_of!(kvm_dirty_log__bindgen_ty_1, padding2) - 0usize];
4697};
4698impl Default for kvm_dirty_log__bindgen_ty_1 {
4699 fn default() -> Self {
4700 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4701 unsafe {
4702 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4703 s.assume_init()
4704 }
4705 }
4706}
4707impl ::std::fmt::Debug for kvm_dirty_log__bindgen_ty_1 {
4708 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4709 write!(f, "kvm_dirty_log__bindgen_ty_1 {{ union }}")
4710 }
4711}
4712#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4713const _: () = {
4714 ["Size of kvm_dirty_log"][::std::mem::size_of::<kvm_dirty_log>() - 16usize];
4715 ["Alignment of kvm_dirty_log"][::std::mem::align_of::<kvm_dirty_log>() - 8usize];
4716 ["Offset of field: kvm_dirty_log::slot"][::std::mem::offset_of!(kvm_dirty_log, slot) - 0usize];
4717 ["Offset of field: kvm_dirty_log::padding1"]
4718 [::std::mem::offset_of!(kvm_dirty_log, padding1) - 4usize];
4719};
4720impl Default for kvm_dirty_log {
4721 fn default() -> Self {
4722 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4723 unsafe {
4724 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4725 s.assume_init()
4726 }
4727 }
4728}
4729impl ::std::fmt::Debug for kvm_dirty_log {
4730 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4731 write!(
4732 f,
4733 "kvm_dirty_log {{ slot: {:?}, padding1: {:?}, __bindgen_anon_1: {:?} }}",
4734 self.slot, self.padding1, self.__bindgen_anon_1
4735 )
4736 }
4737}
4738#[repr(C)]
4739#[derive(Copy, Clone)]
4740pub struct kvm_clear_dirty_log {
4741 pub slot: __u32,
4742 pub num_pages: __u32,
4743 pub first_page: __u64,
4744 pub __bindgen_anon_1: kvm_clear_dirty_log__bindgen_ty_1,
4745}
4746#[repr(C)]
4747#[derive(Copy, Clone)]
4748pub union kvm_clear_dirty_log__bindgen_ty_1 {
4749 pub dirty_bitmap: *mut ::std::os::raw::c_void,
4750 pub padding2: __u64,
4751}
4752#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4753const _: () = {
4754 ["Size of kvm_clear_dirty_log__bindgen_ty_1"]
4755 [::std::mem::size_of::<kvm_clear_dirty_log__bindgen_ty_1>() - 8usize];
4756 ["Alignment of kvm_clear_dirty_log__bindgen_ty_1"]
4757 [::std::mem::align_of::<kvm_clear_dirty_log__bindgen_ty_1>() - 8usize];
4758 ["Offset of field: kvm_clear_dirty_log__bindgen_ty_1::dirty_bitmap"]
4759 [::std::mem::offset_of!(kvm_clear_dirty_log__bindgen_ty_1, dirty_bitmap) - 0usize];
4760 ["Offset of field: kvm_clear_dirty_log__bindgen_ty_1::padding2"]
4761 [::std::mem::offset_of!(kvm_clear_dirty_log__bindgen_ty_1, padding2) - 0usize];
4762};
4763impl Default for kvm_clear_dirty_log__bindgen_ty_1 {
4764 fn default() -> Self {
4765 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4766 unsafe {
4767 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4768 s.assume_init()
4769 }
4770 }
4771}
4772impl ::std::fmt::Debug for kvm_clear_dirty_log__bindgen_ty_1 {
4773 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4774 write!(f, "kvm_clear_dirty_log__bindgen_ty_1 {{ union }}")
4775 }
4776}
4777#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4778const _: () = {
4779 ["Size of kvm_clear_dirty_log"][::std::mem::size_of::<kvm_clear_dirty_log>() - 24usize];
4780 ["Alignment of kvm_clear_dirty_log"][::std::mem::align_of::<kvm_clear_dirty_log>() - 8usize];
4781 ["Offset of field: kvm_clear_dirty_log::slot"]
4782 [::std::mem::offset_of!(kvm_clear_dirty_log, slot) - 0usize];
4783 ["Offset of field: kvm_clear_dirty_log::num_pages"]
4784 [::std::mem::offset_of!(kvm_clear_dirty_log, num_pages) - 4usize];
4785 ["Offset of field: kvm_clear_dirty_log::first_page"]
4786 [::std::mem::offset_of!(kvm_clear_dirty_log, first_page) - 8usize];
4787};
4788impl Default for kvm_clear_dirty_log {
4789 fn default() -> Self {
4790 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4791 unsafe {
4792 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4793 s.assume_init()
4794 }
4795 }
4796}
4797impl ::std::fmt::Debug for kvm_clear_dirty_log {
4798 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4799 write ! (f , "kvm_clear_dirty_log {{ slot: {:?}, num_pages: {:?}, first_page: {:?}, __bindgen_anon_1: {:?} }}" , self . slot , self . num_pages , self . first_page , self . __bindgen_anon_1)
4800 }
4801}
4802#[repr(C)]
4803#[derive(Debug, Default)]
4804pub struct kvm_signal_mask {
4805 pub len: __u32,
4806 pub sigset: __IncompleteArrayField<__u8>,
4807}
4808#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4809const _: () = {
4810 ["Size of kvm_signal_mask"][::std::mem::size_of::<kvm_signal_mask>() - 4usize];
4811 ["Alignment of kvm_signal_mask"][::std::mem::align_of::<kvm_signal_mask>() - 4usize];
4812 ["Offset of field: kvm_signal_mask::len"]
4813 [::std::mem::offset_of!(kvm_signal_mask, len) - 0usize];
4814 ["Offset of field: kvm_signal_mask::sigset"]
4815 [::std::mem::offset_of!(kvm_signal_mask, sigset) - 4usize];
4816};
4817#[repr(C)]
4818#[derive(Debug, Default, Copy, Clone, PartialEq)]
4819pub struct kvm_tpr_access_ctl {
4820 pub enabled: __u32,
4821 pub flags: __u32,
4822 pub reserved: [__u32; 8usize],
4823}
4824#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4825const _: () = {
4826 ["Size of kvm_tpr_access_ctl"][::std::mem::size_of::<kvm_tpr_access_ctl>() - 40usize];
4827 ["Alignment of kvm_tpr_access_ctl"][::std::mem::align_of::<kvm_tpr_access_ctl>() - 4usize];
4828 ["Offset of field: kvm_tpr_access_ctl::enabled"]
4829 [::std::mem::offset_of!(kvm_tpr_access_ctl, enabled) - 0usize];
4830 ["Offset of field: kvm_tpr_access_ctl::flags"]
4831 [::std::mem::offset_of!(kvm_tpr_access_ctl, flags) - 4usize];
4832 ["Offset of field: kvm_tpr_access_ctl::reserved"]
4833 [::std::mem::offset_of!(kvm_tpr_access_ctl, reserved) - 8usize];
4834};
4835#[repr(C)]
4836#[derive(Debug, Default, Copy, Clone, PartialEq)]
4837pub struct kvm_vapic_addr {
4838 pub vapic_addr: __u64,
4839}
4840#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4841const _: () = {
4842 ["Size of kvm_vapic_addr"][::std::mem::size_of::<kvm_vapic_addr>() - 8usize];
4843 ["Alignment of kvm_vapic_addr"][::std::mem::align_of::<kvm_vapic_addr>() - 8usize];
4844 ["Offset of field: kvm_vapic_addr::vapic_addr"]
4845 [::std::mem::offset_of!(kvm_vapic_addr, vapic_addr) - 0usize];
4846};
4847#[repr(C)]
4848#[derive(Debug, Default, Copy, Clone, PartialEq)]
4849#[cfg_attr(
4850 feature = "serde",
4851 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
4852)]
4853pub struct kvm_mp_state {
4854 pub mp_state: __u32,
4855}
4856#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4857const _: () = {
4858 ["Size of kvm_mp_state"][::std::mem::size_of::<kvm_mp_state>() - 4usize];
4859 ["Alignment of kvm_mp_state"][::std::mem::align_of::<kvm_mp_state>() - 4usize];
4860 ["Offset of field: kvm_mp_state::mp_state"]
4861 [::std::mem::offset_of!(kvm_mp_state, mp_state) - 0usize];
4862};
4863#[repr(C)]
4864#[derive(Debug, Default, Copy, Clone, PartialEq)]
4865pub struct kvm_guest_debug {
4866 pub control: __u32,
4867 pub pad: __u32,
4868 pub arch: kvm_guest_debug_arch,
4869}
4870#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4871const _: () = {
4872 ["Size of kvm_guest_debug"][::std::mem::size_of::<kvm_guest_debug>() - 72usize];
4873 ["Alignment of kvm_guest_debug"][::std::mem::align_of::<kvm_guest_debug>() - 8usize];
4874 ["Offset of field: kvm_guest_debug::control"]
4875 [::std::mem::offset_of!(kvm_guest_debug, control) - 0usize];
4876 ["Offset of field: kvm_guest_debug::pad"]
4877 [::std::mem::offset_of!(kvm_guest_debug, pad) - 4usize];
4878 ["Offset of field: kvm_guest_debug::arch"]
4879 [::std::mem::offset_of!(kvm_guest_debug, arch) - 8usize];
4880};
4881pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0;
4882pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1;
4883pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_1 = 2;
4884pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_1 = 3;
4885pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4;
4886pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5;
4887pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
4888#[repr(C)]
4889#[derive(Debug, Copy, Clone, PartialEq)]
4890pub struct kvm_ioeventfd {
4891 pub datamatch: __u64,
4892 pub addr: __u64,
4893 pub len: __u32,
4894 pub fd: __s32,
4895 pub flags: __u32,
4896 pub pad: [__u8; 36usize],
4897}
4898#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4899const _: () = {
4900 ["Size of kvm_ioeventfd"][::std::mem::size_of::<kvm_ioeventfd>() - 64usize];
4901 ["Alignment of kvm_ioeventfd"][::std::mem::align_of::<kvm_ioeventfd>() - 8usize];
4902 ["Offset of field: kvm_ioeventfd::datamatch"]
4903 [::std::mem::offset_of!(kvm_ioeventfd, datamatch) - 0usize];
4904 ["Offset of field: kvm_ioeventfd::addr"][::std::mem::offset_of!(kvm_ioeventfd, addr) - 8usize];
4905 ["Offset of field: kvm_ioeventfd::len"][::std::mem::offset_of!(kvm_ioeventfd, len) - 16usize];
4906 ["Offset of field: kvm_ioeventfd::fd"][::std::mem::offset_of!(kvm_ioeventfd, fd) - 20usize];
4907 ["Offset of field: kvm_ioeventfd::flags"]
4908 [::std::mem::offset_of!(kvm_ioeventfd, flags) - 24usize];
4909 ["Offset of field: kvm_ioeventfd::pad"][::std::mem::offset_of!(kvm_ioeventfd, pad) - 28usize];
4910};
4911impl Default for kvm_ioeventfd {
4912 fn default() -> Self {
4913 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4914 unsafe {
4915 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4916 s.assume_init()
4917 }
4918 }
4919}
4920#[repr(C)]
4921#[derive(Debug, Copy, Clone, PartialEq)]
4922pub struct kvm_enable_cap {
4923 pub cap: __u32,
4924 pub flags: __u32,
4925 pub args: [__u64; 4usize],
4926 pub pad: [__u8; 64usize],
4927}
4928#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4929const _: () = {
4930 ["Size of kvm_enable_cap"][::std::mem::size_of::<kvm_enable_cap>() - 104usize];
4931 ["Alignment of kvm_enable_cap"][::std::mem::align_of::<kvm_enable_cap>() - 8usize];
4932 ["Offset of field: kvm_enable_cap::cap"][::std::mem::offset_of!(kvm_enable_cap, cap) - 0usize];
4933 ["Offset of field: kvm_enable_cap::flags"]
4934 [::std::mem::offset_of!(kvm_enable_cap, flags) - 4usize];
4935 ["Offset of field: kvm_enable_cap::args"]
4936 [::std::mem::offset_of!(kvm_enable_cap, args) - 8usize];
4937 ["Offset of field: kvm_enable_cap::pad"][::std::mem::offset_of!(kvm_enable_cap, pad) - 40usize];
4938};
4939impl Default for kvm_enable_cap {
4940 fn default() -> Self {
4941 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4942 unsafe {
4943 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4944 s.assume_init()
4945 }
4946 }
4947}
4948#[repr(C)]
4949#[derive(Debug, Default, Copy, Clone, PartialEq)]
4950pub struct kvm_irq_routing_irqchip {
4951 pub irqchip: __u32,
4952 pub pin: __u32,
4953}
4954#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4955const _: () = {
4956 ["Size of kvm_irq_routing_irqchip"][::std::mem::size_of::<kvm_irq_routing_irqchip>() - 8usize];
4957 ["Alignment of kvm_irq_routing_irqchip"]
4958 [::std::mem::align_of::<kvm_irq_routing_irqchip>() - 4usize];
4959 ["Offset of field: kvm_irq_routing_irqchip::irqchip"]
4960 [::std::mem::offset_of!(kvm_irq_routing_irqchip, irqchip) - 0usize];
4961 ["Offset of field: kvm_irq_routing_irqchip::pin"]
4962 [::std::mem::offset_of!(kvm_irq_routing_irqchip, pin) - 4usize];
4963};
4964#[repr(C)]
4965#[derive(Copy, Clone)]
4966pub struct kvm_irq_routing_msi {
4967 pub address_lo: __u32,
4968 pub address_hi: __u32,
4969 pub data: __u32,
4970 pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1,
4971}
4972#[repr(C)]
4973#[derive(Copy, Clone)]
4974pub union kvm_irq_routing_msi__bindgen_ty_1 {
4975 pub pad: __u32,
4976 pub devid: __u32,
4977}
4978#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4979const _: () = {
4980 ["Size of kvm_irq_routing_msi__bindgen_ty_1"]
4981 [::std::mem::size_of::<kvm_irq_routing_msi__bindgen_ty_1>() - 4usize];
4982 ["Alignment of kvm_irq_routing_msi__bindgen_ty_1"]
4983 [::std::mem::align_of::<kvm_irq_routing_msi__bindgen_ty_1>() - 4usize];
4984 ["Offset of field: kvm_irq_routing_msi__bindgen_ty_1::pad"]
4985 [::std::mem::offset_of!(kvm_irq_routing_msi__bindgen_ty_1, pad) - 0usize];
4986 ["Offset of field: kvm_irq_routing_msi__bindgen_ty_1::devid"]
4987 [::std::mem::offset_of!(kvm_irq_routing_msi__bindgen_ty_1, devid) - 0usize];
4988};
4989impl Default for kvm_irq_routing_msi__bindgen_ty_1 {
4990 fn default() -> Self {
4991 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4992 unsafe {
4993 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4994 s.assume_init()
4995 }
4996 }
4997}
4998impl ::std::fmt::Debug for kvm_irq_routing_msi__bindgen_ty_1 {
4999 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5000 write!(f, "kvm_irq_routing_msi__bindgen_ty_1 {{ union }}")
5001 }
5002}
5003#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5004const _: () = {
5005 ["Size of kvm_irq_routing_msi"][::std::mem::size_of::<kvm_irq_routing_msi>() - 16usize];
5006 ["Alignment of kvm_irq_routing_msi"][::std::mem::align_of::<kvm_irq_routing_msi>() - 4usize];
5007 ["Offset of field: kvm_irq_routing_msi::address_lo"]
5008 [::std::mem::offset_of!(kvm_irq_routing_msi, address_lo) - 0usize];
5009 ["Offset of field: kvm_irq_routing_msi::address_hi"]
5010 [::std::mem::offset_of!(kvm_irq_routing_msi, address_hi) - 4usize];
5011 ["Offset of field: kvm_irq_routing_msi::data"]
5012 [::std::mem::offset_of!(kvm_irq_routing_msi, data) - 8usize];
5013};
5014impl Default for kvm_irq_routing_msi {
5015 fn default() -> Self {
5016 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5017 unsafe {
5018 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5019 s.assume_init()
5020 }
5021 }
5022}
5023impl ::std::fmt::Debug for kvm_irq_routing_msi {
5024 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5025 write ! (f , "kvm_irq_routing_msi {{ address_lo: {:?}, address_hi: {:?}, data: {:?}, __bindgen_anon_1: {:?} }}" , self . address_lo , self . address_hi , self . data , self . __bindgen_anon_1)
5026 }
5027}
5028#[repr(C)]
5029#[derive(Debug, Default, Copy, Clone, PartialEq)]
5030pub struct kvm_irq_routing_s390_adapter {
5031 pub ind_addr: __u64,
5032 pub summary_addr: __u64,
5033 pub ind_offset: __u64,
5034 pub summary_offset: __u32,
5035 pub adapter_id: __u32,
5036}
5037#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5038const _: () = {
5039 ["Size of kvm_irq_routing_s390_adapter"]
5040 [::std::mem::size_of::<kvm_irq_routing_s390_adapter>() - 32usize];
5041 ["Alignment of kvm_irq_routing_s390_adapter"]
5042 [::std::mem::align_of::<kvm_irq_routing_s390_adapter>() - 8usize];
5043 ["Offset of field: kvm_irq_routing_s390_adapter::ind_addr"]
5044 [::std::mem::offset_of!(kvm_irq_routing_s390_adapter, ind_addr) - 0usize];
5045 ["Offset of field: kvm_irq_routing_s390_adapter::summary_addr"]
5046 [::std::mem::offset_of!(kvm_irq_routing_s390_adapter, summary_addr) - 8usize];
5047 ["Offset of field: kvm_irq_routing_s390_adapter::ind_offset"]
5048 [::std::mem::offset_of!(kvm_irq_routing_s390_adapter, ind_offset) - 16usize];
5049 ["Offset of field: kvm_irq_routing_s390_adapter::summary_offset"]
5050 [::std::mem::offset_of!(kvm_irq_routing_s390_adapter, summary_offset) - 24usize];
5051 ["Offset of field: kvm_irq_routing_s390_adapter::adapter_id"]
5052 [::std::mem::offset_of!(kvm_irq_routing_s390_adapter, adapter_id) - 28usize];
5053};
5054#[repr(C)]
5055#[derive(Debug, Default, Copy, Clone, PartialEq)]
5056pub struct kvm_irq_routing_hv_sint {
5057 pub vcpu: __u32,
5058 pub sint: __u32,
5059}
5060#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5061const _: () = {
5062 ["Size of kvm_irq_routing_hv_sint"][::std::mem::size_of::<kvm_irq_routing_hv_sint>() - 8usize];
5063 ["Alignment of kvm_irq_routing_hv_sint"]
5064 [::std::mem::align_of::<kvm_irq_routing_hv_sint>() - 4usize];
5065 ["Offset of field: kvm_irq_routing_hv_sint::vcpu"]
5066 [::std::mem::offset_of!(kvm_irq_routing_hv_sint, vcpu) - 0usize];
5067 ["Offset of field: kvm_irq_routing_hv_sint::sint"]
5068 [::std::mem::offset_of!(kvm_irq_routing_hv_sint, sint) - 4usize];
5069};
5070#[repr(C)]
5071#[derive(Debug, Default, Copy, Clone, PartialEq)]
5072pub struct kvm_irq_routing_xen_evtchn {
5073 pub port: __u32,
5074 pub vcpu: __u32,
5075 pub priority: __u32,
5076}
5077#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5078const _: () = {
5079 ["Size of kvm_irq_routing_xen_evtchn"]
5080 [::std::mem::size_of::<kvm_irq_routing_xen_evtchn>() - 12usize];
5081 ["Alignment of kvm_irq_routing_xen_evtchn"]
5082 [::std::mem::align_of::<kvm_irq_routing_xen_evtchn>() - 4usize];
5083 ["Offset of field: kvm_irq_routing_xen_evtchn::port"]
5084 [::std::mem::offset_of!(kvm_irq_routing_xen_evtchn, port) - 0usize];
5085 ["Offset of field: kvm_irq_routing_xen_evtchn::vcpu"]
5086 [::std::mem::offset_of!(kvm_irq_routing_xen_evtchn, vcpu) - 4usize];
5087 ["Offset of field: kvm_irq_routing_xen_evtchn::priority"]
5088 [::std::mem::offset_of!(kvm_irq_routing_xen_evtchn, priority) - 8usize];
5089};
5090#[repr(C)]
5091#[derive(Copy, Clone)]
5092pub struct kvm_irq_routing_entry {
5093 pub gsi: __u32,
5094 pub type_: __u32,
5095 pub flags: __u32,
5096 pub pad: __u32,
5097 pub u: kvm_irq_routing_entry__bindgen_ty_1,
5098}
5099#[repr(C)]
5100#[derive(Copy, Clone)]
5101pub union kvm_irq_routing_entry__bindgen_ty_1 {
5102 pub irqchip: kvm_irq_routing_irqchip,
5103 pub msi: kvm_irq_routing_msi,
5104 pub adapter: kvm_irq_routing_s390_adapter,
5105 pub hv_sint: kvm_irq_routing_hv_sint,
5106 pub xen_evtchn: kvm_irq_routing_xen_evtchn,
5107 pub pad: [__u32; 8usize],
5108}
5109#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5110const _: () = {
5111 ["Size of kvm_irq_routing_entry__bindgen_ty_1"]
5112 [::std::mem::size_of::<kvm_irq_routing_entry__bindgen_ty_1>() - 32usize];
5113 ["Alignment of kvm_irq_routing_entry__bindgen_ty_1"]
5114 [::std::mem::align_of::<kvm_irq_routing_entry__bindgen_ty_1>() - 8usize];
5115 ["Offset of field: kvm_irq_routing_entry__bindgen_ty_1::irqchip"]
5116 [::std::mem::offset_of!(kvm_irq_routing_entry__bindgen_ty_1, irqchip) - 0usize];
5117 ["Offset of field: kvm_irq_routing_entry__bindgen_ty_1::msi"]
5118 [::std::mem::offset_of!(kvm_irq_routing_entry__bindgen_ty_1, msi) - 0usize];
5119 ["Offset of field: kvm_irq_routing_entry__bindgen_ty_1::adapter"]
5120 [::std::mem::offset_of!(kvm_irq_routing_entry__bindgen_ty_1, adapter) - 0usize];
5121 ["Offset of field: kvm_irq_routing_entry__bindgen_ty_1::hv_sint"]
5122 [::std::mem::offset_of!(kvm_irq_routing_entry__bindgen_ty_1, hv_sint) - 0usize];
5123 ["Offset of field: kvm_irq_routing_entry__bindgen_ty_1::xen_evtchn"]
5124 [::std::mem::offset_of!(kvm_irq_routing_entry__bindgen_ty_1, xen_evtchn) - 0usize];
5125 ["Offset of field: kvm_irq_routing_entry__bindgen_ty_1::pad"]
5126 [::std::mem::offset_of!(kvm_irq_routing_entry__bindgen_ty_1, pad) - 0usize];
5127};
5128impl Default for kvm_irq_routing_entry__bindgen_ty_1 {
5129 fn default() -> Self {
5130 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5131 unsafe {
5132 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5133 s.assume_init()
5134 }
5135 }
5136}
5137impl ::std::fmt::Debug for kvm_irq_routing_entry__bindgen_ty_1 {
5138 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5139 write!(f, "kvm_irq_routing_entry__bindgen_ty_1 {{ union }}")
5140 }
5141}
5142#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5143const _: () = {
5144 ["Size of kvm_irq_routing_entry"][::std::mem::size_of::<kvm_irq_routing_entry>() - 48usize];
5145 ["Alignment of kvm_irq_routing_entry"]
5146 [::std::mem::align_of::<kvm_irq_routing_entry>() - 8usize];
5147 ["Offset of field: kvm_irq_routing_entry::gsi"]
5148 [::std::mem::offset_of!(kvm_irq_routing_entry, gsi) - 0usize];
5149 ["Offset of field: kvm_irq_routing_entry::type_"]
5150 [::std::mem::offset_of!(kvm_irq_routing_entry, type_) - 4usize];
5151 ["Offset of field: kvm_irq_routing_entry::flags"]
5152 [::std::mem::offset_of!(kvm_irq_routing_entry, flags) - 8usize];
5153 ["Offset of field: kvm_irq_routing_entry::pad"]
5154 [::std::mem::offset_of!(kvm_irq_routing_entry, pad) - 12usize];
5155 ["Offset of field: kvm_irq_routing_entry::u"]
5156 [::std::mem::offset_of!(kvm_irq_routing_entry, u) - 16usize];
5157};
5158impl Default for kvm_irq_routing_entry {
5159 fn default() -> Self {
5160 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5161 unsafe {
5162 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5163 s.assume_init()
5164 }
5165 }
5166}
5167impl ::std::fmt::Debug for kvm_irq_routing_entry {
5168 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5169 write!(
5170 f,
5171 "kvm_irq_routing_entry {{ gsi: {:?}, type: {:?}, flags: {:?}, pad: {:?}, u: {:?} }}",
5172 self.gsi, self.type_, self.flags, self.pad, self.u
5173 )
5174 }
5175}
5176#[repr(C)]
5177pub struct kvm_irq_routing {
5178 pub nr: __u32,
5179 pub flags: __u32,
5180 pub entries: __IncompleteArrayField<kvm_irq_routing_entry>,
5181}
5182#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5183const _: () = {
5184 ["Size of kvm_irq_routing"][::std::mem::size_of::<kvm_irq_routing>() - 8usize];
5185 ["Alignment of kvm_irq_routing"][::std::mem::align_of::<kvm_irq_routing>() - 8usize];
5186 ["Offset of field: kvm_irq_routing::nr"][::std::mem::offset_of!(kvm_irq_routing, nr) - 0usize];
5187 ["Offset of field: kvm_irq_routing::flags"]
5188 [::std::mem::offset_of!(kvm_irq_routing, flags) - 4usize];
5189 ["Offset of field: kvm_irq_routing::entries"]
5190 [::std::mem::offset_of!(kvm_irq_routing, entries) - 8usize];
5191};
5192impl Default for kvm_irq_routing {
5193 fn default() -> Self {
5194 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5195 unsafe {
5196 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5197 s.assume_init()
5198 }
5199 }
5200}
5201impl ::std::fmt::Debug for kvm_irq_routing {
5202 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5203 write!(
5204 f,
5205 "kvm_irq_routing {{ nr: {:?}, flags: {:?}, entries: {:?} }}",
5206 self.nr, self.flags, self.entries
5207 )
5208 }
5209}
5210#[repr(C)]
5211#[derive(Debug, Default, Copy, Clone, PartialEq)]
5212pub struct kvm_irqfd {
5213 pub fd: __u32,
5214 pub gsi: __u32,
5215 pub flags: __u32,
5216 pub resamplefd: __u32,
5217 pub pad: [__u8; 16usize],
5218}
5219#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5220const _: () = {
5221 ["Size of kvm_irqfd"][::std::mem::size_of::<kvm_irqfd>() - 32usize];
5222 ["Alignment of kvm_irqfd"][::std::mem::align_of::<kvm_irqfd>() - 4usize];
5223 ["Offset of field: kvm_irqfd::fd"][::std::mem::offset_of!(kvm_irqfd, fd) - 0usize];
5224 ["Offset of field: kvm_irqfd::gsi"][::std::mem::offset_of!(kvm_irqfd, gsi) - 4usize];
5225 ["Offset of field: kvm_irqfd::flags"][::std::mem::offset_of!(kvm_irqfd, flags) - 8usize];
5226 ["Offset of field: kvm_irqfd::resamplefd"]
5227 [::std::mem::offset_of!(kvm_irqfd, resamplefd) - 12usize];
5228 ["Offset of field: kvm_irqfd::pad"][::std::mem::offset_of!(kvm_irqfd, pad) - 16usize];
5229};
5230#[repr(C)]
5231#[derive(Debug, Default, Copy, Clone, PartialEq)]
5232#[cfg_attr(
5233 feature = "serde",
5234 derive(zerocopy::AsBytes, zerocopy::FromBytes, zerocopy::FromZeroes)
5235)]
5236pub struct kvm_clock_data {
5237 pub clock: __u64,
5238 pub flags: __u32,
5239 pub pad0: __u32,
5240 pub realtime: __u64,
5241 pub host_tsc: __u64,
5242 pub pad: [__u32; 4usize],
5243}
5244#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5245const _: () = {
5246 ["Size of kvm_clock_data"][::std::mem::size_of::<kvm_clock_data>() - 48usize];
5247 ["Alignment of kvm_clock_data"][::std::mem::align_of::<kvm_clock_data>() - 8usize];
5248 ["Offset of field: kvm_clock_data::clock"]
5249 [::std::mem::offset_of!(kvm_clock_data, clock) - 0usize];
5250 ["Offset of field: kvm_clock_data::flags"]
5251 [::std::mem::offset_of!(kvm_clock_data, flags) - 8usize];
5252 ["Offset of field: kvm_clock_data::pad0"]
5253 [::std::mem::offset_of!(kvm_clock_data, pad0) - 12usize];
5254 ["Offset of field: kvm_clock_data::realtime"]
5255 [::std::mem::offset_of!(kvm_clock_data, realtime) - 16usize];
5256 ["Offset of field: kvm_clock_data::host_tsc"]
5257 [::std::mem::offset_of!(kvm_clock_data, host_tsc) - 24usize];
5258 ["Offset of field: kvm_clock_data::pad"][::std::mem::offset_of!(kvm_clock_data, pad) - 32usize];
5259};
5260#[repr(C)]
5261#[derive(Debug, Default, Copy, Clone, PartialEq)]
5262pub struct kvm_config_tlb {
5263 pub params: __u64,
5264 pub array: __u64,
5265 pub mmu_type: __u32,
5266 pub array_len: __u32,
5267}
5268#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5269const _: () = {
5270 ["Size of kvm_config_tlb"][::std::mem::size_of::<kvm_config_tlb>() - 24usize];
5271 ["Alignment of kvm_config_tlb"][::std::mem::align_of::<kvm_config_tlb>() - 8usize];
5272 ["Offset of field: kvm_config_tlb::params"]
5273 [::std::mem::offset_of!(kvm_config_tlb, params) - 0usize];
5274 ["Offset of field: kvm_config_tlb::array"]
5275 [::std::mem::offset_of!(kvm_config_tlb, array) - 8usize];
5276 ["Offset of field: kvm_config_tlb::mmu_type"]
5277 [::std::mem::offset_of!(kvm_config_tlb, mmu_type) - 16usize];
5278 ["Offset of field: kvm_config_tlb::array_len"]
5279 [::std::mem::offset_of!(kvm_config_tlb, array_len) - 20usize];
5280};
5281#[repr(C)]
5282#[derive(Debug, Default, Copy, Clone, PartialEq)]
5283pub struct kvm_dirty_tlb {
5284 pub bitmap: __u64,
5285 pub num_dirty: __u32,
5286}
5287#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5288const _: () = {
5289 ["Size of kvm_dirty_tlb"][::std::mem::size_of::<kvm_dirty_tlb>() - 16usize];
5290 ["Alignment of kvm_dirty_tlb"][::std::mem::align_of::<kvm_dirty_tlb>() - 8usize];
5291 ["Offset of field: kvm_dirty_tlb::bitmap"]
5292 [::std::mem::offset_of!(kvm_dirty_tlb, bitmap) - 0usize];
5293 ["Offset of field: kvm_dirty_tlb::num_dirty"]
5294 [::std::mem::offset_of!(kvm_dirty_tlb, num_dirty) - 8usize];
5295};
5296#[repr(C)]
5297#[derive(Debug, Default)]
5298pub struct kvm_reg_list {
5299 pub n: __u64,
5300 pub reg: __IncompleteArrayField<__u64>,
5301}
5302#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5303const _: () = {
5304 ["Size of kvm_reg_list"][::std::mem::size_of::<kvm_reg_list>() - 8usize];
5305 ["Alignment of kvm_reg_list"][::std::mem::align_of::<kvm_reg_list>() - 8usize];
5306 ["Offset of field: kvm_reg_list::n"][::std::mem::offset_of!(kvm_reg_list, n) - 0usize];
5307 ["Offset of field: kvm_reg_list::reg"][::std::mem::offset_of!(kvm_reg_list, reg) - 8usize];
5308};
5309#[repr(C)]
5310#[derive(Debug, Default, Copy, Clone, PartialEq)]
5311pub struct kvm_one_reg {
5312 pub id: __u64,
5313 pub addr: __u64,
5314}
5315#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5316const _: () = {
5317 ["Size of kvm_one_reg"][::std::mem::size_of::<kvm_one_reg>() - 16usize];
5318 ["Alignment of kvm_one_reg"][::std::mem::align_of::<kvm_one_reg>() - 8usize];
5319 ["Offset of field: kvm_one_reg::id"][::std::mem::offset_of!(kvm_one_reg, id) - 0usize];
5320 ["Offset of field: kvm_one_reg::addr"][::std::mem::offset_of!(kvm_one_reg, addr) - 8usize];
5321};
5322#[repr(C)]
5323#[derive(Debug, Default, Copy, Clone, PartialEq)]
5324pub struct kvm_msi {
5325 pub address_lo: __u32,
5326 pub address_hi: __u32,
5327 pub data: __u32,
5328 pub flags: __u32,
5329 pub devid: __u32,
5330 pub pad: [__u8; 12usize],
5331}
5332#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5333const _: () = {
5334 ["Size of kvm_msi"][::std::mem::size_of::<kvm_msi>() - 32usize];
5335 ["Alignment of kvm_msi"][::std::mem::align_of::<kvm_msi>() - 4usize];
5336 ["Offset of field: kvm_msi::address_lo"][::std::mem::offset_of!(kvm_msi, address_lo) - 0usize];
5337 ["Offset of field: kvm_msi::address_hi"][::std::mem::offset_of!(kvm_msi, address_hi) - 4usize];
5338 ["Offset of field: kvm_msi::data"][::std::mem::offset_of!(kvm_msi, data) - 8usize];
5339 ["Offset of field: kvm_msi::flags"][::std::mem::offset_of!(kvm_msi, flags) - 12usize];
5340 ["Offset of field: kvm_msi::devid"][::std::mem::offset_of!(kvm_msi, devid) - 16usize];
5341 ["Offset of field: kvm_msi::pad"][::std::mem::offset_of!(kvm_msi, pad) - 20usize];
5342};
5343#[repr(C)]
5344#[derive(Debug, Default, Copy, Clone, PartialEq)]
5345pub struct kvm_arm_device_addr {
5346 pub id: __u64,
5347 pub addr: __u64,
5348}
5349#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5350const _: () = {
5351 ["Size of kvm_arm_device_addr"][::std::mem::size_of::<kvm_arm_device_addr>() - 16usize];
5352 ["Alignment of kvm_arm_device_addr"][::std::mem::align_of::<kvm_arm_device_addr>() - 8usize];
5353 ["Offset of field: kvm_arm_device_addr::id"]
5354 [::std::mem::offset_of!(kvm_arm_device_addr, id) - 0usize];
5355 ["Offset of field: kvm_arm_device_addr::addr"]
5356 [::std::mem::offset_of!(kvm_arm_device_addr, addr) - 8usize];
5357};
5358#[repr(C)]
5359#[derive(Debug, Default, Copy, Clone, PartialEq)]
5360pub struct kvm_create_device {
5361 pub type_: __u32,
5362 pub fd: __u32,
5363 pub flags: __u32,
5364}
5365#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5366const _: () = {
5367 ["Size of kvm_create_device"][::std::mem::size_of::<kvm_create_device>() - 12usize];
5368 ["Alignment of kvm_create_device"][::std::mem::align_of::<kvm_create_device>() - 4usize];
5369 ["Offset of field: kvm_create_device::type_"]
5370 [::std::mem::offset_of!(kvm_create_device, type_) - 0usize];
5371 ["Offset of field: kvm_create_device::fd"]
5372 [::std::mem::offset_of!(kvm_create_device, fd) - 4usize];
5373 ["Offset of field: kvm_create_device::flags"]
5374 [::std::mem::offset_of!(kvm_create_device, flags) - 8usize];
5375};
5376#[repr(C)]
5377#[derive(Debug, Default, Copy, Clone, PartialEq)]
5378pub struct kvm_device_attr {
5379 pub flags: __u32,
5380 pub group: __u32,
5381 pub attr: __u64,
5382 pub addr: __u64,
5383}
5384#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5385const _: () = {
5386 ["Size of kvm_device_attr"][::std::mem::size_of::<kvm_device_attr>() - 24usize];
5387 ["Alignment of kvm_device_attr"][::std::mem::align_of::<kvm_device_attr>() - 8usize];
5388 ["Offset of field: kvm_device_attr::flags"]
5389 [::std::mem::offset_of!(kvm_device_attr, flags) - 0usize];
5390 ["Offset of field: kvm_device_attr::group"]
5391 [::std::mem::offset_of!(kvm_device_attr, group) - 4usize];
5392 ["Offset of field: kvm_device_attr::attr"]
5393 [::std::mem::offset_of!(kvm_device_attr, attr) - 8usize];
5394 ["Offset of field: kvm_device_attr::addr"]
5395 [::std::mem::offset_of!(kvm_device_attr, addr) - 16usize];
5396};
5397pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1;
5398pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2;
5399pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3;
5400pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4;
5401pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5;
5402pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6;
5403pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7;
5404pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8;
5405pub const kvm_device_type_KVM_DEV_TYPE_XIVE: kvm_device_type = 9;
5406pub const kvm_device_type_KVM_DEV_TYPE_ARM_PV_TIME: kvm_device_type = 10;
5407pub const kvm_device_type_KVM_DEV_TYPE_RISCV_AIA: kvm_device_type = 11;
5408pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 12;
5409pub type kvm_device_type = ::std::os::raw::c_uint;
5410#[repr(C)]
5411#[derive(Debug, Default, Copy, Clone, PartialEq)]
5412pub struct kvm_vfio_spapr_tce {
5413 pub groupfd: __s32,
5414 pub tablefd: __s32,
5415}
5416#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5417const _: () = {
5418 ["Size of kvm_vfio_spapr_tce"][::std::mem::size_of::<kvm_vfio_spapr_tce>() - 8usize];
5419 ["Alignment of kvm_vfio_spapr_tce"][::std::mem::align_of::<kvm_vfio_spapr_tce>() - 4usize];
5420 ["Offset of field: kvm_vfio_spapr_tce::groupfd"]
5421 [::std::mem::offset_of!(kvm_vfio_spapr_tce, groupfd) - 0usize];
5422 ["Offset of field: kvm_vfio_spapr_tce::tablefd"]
5423 [::std::mem::offset_of!(kvm_vfio_spapr_tce, tablefd) - 4usize];
5424};
5425#[repr(C)]
5426#[derive(Debug, Default, Copy, Clone, PartialEq)]
5427pub struct kvm_enc_region {
5428 pub addr: __u64,
5429 pub size: __u64,
5430}
5431#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5432const _: () = {
5433 ["Size of kvm_enc_region"][::std::mem::size_of::<kvm_enc_region>() - 16usize];
5434 ["Alignment of kvm_enc_region"][::std::mem::align_of::<kvm_enc_region>() - 8usize];
5435 ["Offset of field: kvm_enc_region::addr"]
5436 [::std::mem::offset_of!(kvm_enc_region, addr) - 0usize];
5437 ["Offset of field: kvm_enc_region::size"]
5438 [::std::mem::offset_of!(kvm_enc_region, size) - 8usize];
5439};
5440#[repr(C)]
5441#[derive(Debug, Default, Copy, Clone, PartialEq)]
5442pub struct kvm_dirty_gfn {
5443 pub flags: __u32,
5444 pub slot: __u32,
5445 pub offset: __u64,
5446}
5447#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5448const _: () = {
5449 ["Size of kvm_dirty_gfn"][::std::mem::size_of::<kvm_dirty_gfn>() - 16usize];
5450 ["Alignment of kvm_dirty_gfn"][::std::mem::align_of::<kvm_dirty_gfn>() - 8usize];
5451 ["Offset of field: kvm_dirty_gfn::flags"]
5452 [::std::mem::offset_of!(kvm_dirty_gfn, flags) - 0usize];
5453 ["Offset of field: kvm_dirty_gfn::slot"][::std::mem::offset_of!(kvm_dirty_gfn, slot) - 4usize];
5454 ["Offset of field: kvm_dirty_gfn::offset"]
5455 [::std::mem::offset_of!(kvm_dirty_gfn, offset) - 8usize];
5456};
5457#[doc = " struct kvm_stats_header - Header of per vm/vcpu binary statistics data.\n @flags: Some extra information for header, always 0 for now.\n @name_size: The size in bytes of the memory which contains statistics\n name string including trailing '\\0'. The memory is allocated\n at the send of statistics descriptor.\n @num_desc: The number of statistics the vm or vcpu has.\n @id_offset: The offset of the vm/vcpu stats' id string in the file pointed\n by vm/vcpu stats fd.\n @desc_offset: The offset of the vm/vcpu stats' descriptor block in the file\n pointd by vm/vcpu stats fd.\n @data_offset: The offset of the vm/vcpu stats' data block in the file\n pointed by vm/vcpu stats fd.\n\n This is the header userspace needs to read from stats fd before any other\n readings. It is used by userspace to discover all the information about the\n vm/vcpu's binary statistics.\n Userspace reads this header from the start of the vm/vcpu's stats fd."]
5458#[repr(C)]
5459#[derive(Debug, Default, Copy, Clone, PartialEq)]
5460pub struct kvm_stats_header {
5461 pub flags: __u32,
5462 pub name_size: __u32,
5463 pub num_desc: __u32,
5464 pub id_offset: __u32,
5465 pub desc_offset: __u32,
5466 pub data_offset: __u32,
5467}
5468#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5469const _: () = {
5470 ["Size of kvm_stats_header"][::std::mem::size_of::<kvm_stats_header>() - 24usize];
5471 ["Alignment of kvm_stats_header"][::std::mem::align_of::<kvm_stats_header>() - 4usize];
5472 ["Offset of field: kvm_stats_header::flags"]
5473 [::std::mem::offset_of!(kvm_stats_header, flags) - 0usize];
5474 ["Offset of field: kvm_stats_header::name_size"]
5475 [::std::mem::offset_of!(kvm_stats_header, name_size) - 4usize];
5476 ["Offset of field: kvm_stats_header::num_desc"]
5477 [::std::mem::offset_of!(kvm_stats_header, num_desc) - 8usize];
5478 ["Offset of field: kvm_stats_header::id_offset"]
5479 [::std::mem::offset_of!(kvm_stats_header, id_offset) - 12usize];
5480 ["Offset of field: kvm_stats_header::desc_offset"]
5481 [::std::mem::offset_of!(kvm_stats_header, desc_offset) - 16usize];
5482 ["Offset of field: kvm_stats_header::data_offset"]
5483 [::std::mem::offset_of!(kvm_stats_header, data_offset) - 20usize];
5484};
5485#[doc = " struct kvm_stats_desc - Descriptor of a KVM statistics.\n @flags: Annotations of the stats, like type, unit, etc.\n @exponent: Used together with @flags to determine the unit.\n @size: The number of data items for this stats.\n Every data item is of type __u64.\n @offset: The offset of the stats to the start of stat structure in\n structure kvm or kvm_vcpu.\n @bucket_size: A parameter value used for histogram stats. It is only used\n\t\tfor linear histogram stats, specifying the size of the bucket;\n @name: The name string for the stats. Its size is indicated by the\n &kvm_stats_header->name_size."]
5486#[repr(C)]
5487#[derive(Debug, Default)]
5488pub struct kvm_stats_desc {
5489 pub flags: __u32,
5490 pub exponent: __s16,
5491 pub size: __u16,
5492 pub offset: __u32,
5493 pub bucket_size: __u32,
5494 pub name: __IncompleteArrayField<::std::os::raw::c_char>,
5495}
5496#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5497const _: () = {
5498 ["Size of kvm_stats_desc"][::std::mem::size_of::<kvm_stats_desc>() - 16usize];
5499 ["Alignment of kvm_stats_desc"][::std::mem::align_of::<kvm_stats_desc>() - 4usize];
5500 ["Offset of field: kvm_stats_desc::flags"]
5501 [::std::mem::offset_of!(kvm_stats_desc, flags) - 0usize];
5502 ["Offset of field: kvm_stats_desc::exponent"]
5503 [::std::mem::offset_of!(kvm_stats_desc, exponent) - 4usize];
5504 ["Offset of field: kvm_stats_desc::size"]
5505 [::std::mem::offset_of!(kvm_stats_desc, size) - 6usize];
5506 ["Offset of field: kvm_stats_desc::offset"]
5507 [::std::mem::offset_of!(kvm_stats_desc, offset) - 8usize];
5508 ["Offset of field: kvm_stats_desc::bucket_size"]
5509 [::std::mem::offset_of!(kvm_stats_desc, bucket_size) - 12usize];
5510 ["Offset of field: kvm_stats_desc::name"]
5511 [::std::mem::offset_of!(kvm_stats_desc, name) - 16usize];
5512};
5513#[repr(C)]
5514#[derive(Debug, Default, Copy, Clone, PartialEq)]
5515pub struct kvm_memory_attributes {
5516 pub address: __u64,
5517 pub size: __u64,
5518 pub attributes: __u64,
5519 pub flags: __u64,
5520}
5521#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5522const _: () = {
5523 ["Size of kvm_memory_attributes"][::std::mem::size_of::<kvm_memory_attributes>() - 32usize];
5524 ["Alignment of kvm_memory_attributes"]
5525 [::std::mem::align_of::<kvm_memory_attributes>() - 8usize];
5526 ["Offset of field: kvm_memory_attributes::address"]
5527 [::std::mem::offset_of!(kvm_memory_attributes, address) - 0usize];
5528 ["Offset of field: kvm_memory_attributes::size"]
5529 [::std::mem::offset_of!(kvm_memory_attributes, size) - 8usize];
5530 ["Offset of field: kvm_memory_attributes::attributes"]
5531 [::std::mem::offset_of!(kvm_memory_attributes, attributes) - 16usize];
5532 ["Offset of field: kvm_memory_attributes::flags"]
5533 [::std::mem::offset_of!(kvm_memory_attributes, flags) - 24usize];
5534};
5535#[repr(C)]
5536#[derive(Debug, Default, Copy, Clone, PartialEq)]
5537pub struct kvm_create_guest_memfd {
5538 pub size: __u64,
5539 pub flags: __u64,
5540 pub reserved: [__u64; 6usize],
5541}
5542#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5543const _: () = {
5544 ["Size of kvm_create_guest_memfd"][::std::mem::size_of::<kvm_create_guest_memfd>() - 64usize];
5545 ["Alignment of kvm_create_guest_memfd"]
5546 [::std::mem::align_of::<kvm_create_guest_memfd>() - 8usize];
5547 ["Offset of field: kvm_create_guest_memfd::size"]
5548 [::std::mem::offset_of!(kvm_create_guest_memfd, size) - 0usize];
5549 ["Offset of field: kvm_create_guest_memfd::flags"]
5550 [::std::mem::offset_of!(kvm_create_guest_memfd, flags) - 8usize];
5551 ["Offset of field: kvm_create_guest_memfd::reserved"]
5552 [::std::mem::offset_of!(kvm_create_guest_memfd, reserved) - 16usize];
5553};