[dpdk-dev,v4,15/15] doc: add IOVA aware API changes in release notes

Message ID 20171106014141.13266-16-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Thomas Monjalon Nov. 6, 2017, 1:41 a.m. UTC
  The wording changes have been done in the API without breaking
the ABI. The deprecated fields and symbols can be removed later
when an another ABI change will be required.
The deprecation notice can be removed.

The release notes describe the new available API with IOVA wording.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/rel_notes/deprecation.rst   |  7 -------
 doc/guides/rel_notes/release_17_11.rst | 17 +++++++++++++++++
 2 files changed, 17 insertions(+), 7 deletions(-)
  

Comments

Santosh Shukla Nov. 6, 2017, 5:56 a.m. UTC | #1
On Monday 06 November 2017 07:11 AM, Thomas Monjalon wrote:
> The wording changes have been done in the API without breaking
> the ABI. The deprecated fields and symbols can be removed later
> when an another ABI change will be required.
> The deprecation notice can be removed.
>
> The release notes describe the new available API with IOVA wording.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---

Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
  
John McNamara Nov. 6, 2017, 8:50 a.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Monday, November 6, 2017 1:42 AM
> To: Santosh Shukla <santosh.shukla@caviumnetworks.com>
> Cc: olivier.matz@6wind.com; Gonzalez Monroy, Sergio
> <sergio.gonzalez.monroy@intel.com>; Burakov, Anatoly
> <anatoly.burakov@intel.com>; dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v4 15/15] doc: add IOVA aware API changes in
> release notes
> 
> The wording changes have been done in the API without breaking the ABI.
> The deprecated fields and symbols can be removed later when an another ABI
> change will be required.
> The deprecation notice can be removed.
> 
> The release notes describe the new available API with IOVA wording.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Acked-by: John McNamara <john.mcnamara@intel.com>
  

Patch

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index a93c3e170..817f19213 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -21,13 +21,6 @@  Deprecation Notices
   - ``rte_eal_devargs_type_count``
   - ``rte_eal_parse_devargs_str``, replaced by ``rte_eal_devargs_parse``
 
-* eal: An ABI change is planned for 17.11 to make DPDK aware of IOVA address
-  translation scheme.
-  Reference to phys address in EAL data-structure or functions may change to
-  IOVA address or more appropriate name.
-  The change will be only for the name.
-  Functional aspects of the API or data-structure will remain same.
-
 * pci: Several exposed functions are misnamed.
   The following functions are deprecated starting from v17.11 and are replaced:
 
diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst
index b96b23614..85505fa8e 100644
--- a/doc/guides/rel_notes/release_17_11.rst
+++ b/doc/guides/rel_notes/release_17_11.rst
@@ -321,6 +321,23 @@  API Changes
 * ``rte_mem_phy2mch`` was used in Xen dom0 to obtain the physical address;
   remove this API as Xen dom0 support was removed.
 
+* **Some data type, structure members and functions related to physical address
+  are deprecated and have new alias with IOVA wording.**
+
+  * ``phys_addr_t`` can be often replaced by ``rte_iova_t`` of same size.
+  * ``RTE_BAD_PHYS_ADDR`` is often replaced by ``RTE_BAD_IOVA`` of same value.
+  * ``rte_memseg.phys_addr`` is aliased with ``rte_memseg.iova_addr``.
+  * ``rte_mem_virt2phy()`` can often be replaced by ``rte_mem_virt2iova``.
+  * ``rte_malloc_virt2phy`` is aliased with ``rte_malloc_virt2iova``.
+  * ``rte_memzone.phys_addr`` is aliased with ``rte_memzone.iova``.
+  * ``rte_mempool_objhdr.physaddr`` is aliased with ``rte_mempool_objhdr.iova``.
+  * ``rte_mempool_memhdr.phys_addr`` is aliased with ``rte_mempool_memhdr.iova``.
+  * ``rte_mempool_virt2phy()`` can be replaced by ``rte_mempool_virt2iova()``.
+  * ``rte_mempool_populate_phys*()`` are aliased with ``rte_mempool_populate_iova*()``
+  * ``rte_mbuf.buf_physaddr`` is aliased with ``rte_mbuf.buf_iova``.
+  * ``rte_mbuf_data_dma_addr*()`` are aliased with ``rte_mbuf_data_iova*()``.
+  * ``rte_pktmbuf_mtophys*`` are aliased with ``rte_pktmbuf_iova*()``.
+
 * **PCI bus API moved outside of the EAL**
 
   The PCI bus previously implemented within the EAL has been moved.