aboutsummaryrefslogtreecommitdiffstats
path: root/lib/librte_eal/linuxapp/eal/eal_vfio.h
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2019-03-20 14:50:04 +0000
committerLuca Boccassi <luca.boccassi@gmail.com>2019-03-20 14:50:10 +0000
commit36e178648f46ea9fb63d89097c59ce45fb8a67fe (patch)
treee3ee0ea25a45aa28918dc721dd1fe19b27d6849c /lib/librte_eal/linuxapp/eal/eal_vfio.h
parent1ab31fb74132eabd45f326413eb6e4f647de48d9 (diff)
parentf7a9461e29147c47ce2bb81bd157ac1833cf5eb1 (diff)
Merge tag 'upstream/16.11.9' into 16.11.x
Upstream version 16.11.9 Change-Id: I947c2532ec89a9850d135bde544b4d5812b49e4f Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Diffstat (limited to 'lib/librte_eal/linuxapp/eal/eal_vfio.h')
-rw-r--r--lib/librte_eal/linuxapp/eal/eal_vfio.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h b/lib/librte_eal/linuxapp/eal/eal_vfio.h
index ac31a4fc..72f1f757 100644
--- a/lib/librte_eal/linuxapp/eal/eal_vfio.h
+++ b/lib/librte_eal/linuxapp/eal/eal_vfio.h
@@ -59,23 +59,46 @@
#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)
+
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;
};
-#else
+
+struct vfio_iommu_spapr_tce_ddw_info {
+ uint64_t pgsizes;
+ uint32_t max_dynamic_windows_supported;
+ uint32_t levels;
+};
+
+/* 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 /* VFIO_SPAPR_TCE_IOMMU */
+
+#else /* VFIO_SPAPR_TCE_v2_IOMMU */
#define RTE_VFIO_SPAPR VFIO_SPAPR_TCE_v2_IOMMU
#endif