Thread (231 messages) 231 messages, 9 authors, 2016-11-11

Re: [PATCH v7 06/21] eal/soc: introduce very essential SoC infra definitions

From: Jianbo Liu <hidden>
Date: 2016-11-10 04:09:05

On 28 October 2016 at 20:26, Shreyansh Jain [off-list ref] wrote:
From: Jan Viktorin <redacted>

Define initial structures and functions for the SoC infrastructure.
This patch supports only a very minimal functions for now.
More features will be added in the following commits.

Includes rte_device/rte_driver inheritance of
rte_soc_device/rte_soc_driver.

Signed-off-by: Jan Viktorin <redacted>
Signed-off-by: Shreyansh Jain <redacted>
Signed-off-by: Hemant Agrawal <redacted>
---
 app/test/Makefile                       |   1 +
 app/test/test_soc.c                     |  90 +++++++++++++++++++++
 lib/librte_eal/common/Makefile          |   2 +-
 lib/librte_eal/common/eal_private.h     |   4 +
 lib/librte_eal/common/include/rte_soc.h | 138 ++++++++++++++++++++++++++++++++
 5 files changed, 234 insertions(+), 1 deletion(-)
 create mode 100644 app/test/test_soc.c
 create mode 100644 lib/librte_eal/common/include/rte_soc.h
...

+/**
+ * Utility function to write a SoC device name, this device name can later be
+ * used to retrieve the corresponding rte_soc_addr using above functions.
+ *
+ * @param addr
+ *     The SoC address
+ * @param output
+ *     The output buffer string
+ * @param size
+ *     The output buffer size
+ * @return
+ *  0 on success, negative on error.
+ */
+static inline void
+rte_eal_soc_device_name(const struct rte_soc_addr *addr,
+                       char *output, size_t size)
+{
+       int ret;
+
+       RTE_VERIFY(addr != NULL);
+       RTE_VERIFY(size >= strlen(addr->name));
Is it better to use (size > strlen(addr->name)?
+       ret = snprintf(output, size, "%s", addr->name);
+       RTE_VERIFY(ret >= 0);
+}
+
+static inline int
+rte_eal_compare_soc_addr(const struct rte_soc_addr *a0,
+                        const struct rte_soc_addr *a1)
+{
+       if (a0 == NULL || a1 == NULL)
+               return -1;
+
+       RTE_VERIFY(a0->name != NULL);
+       RTE_VERIFY(a1->name != NULL);
+
+       return strcmp(a0->name, a1->name);
+}
+
+#endif
--
2.7.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help