#define VFIO_REGION_INFO_FLAG_CAPS     (1 << 3) /* Info supports caps */
        __u32   index;          /* Region index */
        __u32   cap_offset;     /* Offset within info struct of first cap */
-       __u64   size;           /* Region size (bytes) */
-       __u64   offset;         /* Region offset from start of device fd */
+       __aligned_u64   size;   /* Region size (bytes) */
+       __aligned_u64   offset; /* Region offset from start of device fd */
 };
 #define VFIO_DEVICE_GET_REGION_INFO    _IO(VFIO_TYPE, VFIO_BASE + 8)
 
 #define VFIO_REGION_INFO_CAP_SPARSE_MMAP       1
 
 struct vfio_region_sparse_mmap_area {
-       __u64   offset; /* Offset of mmap'able area within region */
-       __u64   size;   /* Size of mmap'able area */
+       __aligned_u64   offset; /* Offset of mmap'able area within region */
+       __aligned_u64   size;   /* Size of mmap'able area */
 };
 
 struct vfio_region_info_cap_sparse_mmap {
                                             VFIO_DEVICE_STATE_V1_RESUMING)
 
        __u32 reserved;
-       __u64 pending_bytes;
-       __u64 data_offset;
-       __u64 data_size;
+       __aligned_u64 pending_bytes;
+       __aligned_u64 data_offset;
+       __aligned_u64 data_size;
 };
 
 /*
 
 struct vfio_region_info_cap_nvlink2_ssatgt {
        struct vfio_info_cap_header header;
-       __u64 tgt;
+       __aligned_u64 tgt;
 };
 
 /*
        __u32   flags;
 #define VFIO_IOMMU_INFO_PGSIZES (1 << 0)       /* supported page sizes info */
 #define VFIO_IOMMU_INFO_CAPS   (1 << 1)        /* Info supports caps */
-       __u64   iova_pgsizes;   /* Bitmap of supported page sizes */
+       __aligned_u64   iova_pgsizes;           /* Bitmap of supported page sizes */
        __u32   cap_offset;     /* Offset within info struct of first cap */
        __u32   pad;
 };