vfio: fix build on old kernel

Fixing compile failures for kernels without sPAPR IOMMU support.

Fixes: 0fe9830b5345 ("eal/ppc: support sPAPR IOMMU for vfio-pci")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
This commit is contained in:
Anatoly Burakov 2017-03-28 16:53:43 +01:00 committed by Thomas Monjalon
parent d4d2380cbb
commit 468f42cc26

View File

@ -59,22 +59,44 @@
#define VFIO_IOMMU_SPAPR_REGISTER_MEMORY _IO(VFIO_TYPE, VFIO_BASE + 17)
#define VFIO_IOMMU_SPAPR_TCE_CREATE _IO(VFIO_TYPE, VFIO_BASE + 19)
#define VFIO_IOMMU_SPAPR_TCE_REMOVE _IO(VFIO_TYPE, VFIO_BASE + 20)
/* SPAPR_v2 is not present, but SPAPR might be */
#ifndef VFIO_SPAPR_TCE_IOMMU
#define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
struct vfio_iommu_spapr_tce_info {
uint32_t argsz;
uint32_t flags;
uint32_t dma32_window_start;
uint32_t dma32_window_size;
struct vfio_iommu_spapr_tce_ddw_info ddw;
};
#endif
struct vfio_iommu_spapr_register_memory {
uint32_t argsz;
uint32_t flags;
uint64_t vaddr;
uint64_t size;
};
struct vfio_iommu_spapr_tce_create {
uint32_t argsz;
uint32_t page_shift;
uint64_t window_size;
uint32_t levels;
};
struct vfio_iommu_spapr_tce_remove {
uint32_t argsz;
uint64_t start_addr;
};
struct vfio_iommu_spapr_tce_ddw_info {
uint64_t pgsizes;
uint32_t max_dynamic_windows_supported;
uint32_t levels;
};
#else
#define RTE_VFIO_SPAPR VFIO_SPAPR_TCE_v2_IOMMU
#endif