diff options
-rw-r--r-- | kvm/src/cap.rs | 1 | ||||
-rw-r--r-- | kvm_sys/src/aarch64/bindings.rs | 16 | ||||
-rw-r--r-- | kvm_sys/src/x86/bindings.rs | 16 |
3 files changed, 29 insertions, 4 deletions
diff --git a/kvm/src/cap.rs b/kvm/src/cap.rs index b095f82..7dfd965 100644 --- a/kvm/src/cap.rs +++ b/kvm/src/cap.rs @@ -118,4 +118,5 @@ pub enum Cap { PpcEnableHcall = KVM_CAP_PPC_ENABLE_HCALL, CheckExtensionVm = KVM_CAP_CHECK_EXTENSION_VM, S390UserSigp = KVM_CAP_S390_USER_SIGP, + ImmediateExit = KVM_CAP_IMMEDIATE_EXIT, } diff --git a/kvm_sys/src/aarch64/bindings.rs b/kvm_sys/src/aarch64/bindings.rs index 26b10b4..7be9e0d 100644 --- a/kvm_sys/src/aarch64/bindings.rs +++ b/kvm_sys/src/aarch64/bindings.rs @@ -436,6 +436,7 @@ pub const KVM_CAP_GUEST_DEBUG_HW_BPS: ::std::os::raw::c_uint = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: ::std::os::raw::c_uint = 120; pub const KVM_CAP_SPLIT_IRQCHIP: ::std::os::raw::c_uint = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: ::std::os::raw::c_uint = 122; +pub const KVM_CAP_IMMEDIATE_EXIT: ::std::os::raw::c_uint = 136; pub const KVM_IRQ_ROUTING_IRQCHIP: ::std::os::raw::c_uint = 1; pub const KVM_IRQ_ROUTING_MSI: ::std::os::raw::c_uint = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: ::std::os::raw::c_uint = 3; @@ -1652,7 +1653,8 @@ fn bindgen_test_layout_kvm_s390_skeys() { #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, - pub padding1: [__u8; 7usize], + pub immediate_exit: __u8, + pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, @@ -3143,12 +3145,22 @@ fn bindgen_test_layout_kvm_run() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<kvm_run>())).padding1 as *const _ as usize }, + unsafe { &(*(::std::ptr::null::<kvm_run>())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", + stringify!(immediate_exit) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).padding1 as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", stringify!(padding1) ) ); diff --git a/kvm_sys/src/x86/bindings.rs b/kvm_sys/src/x86/bindings.rs index 06b8680..a9d792f 100644 --- a/kvm_sys/src/x86/bindings.rs +++ b/kvm_sys/src/x86/bindings.rs @@ -422,6 +422,7 @@ pub const KVM_CAP_GUEST_DEBUG_HW_BPS: ::std::os::raw::c_uint = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: ::std::os::raw::c_uint = 120; pub const KVM_CAP_SPLIT_IRQCHIP: ::std::os::raw::c_uint = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: ::std::os::raw::c_uint = 122; +pub const KVM_CAP_IMMEDIATE_EXIT: ::std::os::raw::c_uint = 136; pub const KVM_IRQ_ROUTING_IRQCHIP: ::std::os::raw::c_uint = 1; pub const KVM_IRQ_ROUTING_MSI: ::std::os::raw::c_uint = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: ::std::os::raw::c_uint = 3; @@ -4040,7 +4041,8 @@ fn bindgen_test_layout_kvm_s390_skeys() { #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, - pub padding1: [__u8; 7usize], + pub immediate_exit: __u8, + pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, @@ -5532,12 +5534,22 @@ fn bindgen_test_layout_kvm_run() { ) ); assert_eq!( - unsafe { &(*(::std::ptr::null::<kvm_run>())).padding1 as *const _ as usize }, + unsafe { &(*(::std::ptr::null::<kvm_run>())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", + stringify!(immediate_exit) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<kvm_run>())).padding1 as *const _ as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(kvm_run), + "::", stringify!(padding1) ) ); |