X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Feal%2Fwindows%2Feal_memory.c;h=2fd37d97085e51c964dfd912d627cf1462b83d5d;hb=4fd15c6af0d4e065227a27cda9ec0ca1a563dc67;hp=4db048ccb5e10a17eef5b1cd7770d3b788d1645c;hpb=6beb2d294743aad1488234109a3ad95a8d5a273f;p=dpdk.git diff --git a/lib/eal/windows/eal_memory.c b/lib/eal/windows/eal_memory.c index 4db048ccb5..2fd37d9708 100644 --- a/lib/eal/windows/eal_memory.c +++ b/lib/eal/windows/eal_memory.c @@ -198,6 +198,13 @@ exit: return ret; } +void +eal_mem_virt2iova_cleanup(void) +{ + if (virt2phys_device != INVALID_HANDLE_VALUE) + CloseHandle(virt2phys_device); +} + phys_addr_t rte_mem_virt2phy(const void *virt) { @@ -218,19 +225,17 @@ rte_mem_virt2phy(const void *virt) return phys.QuadPart; } -/* Windows currently only supports IOVA as PA. */ rte_iova_t rte_mem_virt2iova(const void *virt) { phys_addr_t phys; - if (virt2phys_device == INVALID_HANDLE_VALUE) - return RTE_BAD_IOVA; + if (rte_eal_iova_mode() == RTE_IOVA_VA) + return (rte_iova_t)virt; phys = rte_mem_virt2phy(virt); if (phys == RTE_BAD_PHYS_ADDR) return RTE_BAD_IOVA; - return (rte_iova_t)phys; }