fn save_pending_tables(fd: &DeviceFd) -> Result<()> {
    let init_gic_attr = kvm_bindings::kvm_device_attr {
        group: kvm_bindings::KVM_DEV_ARM_VGIC_GRP_CTRL,
        attr: u64::from(kvm_bindings::KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES),
        addr: 0,
        flags: 0,
    };
    fd.set_device_attr(&init_gic_attr)
        .map_err(|e| Error::DeviceAttribute(e, true, kvm_bindings::KVM_DEV_ARM_VGIC_GRP_CTRL))
}
/// Function that flushes
/// RDIST pending tables into guest RAM.
///
/// The tables get flushed to guest RAM whenever the VM gets stopped.
Function that flushes
RDIST pending tables into guest RAM.

The tables get flushed to guest RAM whenever the VM gets stopped.
Function that flushes RDIST pending tables into guest RAM . The tables get flushed to guest RAM whenever the VM gets stopped .
fn save_pending_tables(fd: &DeviceFd) -> Result<()> {
    let init_gic_attr = kvm_bindings::kvm_device_attr {
        group: kvm_bindings::KVM_DEV_ARM_VGIC_GRP_CTRL,
        attr: u64::from(kvm_bindings::KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES),
        addr: 0,
        flags: 0,
    };
    fd.set_device_attr(&init_gic_attr)
        .map_err(|e| Error::DeviceAttribute(e, true, kvm_bindings::KVM_DEV_ARM_VGIC_GRP_CTRL))
}
fn save_pending_tables ( fd : & DeviceFd ) -> Result < ( ) > { let init_gic_attr = kvm_bindings :: kvm_device_attr { group : kvm_bindings :: KVM_DEV_ARM_VGIC_GRP_CTRL , attr : u64 :: from ( kvm_bindings :: KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES ) , addr : 0 , flags : 0 , } ; fd . set_device_attr ( & init_gic_attr ) . map_err ( | e | Error :: DeviceAttribute ( e , true , kvm_bindings :: KVM_DEV_ARM_VGIC_GRP_CTRL ) ) }
Function that flushes
RDIST pending tables into guest RAM.
Function that flushes RDIST pending tables into guest RAM .
fd
&DeviceFd
fd
&DeviceFd