path: root/doc
diff options
authorAlejandro Lucero <>2018-10-05 13:45:22 +0100
committerThomas Monjalon <>2018-10-28 22:04:34 +0100
commit223b7f1d5ef6a22652462a1b703ffcb6db5658cc (patch)
treefcb526cff9ef8cc3bf6926e4a6e34f7b9761d579 /doc
parentf5b2eff0847d49a66301f0046502c6232cd5da3f (diff)
mem: add function for checking memseg IOVA
A device can suffer addressing limitations. This function checks memsegs have iovas within the supported range based on dma mask. PMDs should use this function during initialization if device suffers addressing limitations, returning an error if this function returns memsegs out of range. Another usage is for emulated IOMMU hardware with addressing limitations. It is necessary to save the most restricted dma mask for checking out memory allocated dynamically after initialization. Signed-off-by: Alejandro Lucero <> Reviewed-by: Anatoly Burakov <>
Diffstat (limited to 'doc')
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/guides/rel_notes/release_18_11.rst b/doc/guides/rel_notes/release_18_11.rst
index ae5c96f..376128f 100644
--- a/doc/guides/rel_notes/release_18_11.rst
+++ b/doc/guides/rel_notes/release_18_11.rst
@@ -60,6 +60,15 @@ New Features
memory that was created outside of DPDK's own page allocator, and using that
memory natively with any other DPDK library or data structure.
+* **Added check for ensuring allocated memory addressable by devices.**
+ Some devices can have addressing limitations so a new function,
+ ``rte_eal_check_dma_mask``, has been added for checking allocated memory is
+ not out of the device range. Because now memory can be dynamically allocated
+ after initialization, a dma mask is kept and any new allocated memory will be
+ checked out against that dma mask and rejected if out of range. If more than
+ one device has addressing limitations, the dma mask is the more restricted one.
* **Added hot-unplug handle mechanism.**
``rte_dev_hotplug_handle_enable`` and ``rte_dev_hotplug_handle_disable`` are
@@ -385,6 +394,9 @@ ABI Changes
- structure ``rte_eal_memconfig`` has been extended to contain next
socket ID for externally allocated segments
+* eal: Added ``dma_maskbits`` to ``rte_mem_config`` for keeping more restricted
+ dma mask based on devices addressing limitations.
* eal: The structure ``rte_device`` got a new field to reference a ``rte_bus``.
It is changing the size of the ``struct rte_device`` and the inherited
device structures of all buses.