struct vfio_iommu_spapr_tce_create {
uint32_t argsz;
+ uint32_t flags;
+ /* in */
uint32_t page_shift;
+ uint32_t __resv1;
uint64_t window_size;
uint32_t levels;
+ uint32_t __resv2;
+ /* out */
+ uint64_t start_addr;
};
struct vfio_iommu_spapr_tce_remove {
uint32_t argsz;
+ uint32_t flags;
+ /* in */
uint64_t start_addr;
};
#define VFIO_NOIOMMU_GROUP_FMT "/dev/vfio/noiommu-%u"
#define VFIO_GET_REGION_ADDR(x) ((uint64_t) x << 40ULL)
#define VFIO_GET_REGION_IDX(x) (x >> 40)
+#define VFIO_NOIOMMU_MODE \
+ "/sys/module/vfio/parameters/enable_unsafe_noiommu_mode"
/* DMA mapping function prototype.
* Takes VFIO container fd as a parameter.
int vfio_enable(const char *modname);
int vfio_is_enabled(const char *modname);
-int pci_vfio_enable(void);
int pci_vfio_is_enabled(void);
int vfio_mp_sync_setup(void);
+int vfio_noiommu_is_enabled(void);
+
#define SOCKET_REQ_CONTAINER 0x100
#define SOCKET_REQ_GROUP 0x200
#define SOCKET_CLR_GROUP 0x300