[dpdk-dev] [PATCH v3 01/12] common/dpaax: move internal symbols into INTERNAL section

Hemant Agrawal (OSS) hemant.agrawal at oss.nxp.com
Thu May 14 11:53:59 CEST 2020


> Hi Hemant,
> 
> So validate_abi.sh has been somewhat deprecated - it may be removed in
> future.
> To run the libabigail abi checks, you need to run the magic command.
> 
> DPDK_ABI_REF_DIR=/build/dpdk/reference/ DPDK_ABI_REF_VERSION=v20.02
> ./devtools/test-meson-builds.sh
> 
> DPDK_ABI_REF_DIR - needs an absolute path, for reasons that are still unclear
> to me.
> DPDK_ABI_REF_VERSION - you need to use the last DPDK release.

[Hemant] Thanks it worked  for me. It is not showing any error for the changes in this patchset.

Regards,
Hemant

> 
> Thanks,
> 
> Ray K
> 
> On 13/05/2020 15:06, Hemant Agrawal (OSS) wrote:
> > Hi Ray,
> > 	I could not find validate_abi using libabigail.abignore.  Am I missing
> something.
> > Though check_abi.sh uses it.
> >
> > When I am checking with validate_abi.sh, I still see warnings.
> >
> > Regards,
> > Hemant
> >
> >> -----Original Message-----
> >> From: Hemant Agrawal <hemant.agrawal at nxp.com>
> >> Sent: Wednesday, May 13, 2020 6:58 PM
> >> To: dev at dpdk.org; david.marchand at redhat.com; mdr at ashroe.eu
> >> Cc: Hemant Agrawal <hemant.agrawal at nxp.com>
> >> Subject: [PATCH v3 01/12] common/dpaax: move internal symbols into
> >> INTERNAL section
> >>
> >> This patch moves the internal symbols to INTERNAL sections so that
> >> any change in them is not reported as ABI breakage.
> >>
> >> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
> >> ---
> >>  devtools/libabigail.abignore                      |  3 +++
> >>  drivers/common/dpaax/dpaa_of.h                    | 15 +++++++++++++++
> >>  drivers/common/dpaax/dpaax_iova_table.h           |  4 ++++
> >>  drivers/common/dpaax/rte_common_dpaax_version.map |  2 +-
> >>  4 files changed, 23 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/devtools/libabigail.abignore
> >> b/devtools/libabigail.abignore index
> >> c9ee73cb3c..b1488d5549 100644
> >> --- a/devtools/libabigail.abignore
> >> +++ b/devtools/libabigail.abignore
> >> @@ -48,3 +48,6 @@
> >>          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
> >> [suppress_variable]
> >>          name = rte_crypto_aead_algorithm_strings
> >> +; Ignore moving DPAAx stable functions to INTERNAL tag [suppress_file]
> >> +	file_name_regexp = ^librte_common_dpaax\.
> >> diff --git a/drivers/common/dpaax/dpaa_of.h
> >> b/drivers/common/dpaax/dpaa_of.h index 960b421766..38d91a1afe
> 100644
> >> --- a/drivers/common/dpaax/dpaa_of.h
> >> +++ b/drivers/common/dpaax/dpaa_of.h
> >> @@ -24,6 +24,7 @@
> >>  #include <limits.h>
> >>  #include <rte_common.h>
> >>  #include <dpaa_list.h>
> >> +#include <rte_compat.h>
> >>
> >>  #ifndef OF_INIT_DEFAULT_PATH
> >>  #define OF_INIT_DEFAULT_PATH "/proc/device-tree"
> >> @@ -102,6 +103,7 @@ struct dt_file {
> >>  	uint64_t buf[OF_FILE_BUF_MAX >> 3];  };
> >>
> >> +__rte_internal
> >>  const struct device_node *of_find_compatible_node(
> >>  					const struct device_node *from,
> >>  					const char *type __rte_unused,
> >> @@ -113,32 +115,44 @@ const struct device_node
> >> *of_find_compatible_node(
> >>  		dev_node != NULL; \
> >>  		dev_node = of_find_compatible_node(dev_node, type,
> >> compatible))
> >>
> >> +__rte_internal
> >>  const void *of_get_property(const struct device_node *from, const
> >> char *name,
> >>  			    size_t *lenp) __attribute__((nonnull(2)));
> >> +__rte_internal
> >>  bool of_device_is_available(const struct device_node *dev_node);
> >>
> >> +
> >> +__rte_internal
> >>  const struct device_node *of_find_node_by_phandle(uint64_t ph);
> >>
> >> +__rte_internal
> >>  const struct device_node *of_get_parent(const struct device_node
> >> *dev_node);
> >>
> >> +__rte_internal
> >>  const struct device_node *of_get_next_child(const struct device_node
> >> *dev_node,
> >>  					    const struct device_node *prev);
> >>
> >> +__rte_internal
> >>  const void *of_get_mac_address(const struct device_node *np);
> >>
> >>  #define for_each_child_node(parent, child) \
> >>  	for (child = of_get_next_child(parent, NULL); child != NULL; \
> >>  			child = of_get_next_child(parent, child))
> >>
> >> +
> >> +__rte_internal
> >>  uint32_t of_n_addr_cells(const struct device_node *dev_node);
> >> uint32_t of_n_size_cells(const struct device_node *dev_node);
> >>
> >> +__rte_internal
> >>  const uint32_t *of_get_address(const struct device_node *dev_node,
> >> size_t idx,
> >>  			       uint64_t *size, uint32_t *flags);
> >>
> >> +__rte_internal
> >>  uint64_t of_translate_address(const struct device_node *dev_node,
> >>  			      const uint32_t *addr) __attribute__((nonnull));
> >>
> >> +__rte_internal
> >>  bool of_device_is_compatible(const struct device_node *dev_node,
> >>  			     const char *compatible);
> >>
> >> @@ -146,6 +160,7 @@ bool of_device_is_compatible(const struct
> >> device_node *dev_node,
> >>   * subsystem that is device-tree-dependent. Eg. Qman/Bman, config
> >> layers, etc.
> >>   * The path should usually be "/proc/device-tree".
> >>   */
> >> +__rte_internal
> >>  int of_init_path(const char *dt_path);
> >>
> >>  /* of_finish() allows a controlled tear-down of the device-tree
> >> layer, eg. if a diff --git a/drivers/common/dpaax/dpaax_iova_table.h
> >> b/drivers/common/dpaax/dpaax_iova_table.h
> >> index fc3b9e7a8f..230fba8ba0 100644
> >> --- a/drivers/common/dpaax/dpaax_iova_table.h
> >> +++ b/drivers/common/dpaax/dpaax_iova_table.h
> >> @@ -61,9 +61,13 @@ extern struct dpaax_iova_table
> >> *dpaax_iova_table_p; #define DPAAX_MEM_SPLIT_MASK_OFF
> >> (DPAAX_MEM_SPLIT - 1) /**< Offset */
> >>
> >>  /* APIs exposed */
> >> +__rte_internal
> >>  int dpaax_iova_table_populate(void);
> >> +__rte_internal
> >>  void dpaax_iova_table_depopulate(void);
> >> +__rte_internal
> >>  int dpaax_iova_table_update(phys_addr_t paddr, void *vaddr, size_t
> >> length);
> >> +__rte_internal
> >>  void dpaax_iova_table_dump(void);
> >>
> >>  static inline void *dpaax_iova_table_get_va(phys_addr_t paddr)
> >> __rte_hot; diff --git
> >> a/drivers/common/dpaax/rte_common_dpaax_version.map
> >> b/drivers/common/dpaax/rte_common_dpaax_version.map
> >> index f72eba761d..ad2b2b3fec 100644
> >> --- a/drivers/common/dpaax/rte_common_dpaax_version.map
> >> +++ b/drivers/common/dpaax/rte_common_dpaax_version.map
> >> @@ -1,4 +1,4 @@
> >> -DPDK_20.0 {
> >> +INTERNAL {
> >>  	global:
> >>
> >>  	dpaax_iova_table_depopulate;
> >> --
> >> 2.17.1
> >


More information about the dev mailing list