1*bb4ee6a4SAndroid Build Coastguard Worker /* automatically generated by tools/bindgen-all-the-things */ 2*bb4ee6a4SAndroid Build Coastguard Worker 3*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::missing_safety_doc)] 4*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::undocumented_unsafe_blocks)] 5*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::upper_case_acronyms)] 6*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_upper_case_globals)] 7*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_camel_case_types)] 8*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_snake_case)] 9*bb4ee6a4SAndroid Build Coastguard Worker #![allow(dead_code)] 10*bb4ee6a4SAndroid Build Coastguard Worker 11*bb4ee6a4SAndroid Build Coastguard Worker // Added by vfio_sys/bindgen.sh 12*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::AsBytes; 13*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::FromBytes; 14*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::FromZeroes; 15*bb4ee6a4SAndroid Build Coastguard Worker 16*bb4ee6a4SAndroid Build Coastguard Worker // TODO(b/292077398): Upstream or remove ACPI notification forwarding support 17*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_ACPI_NTFY_IRQ_INDEX: std::os::raw::c_uint = 5; 18*bb4ee6a4SAndroid Build Coastguard Worker 19*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 20*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 21*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_acpi_dsm { 22*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 23*bb4ee6a4SAndroid Build Coastguard Worker pub padding: u32, 24*bb4ee6a4SAndroid Build Coastguard Worker pub args: __IncompleteArrayField<u8>, 25*bb4ee6a4SAndroid Build Coastguard Worker } 26*bb4ee6a4SAndroid Build Coastguard Worker 27*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 28*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 29*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_acpi_notify_eventfd { 30*bb4ee6a4SAndroid Build Coastguard Worker pub notify_eventfd: i32, 31*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: u32, 32*bb4ee6a4SAndroid Build Coastguard Worker } 33*bb4ee6a4SAndroid Build Coastguard Worker 34*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 35*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 36*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_info_with_cap { 37*bb4ee6a4SAndroid Build Coastguard Worker pub region_info: vfio_region_info, 38*bb4ee6a4SAndroid Build Coastguard Worker pub cap_info: __IncompleteArrayField<u8>, 39*bb4ee6a4SAndroid Build Coastguard Worker } 40*bb4ee6a4SAndroid Build Coastguard Worker 41*bb4ee6a4SAndroid Build Coastguard Worker // vfio_iommu_type1_info_cap_iova_range minus the incomplete iova_ranges 42*bb4ee6a4SAndroid Build Coastguard Worker // array, so that Copy/AsBytes/FromBytes can be implemented. 43*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 44*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, AsBytes, FromZeroes, FromBytes)] 45*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_info_cap_iova_range_header { 46*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 47*bb4ee6a4SAndroid Build Coastguard Worker pub nr_iovas: u32, 48*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: u32, 49*bb4ee6a4SAndroid Build Coastguard Worker } 50*bb4ee6a4SAndroid Build Coastguard Worker 51*bb4ee6a4SAndroid Build Coastguard Worker // Experimental Android uABI 52*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PKVM_PVIOMMU: u32 = 11; 53*bb4ee6a4SAndroid Build Coastguard Worker 54*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 55*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Default)] 56*bb4ee6a4SAndroid Build Coastguard Worker pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]); 57*bb4ee6a4SAndroid Build Coastguard Worker impl<T> __IncompleteArrayField<T> { 58*bb4ee6a4SAndroid Build Coastguard Worker #[inline] new() -> Self59*bb4ee6a4SAndroid Build Coastguard Worker pub const fn new() -> Self { 60*bb4ee6a4SAndroid Build Coastguard Worker __IncompleteArrayField(::std::marker::PhantomData, []) 61*bb4ee6a4SAndroid Build Coastguard Worker } 62*bb4ee6a4SAndroid Build Coastguard Worker #[inline] as_ptr(&self) -> *const T63*bb4ee6a4SAndroid Build Coastguard Worker pub fn as_ptr(&self) -> *const T { 64*bb4ee6a4SAndroid Build Coastguard Worker self as *const _ as *const T 65*bb4ee6a4SAndroid Build Coastguard Worker } 66*bb4ee6a4SAndroid Build Coastguard Worker #[inline] as_mut_ptr(&mut self) -> *mut T67*bb4ee6a4SAndroid Build Coastguard Worker pub fn as_mut_ptr(&mut self) -> *mut T { 68*bb4ee6a4SAndroid Build Coastguard Worker self as *mut _ as *mut T 69*bb4ee6a4SAndroid Build Coastguard Worker } 70*bb4ee6a4SAndroid Build Coastguard Worker #[inline] as_slice(&self, len: usize) -> &[T]71*bb4ee6a4SAndroid Build Coastguard Worker pub unsafe fn as_slice(&self, len: usize) -> &[T] { 72*bb4ee6a4SAndroid Build Coastguard Worker ::std::slice::from_raw_parts(self.as_ptr(), len) 73*bb4ee6a4SAndroid Build Coastguard Worker } 74*bb4ee6a4SAndroid Build Coastguard Worker #[inline] as_mut_slice(&mut self, len: usize) -> &mut [T]75*bb4ee6a4SAndroid Build Coastguard Worker pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { 76*bb4ee6a4SAndroid Build Coastguard Worker ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) 77*bb4ee6a4SAndroid Build Coastguard Worker } 78*bb4ee6a4SAndroid Build Coastguard Worker } 79*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> { fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result80*bb4ee6a4SAndroid Build Coastguard Worker fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { 81*bb4ee6a4SAndroid Build Coastguard Worker fmt.write_str("__IncompleteArrayField") 82*bb4ee6a4SAndroid Build Coastguard Worker } 83*bb4ee6a4SAndroid Build Coastguard Worker } 84*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_API_VERSION: u32 = 0; 85*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_TYPE1_IOMMU: u32 = 1; 86*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_SPAPR_TCE_IOMMU: u32 = 2; 87*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_TYPE1v2_IOMMU: u32 = 3; 88*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DMA_CC_IOMMU: u32 = 4; 89*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH: u32 = 5; 90*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_TYPE1_NESTING_IOMMU: u32 = 6; 91*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_SPAPR_TCE_v2_IOMMU: u32 = 7; 92*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_NOIOMMU_IOMMU: u32 = 8; 93*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_UNMAP_ALL: u32 = 9; 94*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_UPDATE_VADDR: u32 = 10; 95*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_TYPE: u32 = 59; 96*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_BASE: u32 = 100; 97*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_GROUP_FLAGS_VIABLE: u32 = 1; 98*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_GROUP_FLAGS_CONTAINER_SET: u32 = 2; 99*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_RESET: u32 = 1; 100*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_PCI: u32 = 2; 101*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_PLATFORM: u32 = 4; 102*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_AMBA: u32 = 8; 103*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_CCW: u32 = 16; 104*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_AP: u32 = 32; 105*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_FSL_MC: u32 = 64; 106*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_CAPS: u32 = 128; 107*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FLAGS_CDX: u32 = 256; 108*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_INFO_CAP_ZPCI_BASE: u32 = 1; 109*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_INFO_CAP_ZPCI_GROUP: u32 = 2; 110*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_INFO_CAP_ZPCI_UTIL: u32 = 3; 111*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_INFO_CAP_ZPCI_PFIP: u32 = 4; 112*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_INFO_CAP_PCI_ATOMIC_COMP: u32 = 5; 113*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_ATOMIC_COMP32: u32 = 1; 114*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_ATOMIC_COMP64: u32 = 2; 115*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_ATOMIC_COMP128: u32 = 4; 116*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_FLAG_READ: u32 = 1; 117*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_FLAG_WRITE: u32 = 2; 118*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_FLAG_MMAP: u32 = 4; 119*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_FLAG_CAPS: u32 = 8; 120*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_CAP_SPARSE_MMAP: u32 = 1; 121*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_CAP_TYPE: u32 = 2; 122*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_TYPE_PCI_VENDOR_TYPE: u32 = 2147483648; 123*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_TYPE_PCI_VENDOR_MASK: u32 = 65535; 124*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_TYPE_GFX: u32 = 1; 125*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_TYPE_CCW: u32 = 2; 126*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_TYPE_MIGRATION_DEPRECATED: u32 = 3; 127*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION: u32 = 1; 128*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG: u32 = 2; 129*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG: u32 = 3; 130*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM: u32 = 1; 131*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD: u32 = 1; 132*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_GFX_EDID: u32 = 1; 133*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_GFX_LINK_STATE_UP: u32 = 1; 134*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_GFX_LINK_STATE_DOWN: u32 = 2; 135*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD: u32 = 1; 136*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_CCW_SCHIB: u32 = 2; 137*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_CCW_CRW: u32 = 3; 138*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_SUBTYPE_MIGRATION_DEPRECATED: u32 = 1; 139*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_STATE_V1_STOP: u32 = 0; 140*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_STATE_V1_RUNNING: u32 = 1; 141*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_STATE_V1_SAVING: u32 = 2; 142*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_STATE_V1_RESUMING: u32 = 4; 143*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_STATE_MASK: u32 = 7; 144*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_CAP_MSIX_MAPPABLE: u32 = 3; 145*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_CAP_NVLINK2_SSATGT: u32 = 4; 146*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD: u32 = 5; 147*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_INFO_EVENTFD: u32 = 1; 148*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_INFO_MASKABLE: u32 = 2; 149*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_INFO_AUTOMASKED: u32 = 4; 150*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_INFO_NORESIZE: u32 = 8; 151*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_DATA_NONE: u32 = 1; 152*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_DATA_BOOL: u32 = 2; 153*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_DATA_EVENTFD: u32 = 4; 154*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_ACTION_MASK: u32 = 8; 155*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_ACTION_UNMASK: u32 = 16; 156*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_ACTION_TRIGGER: u32 = 32; 157*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_DATA_TYPE_MASK: u32 = 7; 158*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IRQ_SET_ACTION_TYPE_MASK: u32 = 56; 159*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_DEVID_OWNED: u32 = 0; 160*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_DEVID_NOT_OWNED: i32 = -1; 161*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_HOT_RESET_FLAG_DEV_ID: u32 = 1; 162*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_HOT_RESET_FLAG_DEV_ID_OWNED: u32 = 2; 163*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_GFX_PLANE_TYPE_PROBE: u32 = 1; 164*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_GFX_PLANE_TYPE_DMABUF: u32 = 2; 165*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_GFX_PLANE_TYPE_REGION: u32 = 4; 166*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_IOEVENTFD_8: u32 = 1; 167*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_IOEVENTFD_16: u32 = 2; 168*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_IOEVENTFD_32: u32 = 4; 169*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_IOEVENTFD_64: u32 = 8; 170*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_IOEVENTFD_SIZE_MASK: u32 = 15; 171*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_MASK: u32 = 65535; 172*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_GET: u32 = 65536; 173*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_SET: u32 = 131072; 174*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_PROBE: u32 = 262144; 175*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_PCI_VF_TOKEN: u32 = 0; 176*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_MIGRATION_STOP_COPY: u32 = 1; 177*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_MIGRATION_P2P: u32 = 2; 178*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_MIGRATION_PRE_COPY: u32 = 4; 179*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_MIGRATION: u32 = 1; 180*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_MIG_DEVICE_STATE: u32 = 2; 181*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY: u32 = 3; 182*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP: u32 = 4; 183*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_LOW_POWER_EXIT: u32 = 5; 184*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_DMA_LOGGING_START: u32 = 6; 185*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_DMA_LOGGING_STOP: u32 = 7; 186*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_DMA_LOGGING_REPORT: u32 = 8; 187*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DEVICE_FEATURE_MIG_DATA_SIZE: u32 = 9; 188*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_INFO_PGSIZES: u32 = 1; 189*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_INFO_CAPS: u32 = 2; 190*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_TYPE1_INFO_CAP_IOVA_RANGE: u32 = 1; 191*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_TYPE1_INFO_CAP_MIGRATION: u32 = 2; 192*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_TYPE1_INFO_DMA_AVAIL: u32 = 3; 193*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DMA_MAP_FLAG_READ: u32 = 1; 194*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DMA_MAP_FLAG_WRITE: u32 = 2; 195*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DMA_MAP_FLAG_VADDR: u32 = 4; 196*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DMA_UNMAP_FLAG_GET_DIRTY_BITMAP: u32 = 1; 197*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DMA_UNMAP_FLAG_ALL: u32 = 2; 198*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_DMA_UNMAP_FLAG_VADDR: u32 = 4; 199*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_DIRTY_PAGES_FLAG_START: u32 = 1; 200*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_DIRTY_PAGES_FLAG_STOP: u32 = 2; 201*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_DIRTY_PAGES_FLAG_GET_BITMAP: u32 = 4; 202*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_IOMMU_SPAPR_INFO_DDW: u32 = 1; 203*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_DISABLE: u32 = 0; 204*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_ENABLE: u32 = 1; 205*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_UNFREEZE_IO: u32 = 2; 206*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_UNFREEZE_DMA: u32 = 3; 207*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_GET_STATE: u32 = 4; 208*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_STATE_NORMAL: u32 = 0; 209*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_STATE_RESET: u32 = 1; 210*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_STATE_STOPPED: u32 = 2; 211*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_STATE_STOPPED_DMA: u32 = 4; 212*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_STATE_UNAVAIL: u32 = 5; 213*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_RESET_DEACTIVATE: u32 = 5; 214*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_RESET_HOT: u32 = 6; 215*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_RESET_FUNDAMENTAL: u32 = 7; 216*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_CONFIGURE: u32 = 8; 217*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_EEH_PE_INJECT_ERR: u32 = 9; 218*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 219*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 220*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_info_cap_header { 221*bb4ee6a4SAndroid Build Coastguard Worker pub id: u16, 222*bb4ee6a4SAndroid Build Coastguard Worker pub version: u16, 223*bb4ee6a4SAndroid Build Coastguard Worker pub next: u32, 224*bb4ee6a4SAndroid Build Coastguard Worker } 225*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 226*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 227*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_group_status { 228*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 229*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 230*bb4ee6a4SAndroid Build Coastguard Worker } 231*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 232*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 233*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_info { 234*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 235*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 236*bb4ee6a4SAndroid Build Coastguard Worker pub num_regions: u32, 237*bb4ee6a4SAndroid Build Coastguard Worker pub num_irqs: u32, 238*bb4ee6a4SAndroid Build Coastguard Worker pub cap_offset: u32, 239*bb4ee6a4SAndroid Build Coastguard Worker pub pad: u32, 240*bb4ee6a4SAndroid Build Coastguard Worker } 241*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 242*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 243*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_info_cap_pci_atomic_comp { 244*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 245*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 246*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: u32, 247*bb4ee6a4SAndroid Build Coastguard Worker } 248*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 249*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 250*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_info { 251*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 252*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 253*bb4ee6a4SAndroid Build Coastguard Worker pub index: u32, 254*bb4ee6a4SAndroid Build Coastguard Worker pub cap_offset: u32, 255*bb4ee6a4SAndroid Build Coastguard Worker pub size: u64, 256*bb4ee6a4SAndroid Build Coastguard Worker pub offset: u64, 257*bb4ee6a4SAndroid Build Coastguard Worker } 258*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 259*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 260*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_sparse_mmap_area { 261*bb4ee6a4SAndroid Build Coastguard Worker pub offset: u64, 262*bb4ee6a4SAndroid Build Coastguard Worker pub size: u64, 263*bb4ee6a4SAndroid Build Coastguard Worker } 264*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 265*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 266*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_info_cap_sparse_mmap { 267*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 268*bb4ee6a4SAndroid Build Coastguard Worker pub nr_areas: u32, 269*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: u32, 270*bb4ee6a4SAndroid Build Coastguard Worker pub areas: __IncompleteArrayField<vfio_region_sparse_mmap_area>, 271*bb4ee6a4SAndroid Build Coastguard Worker } 272*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 273*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 274*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_info_cap_type { 275*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 276*bb4ee6a4SAndroid Build Coastguard Worker pub type_: u32, 277*bb4ee6a4SAndroid Build Coastguard Worker pub subtype: u32, 278*bb4ee6a4SAndroid Build Coastguard Worker } 279*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 280*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 281*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_gfx_edid { 282*bb4ee6a4SAndroid Build Coastguard Worker pub edid_offset: u32, 283*bb4ee6a4SAndroid Build Coastguard Worker pub edid_max_size: u32, 284*bb4ee6a4SAndroid Build Coastguard Worker pub edid_size: u32, 285*bb4ee6a4SAndroid Build Coastguard Worker pub max_xres: u32, 286*bb4ee6a4SAndroid Build Coastguard Worker pub max_yres: u32, 287*bb4ee6a4SAndroid Build Coastguard Worker pub link_state: u32, 288*bb4ee6a4SAndroid Build Coastguard Worker } 289*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 290*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 291*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_migration_info { 292*bb4ee6a4SAndroid Build Coastguard Worker pub device_state: u32, 293*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: u32, 294*bb4ee6a4SAndroid Build Coastguard Worker pub pending_bytes: u64, 295*bb4ee6a4SAndroid Build Coastguard Worker pub data_offset: u64, 296*bb4ee6a4SAndroid Build Coastguard Worker pub data_size: u64, 297*bb4ee6a4SAndroid Build Coastguard Worker } 298*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 299*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 300*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_info_cap_nvlink2_ssatgt { 301*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 302*bb4ee6a4SAndroid Build Coastguard Worker pub tgt: u64, 303*bb4ee6a4SAndroid Build Coastguard Worker } 304*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 305*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 306*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_region_info_cap_nvlink2_lnkspd { 307*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 308*bb4ee6a4SAndroid Build Coastguard Worker pub link_speed: u32, 309*bb4ee6a4SAndroid Build Coastguard Worker pub __pad: u32, 310*bb4ee6a4SAndroid Build Coastguard Worker } 311*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 312*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 313*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_irq_info { 314*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 315*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 316*bb4ee6a4SAndroid Build Coastguard Worker pub index: u32, 317*bb4ee6a4SAndroid Build Coastguard Worker pub count: u32, 318*bb4ee6a4SAndroid Build Coastguard Worker } 319*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 320*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 321*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_irq_set { 322*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 323*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 324*bb4ee6a4SAndroid Build Coastguard Worker pub index: u32, 325*bb4ee6a4SAndroid Build Coastguard Worker pub start: u32, 326*bb4ee6a4SAndroid Build Coastguard Worker pub count: u32, 327*bb4ee6a4SAndroid Build Coastguard Worker pub data: __IncompleteArrayField<u8>, 328*bb4ee6a4SAndroid Build Coastguard Worker } 329*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_BAR0_REGION_INDEX: _bindgen_ty_1 = 0; 330*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_BAR1_REGION_INDEX: _bindgen_ty_1 = 1; 331*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_BAR2_REGION_INDEX: _bindgen_ty_1 = 2; 332*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_BAR3_REGION_INDEX: _bindgen_ty_1 = 3; 333*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_BAR4_REGION_INDEX: _bindgen_ty_1 = 4; 334*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_BAR5_REGION_INDEX: _bindgen_ty_1 = 5; 335*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_ROM_REGION_INDEX: _bindgen_ty_1 = 6; 336*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_CONFIG_REGION_INDEX: _bindgen_ty_1 = 7; 337*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_VGA_REGION_INDEX: _bindgen_ty_1 = 8; 338*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_NUM_REGIONS: _bindgen_ty_1 = 9; 339*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_1 = ::std::os::raw::c_uint; 340*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_INTX_IRQ_INDEX: _bindgen_ty_2 = 0; 341*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_MSI_IRQ_INDEX: _bindgen_ty_2 = 1; 342*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_MSIX_IRQ_INDEX: _bindgen_ty_2 = 2; 343*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_ERR_IRQ_INDEX: _bindgen_ty_2 = 3; 344*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_REQ_IRQ_INDEX: _bindgen_ty_2 = 4; 345*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_PCI_NUM_IRQS: _bindgen_ty_2 = 5; 346*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_2 = ::std::os::raw::c_uint; 347*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_CCW_CONFIG_REGION_INDEX: _bindgen_ty_3 = 0; 348*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_CCW_NUM_REGIONS: _bindgen_ty_3 = 1; 349*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_3 = ::std::os::raw::c_uint; 350*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_CCW_IO_IRQ_INDEX: _bindgen_ty_4 = 0; 351*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_CCW_CRW_IRQ_INDEX: _bindgen_ty_4 = 1; 352*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_CCW_REQ_IRQ_INDEX: _bindgen_ty_4 = 2; 353*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_CCW_NUM_IRQS: _bindgen_ty_4 = 3; 354*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_4 = ::std::os::raw::c_uint; 355*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_AP_REQ_IRQ_INDEX: _bindgen_ty_5 = 0; 356*bb4ee6a4SAndroid Build Coastguard Worker pub const VFIO_AP_NUM_IRQS: _bindgen_ty_5 = 1; 357*bb4ee6a4SAndroid Build Coastguard Worker pub type _bindgen_ty_5 = ::std::os::raw::c_uint; 358*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 359*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 360*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_pci_dependent_device { 361*bb4ee6a4SAndroid Build Coastguard Worker pub __bindgen_anon_1: vfio_pci_dependent_device__bindgen_ty_1, 362*bb4ee6a4SAndroid Build Coastguard Worker pub segment: u16, 363*bb4ee6a4SAndroid Build Coastguard Worker pub bus: u8, 364*bb4ee6a4SAndroid Build Coastguard Worker pub devfn: u8, 365*bb4ee6a4SAndroid Build Coastguard Worker } 366*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 367*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 368*bb4ee6a4SAndroid Build Coastguard Worker pub union vfio_pci_dependent_device__bindgen_ty_1 { 369*bb4ee6a4SAndroid Build Coastguard Worker pub group_id: u32, 370*bb4ee6a4SAndroid Build Coastguard Worker pub devid: u32, 371*bb4ee6a4SAndroid Build Coastguard Worker } 372*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_pci_dependent_device__bindgen_ty_1 { default() -> Self373*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 374*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 375*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 376*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 377*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 378*bb4ee6a4SAndroid Build Coastguard Worker } 379*bb4ee6a4SAndroid Build Coastguard Worker } 380*bb4ee6a4SAndroid Build Coastguard Worker } 381*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_pci_dependent_device { default() -> Self382*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 383*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 384*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 385*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 386*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 387*bb4ee6a4SAndroid Build Coastguard Worker } 388*bb4ee6a4SAndroid Build Coastguard Worker } 389*bb4ee6a4SAndroid Build Coastguard Worker } 390*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 391*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_pci_hot_reset_info { 392*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 393*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 394*bb4ee6a4SAndroid Build Coastguard Worker pub count: u32, 395*bb4ee6a4SAndroid Build Coastguard Worker pub devices: __IncompleteArrayField<vfio_pci_dependent_device>, 396*bb4ee6a4SAndroid Build Coastguard Worker } 397*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_pci_hot_reset_info { default() -> Self398*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 399*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 400*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 401*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 402*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 403*bb4ee6a4SAndroid Build Coastguard Worker } 404*bb4ee6a4SAndroid Build Coastguard Worker } 405*bb4ee6a4SAndroid Build Coastguard Worker } 406*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 407*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 408*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_pci_hot_reset { 409*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 410*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 411*bb4ee6a4SAndroid Build Coastguard Worker pub count: u32, 412*bb4ee6a4SAndroid Build Coastguard Worker pub group_fds: __IncompleteArrayField<i32>, 413*bb4ee6a4SAndroid Build Coastguard Worker } 414*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 415*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 416*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_gfx_plane_info { 417*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 418*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 419*bb4ee6a4SAndroid Build Coastguard Worker pub drm_plane_type: u32, 420*bb4ee6a4SAndroid Build Coastguard Worker pub drm_format: u32, 421*bb4ee6a4SAndroid Build Coastguard Worker pub drm_format_mod: u64, 422*bb4ee6a4SAndroid Build Coastguard Worker pub width: u32, 423*bb4ee6a4SAndroid Build Coastguard Worker pub height: u32, 424*bb4ee6a4SAndroid Build Coastguard Worker pub stride: u32, 425*bb4ee6a4SAndroid Build Coastguard Worker pub size: u32, 426*bb4ee6a4SAndroid Build Coastguard Worker pub x_pos: u32, 427*bb4ee6a4SAndroid Build Coastguard Worker pub y_pos: u32, 428*bb4ee6a4SAndroid Build Coastguard Worker pub x_hot: u32, 429*bb4ee6a4SAndroid Build Coastguard Worker pub y_hot: u32, 430*bb4ee6a4SAndroid Build Coastguard Worker pub __bindgen_anon_1: vfio_device_gfx_plane_info__bindgen_ty_1, 431*bb4ee6a4SAndroid Build Coastguard Worker } 432*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 433*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 434*bb4ee6a4SAndroid Build Coastguard Worker pub union vfio_device_gfx_plane_info__bindgen_ty_1 { 435*bb4ee6a4SAndroid Build Coastguard Worker pub region_index: u32, 436*bb4ee6a4SAndroid Build Coastguard Worker pub dmabuf_id: u32, 437*bb4ee6a4SAndroid Build Coastguard Worker } 438*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_device_gfx_plane_info__bindgen_ty_1 { default() -> Self439*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 440*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 441*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 442*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 443*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 444*bb4ee6a4SAndroid Build Coastguard Worker } 445*bb4ee6a4SAndroid Build Coastguard Worker } 446*bb4ee6a4SAndroid Build Coastguard Worker } 447*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_device_gfx_plane_info { default() -> Self448*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 449*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 450*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 451*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 452*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 453*bb4ee6a4SAndroid Build Coastguard Worker } 454*bb4ee6a4SAndroid Build Coastguard Worker } 455*bb4ee6a4SAndroid Build Coastguard Worker } 456*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 457*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 458*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_ioeventfd { 459*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 460*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 461*bb4ee6a4SAndroid Build Coastguard Worker pub offset: u64, 462*bb4ee6a4SAndroid Build Coastguard Worker pub data: u64, 463*bb4ee6a4SAndroid Build Coastguard Worker pub fd: i32, 464*bb4ee6a4SAndroid Build Coastguard Worker } 465*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 466*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 467*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_feature { 468*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 469*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 470*bb4ee6a4SAndroid Build Coastguard Worker pub data: __IncompleteArrayField<u8>, 471*bb4ee6a4SAndroid Build Coastguard Worker } 472*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 473*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 474*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_bind_iommufd { 475*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 476*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 477*bb4ee6a4SAndroid Build Coastguard Worker pub iommufd: i32, 478*bb4ee6a4SAndroid Build Coastguard Worker pub out_devid: u32, 479*bb4ee6a4SAndroid Build Coastguard Worker } 480*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 481*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 482*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_attach_iommufd_pt { 483*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 484*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 485*bb4ee6a4SAndroid Build Coastguard Worker pub pt_id: u32, 486*bb4ee6a4SAndroid Build Coastguard Worker } 487*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 488*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 489*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_detach_iommufd_pt { 490*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 491*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 492*bb4ee6a4SAndroid Build Coastguard Worker } 493*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 494*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 495*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_feature_migration { 496*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u64, 497*bb4ee6a4SAndroid Build Coastguard Worker } 498*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 499*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 500*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_feature_mig_state { 501*bb4ee6a4SAndroid Build Coastguard Worker pub device_state: u32, 502*bb4ee6a4SAndroid Build Coastguard Worker pub data_fd: i32, 503*bb4ee6a4SAndroid Build Coastguard Worker } 504*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_ERROR: vfio_device_mig_state = 0; 505*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_STOP: vfio_device_mig_state = 1; 506*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_RUNNING: vfio_device_mig_state = 2; 507*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_STOP_COPY: vfio_device_mig_state = 3; 508*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_RESUMING: vfio_device_mig_state = 4; 509*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_RUNNING_P2P: vfio_device_mig_state = 5; 510*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_PRE_COPY: vfio_device_mig_state = 6; 511*bb4ee6a4SAndroid Build Coastguard Worker pub const vfio_device_mig_state_VFIO_DEVICE_STATE_PRE_COPY_P2P: vfio_device_mig_state = 7; 512*bb4ee6a4SAndroid Build Coastguard Worker pub type vfio_device_mig_state = ::std::os::raw::c_uint; 513*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 514*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 515*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_precopy_info { 516*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 517*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 518*bb4ee6a4SAndroid Build Coastguard Worker pub initial_bytes: u64, 519*bb4ee6a4SAndroid Build Coastguard Worker pub dirty_bytes: u64, 520*bb4ee6a4SAndroid Build Coastguard Worker } 521*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 522*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 523*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_low_power_entry_with_wakeup { 524*bb4ee6a4SAndroid Build Coastguard Worker pub wakeup_eventfd: i32, 525*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: u32, 526*bb4ee6a4SAndroid Build Coastguard Worker } 527*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 528*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 529*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_feature_dma_logging_control { 530*bb4ee6a4SAndroid Build Coastguard Worker pub page_size: u64, 531*bb4ee6a4SAndroid Build Coastguard Worker pub num_ranges: u32, 532*bb4ee6a4SAndroid Build Coastguard Worker pub __reserved: u32, 533*bb4ee6a4SAndroid Build Coastguard Worker pub ranges: u64, 534*bb4ee6a4SAndroid Build Coastguard Worker } 535*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 536*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 537*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_feature_dma_logging_range { 538*bb4ee6a4SAndroid Build Coastguard Worker pub iova: u64, 539*bb4ee6a4SAndroid Build Coastguard Worker pub length: u64, 540*bb4ee6a4SAndroid Build Coastguard Worker } 541*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 542*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 543*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_feature_dma_logging_report { 544*bb4ee6a4SAndroid Build Coastguard Worker pub iova: u64, 545*bb4ee6a4SAndroid Build Coastguard Worker pub length: u64, 546*bb4ee6a4SAndroid Build Coastguard Worker pub page_size: u64, 547*bb4ee6a4SAndroid Build Coastguard Worker pub bitmap: u64, 548*bb4ee6a4SAndroid Build Coastguard Worker } 549*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 550*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 551*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_device_feature_mig_data_size { 552*bb4ee6a4SAndroid Build Coastguard Worker pub stop_copy_length: u64, 553*bb4ee6a4SAndroid Build Coastguard Worker } 554*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 555*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 556*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_info { 557*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 558*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 559*bb4ee6a4SAndroid Build Coastguard Worker pub iova_pgsizes: u64, 560*bb4ee6a4SAndroid Build Coastguard Worker pub cap_offset: u32, 561*bb4ee6a4SAndroid Build Coastguard Worker pub pad: u32, 562*bb4ee6a4SAndroid Build Coastguard Worker } 563*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 564*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 565*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iova_range { 566*bb4ee6a4SAndroid Build Coastguard Worker pub start: u64, 567*bb4ee6a4SAndroid Build Coastguard Worker pub end: u64, 568*bb4ee6a4SAndroid Build Coastguard Worker } 569*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 570*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 571*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_info_cap_iova_range { 572*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 573*bb4ee6a4SAndroid Build Coastguard Worker pub nr_iovas: u32, 574*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: u32, 575*bb4ee6a4SAndroid Build Coastguard Worker pub iova_ranges: __IncompleteArrayField<vfio_iova_range>, 576*bb4ee6a4SAndroid Build Coastguard Worker } 577*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 578*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 579*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_info_cap_migration { 580*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 581*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 582*bb4ee6a4SAndroid Build Coastguard Worker pub pgsize_bitmap: u64, 583*bb4ee6a4SAndroid Build Coastguard Worker pub max_dirty_bitmap_size: u64, 584*bb4ee6a4SAndroid Build Coastguard Worker } 585*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 586*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 587*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_info_dma_avail { 588*bb4ee6a4SAndroid Build Coastguard Worker pub header: vfio_info_cap_header, 589*bb4ee6a4SAndroid Build Coastguard Worker pub avail: u32, 590*bb4ee6a4SAndroid Build Coastguard Worker } 591*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 592*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 593*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_dma_map { 594*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 595*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 596*bb4ee6a4SAndroid Build Coastguard Worker pub vaddr: u64, 597*bb4ee6a4SAndroid Build Coastguard Worker pub iova: u64, 598*bb4ee6a4SAndroid Build Coastguard Worker pub size: u64, 599*bb4ee6a4SAndroid Build Coastguard Worker } 600*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 601*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)] 602*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_bitmap { 603*bb4ee6a4SAndroid Build Coastguard Worker pub pgsize: u64, 604*bb4ee6a4SAndroid Build Coastguard Worker pub size: u64, 605*bb4ee6a4SAndroid Build Coastguard Worker pub data: *mut u64, 606*bb4ee6a4SAndroid Build Coastguard Worker } 607*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_bitmap { default() -> Self608*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 609*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 610*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 611*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 612*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 613*bb4ee6a4SAndroid Build Coastguard Worker } 614*bb4ee6a4SAndroid Build Coastguard Worker } 615*bb4ee6a4SAndroid Build Coastguard Worker } 616*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 617*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 618*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_dma_unmap { 619*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 620*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 621*bb4ee6a4SAndroid Build Coastguard Worker pub iova: u64, 622*bb4ee6a4SAndroid Build Coastguard Worker pub size: u64, 623*bb4ee6a4SAndroid Build Coastguard Worker pub data: __IncompleteArrayField<u8>, 624*bb4ee6a4SAndroid Build Coastguard Worker } 625*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 626*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 627*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_dirty_bitmap { 628*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 629*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 630*bb4ee6a4SAndroid Build Coastguard Worker pub data: __IncompleteArrayField<u8>, 631*bb4ee6a4SAndroid Build Coastguard Worker } 632*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 633*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)] 634*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_type1_dirty_bitmap_get { 635*bb4ee6a4SAndroid Build Coastguard Worker pub iova: u64, 636*bb4ee6a4SAndroid Build Coastguard Worker pub size: u64, 637*bb4ee6a4SAndroid Build Coastguard Worker pub bitmap: vfio_bitmap, 638*bb4ee6a4SAndroid Build Coastguard Worker } 639*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_iommu_type1_dirty_bitmap_get { default() -> Self640*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 641*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 642*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 643*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 644*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 645*bb4ee6a4SAndroid Build Coastguard Worker } 646*bb4ee6a4SAndroid Build Coastguard Worker } 647*bb4ee6a4SAndroid Build Coastguard Worker } 648*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 649*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 650*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_spapr_tce_ddw_info { 651*bb4ee6a4SAndroid Build Coastguard Worker pub pgsizes: u64, 652*bb4ee6a4SAndroid Build Coastguard Worker pub max_dynamic_windows_supported: u32, 653*bb4ee6a4SAndroid Build Coastguard Worker pub levels: u32, 654*bb4ee6a4SAndroid Build Coastguard Worker } 655*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 656*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 657*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_spapr_tce_info { 658*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 659*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 660*bb4ee6a4SAndroid Build Coastguard Worker pub dma32_window_start: u32, 661*bb4ee6a4SAndroid Build Coastguard Worker pub dma32_window_size: u32, 662*bb4ee6a4SAndroid Build Coastguard Worker pub ddw: vfio_iommu_spapr_tce_ddw_info, 663*bb4ee6a4SAndroid Build Coastguard Worker } 664*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 665*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 666*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_eeh_pe_err { 667*bb4ee6a4SAndroid Build Coastguard Worker pub type_: u32, 668*bb4ee6a4SAndroid Build Coastguard Worker pub func: u32, 669*bb4ee6a4SAndroid Build Coastguard Worker pub addr: u64, 670*bb4ee6a4SAndroid Build Coastguard Worker pub mask: u64, 671*bb4ee6a4SAndroid Build Coastguard Worker } 672*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 673*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 674*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_eeh_pe_op { 675*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 676*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 677*bb4ee6a4SAndroid Build Coastguard Worker pub op: u32, 678*bb4ee6a4SAndroid Build Coastguard Worker pub __bindgen_anon_1: vfio_eeh_pe_op__bindgen_ty_1, 679*bb4ee6a4SAndroid Build Coastguard Worker } 680*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 681*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone)] 682*bb4ee6a4SAndroid Build Coastguard Worker pub union vfio_eeh_pe_op__bindgen_ty_1 { 683*bb4ee6a4SAndroid Build Coastguard Worker pub err: vfio_eeh_pe_err, 684*bb4ee6a4SAndroid Build Coastguard Worker } 685*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_eeh_pe_op__bindgen_ty_1 { default() -> Self686*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 687*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 688*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 689*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 690*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 691*bb4ee6a4SAndroid Build Coastguard Worker } 692*bb4ee6a4SAndroid Build Coastguard Worker } 693*bb4ee6a4SAndroid Build Coastguard Worker } 694*bb4ee6a4SAndroid Build Coastguard Worker impl Default for vfio_eeh_pe_op { default() -> Self695*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 696*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 697*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 698*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 699*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 700*bb4ee6a4SAndroid Build Coastguard Worker } 701*bb4ee6a4SAndroid Build Coastguard Worker } 702*bb4ee6a4SAndroid Build Coastguard Worker } 703*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 704*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 705*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_spapr_register_memory { 706*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 707*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 708*bb4ee6a4SAndroid Build Coastguard Worker pub vaddr: u64, 709*bb4ee6a4SAndroid Build Coastguard Worker pub size: u64, 710*bb4ee6a4SAndroid Build Coastguard Worker } 711*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 712*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 713*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_spapr_tce_create { 714*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 715*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 716*bb4ee6a4SAndroid Build Coastguard Worker pub page_shift: u32, 717*bb4ee6a4SAndroid Build Coastguard Worker pub __resv1: u32, 718*bb4ee6a4SAndroid Build Coastguard Worker pub window_size: u64, 719*bb4ee6a4SAndroid Build Coastguard Worker pub levels: u32, 720*bb4ee6a4SAndroid Build Coastguard Worker pub __resv2: u32, 721*bb4ee6a4SAndroid Build Coastguard Worker pub start_addr: u64, 722*bb4ee6a4SAndroid Build Coastguard Worker } 723*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 724*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 725*bb4ee6a4SAndroid Build Coastguard Worker pub struct vfio_iommu_spapr_tce_remove { 726*bb4ee6a4SAndroid Build Coastguard Worker pub argsz: u32, 727*bb4ee6a4SAndroid Build Coastguard Worker pub flags: u32, 728*bb4ee6a4SAndroid Build Coastguard Worker pub start_addr: u64, 729*bb4ee6a4SAndroid Build Coastguard Worker } 730