From: Thomas Monjalon Date: Fri, 3 Nov 2017 23:36:47 +0000 (+0100) Subject: mem: introduce IOVA type X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=d03896dc2d15e0eb327301d95ce571473ee85f82;p=dpdk.git mem: introduce IOVA type The IO virtual addresses may be used instead of physical addresses. As IOVA is more generic, it should be used in most places instead of physical address wording. Signed-off-by: Thomas Monjalon Acked-by: Santosh Shukla --- diff --git a/lib/librte_eal/common/include/rte_memory.h b/lib/librte_eal/common/include/rte_memory.h index 5a3a956e36..e44e0c31d5 100644 --- a/lib/librte_eal/common/include/rte_memory.h +++ b/lib/librte_eal/common/include/rte_memory.h @@ -92,8 +92,17 @@ enum rte_page_sizes { */ #define __rte_cache_min_aligned __rte_aligned(RTE_CACHE_LINE_MIN_SIZE) -typedef uint64_t phys_addr_t; /**< Physical address definition. */ +typedef uint64_t phys_addr_t; /**< Physical address. */ #define RTE_BAD_PHYS_ADDR ((phys_addr_t)-1) +/** + * IO virtual address type. + * When the physical addressing mode (IOVA as PA) is in use, + * the translation from an IO virtual address (IOVA) to a physical address + * is a direct mapping, i.e. the same value. + * Otherwise, in virtual mode (IOVA as VA), an IOMMU may do the translation. + */ +typedef uint64_t rte_iova_t; +#define RTE_BAD_IOVA ((rte_iova_t)-1) /** * Physical memory segment descriptor.