[v2,4/6] lib/ring: add ring APIs to support 32b ring elements
Checks
Commit Message
Add ring APIs to support 32b ring elements using templates.
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
lib/librte_ring/Makefile | 3 ++-
lib/librte_ring/meson.build | 4 +++-
lib/librte_ring/rte_ring_32.c | 19 +++++++++++++++
lib/librte_ring/rte_ring_32.h | 36 ++++++++++++++++++++++++++++
lib/librte_ring/rte_ring_version.map | 2 ++
5 files changed, 62 insertions(+), 2 deletions(-)
create mode 100644 lib/librte_ring/rte_ring_32.c
create mode 100644 lib/librte_ring/rte_ring_32.h
@@ -14,10 +14,11 @@ EXPORT_MAP := rte_ring_version.map
LIBABIVER := 2
# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c
+SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c rte_ring_32.c
# install includes
SYMLINK-$(CONFIG_RTE_LIBRTE_RING)-include := rte_ring.h \
+ rte_ring_32.h \
rte_ring_generic.h \
rte_ring_c11_mem.h \
rte_ring_template.h \
@@ -2,8 +2,10 @@
# Copyright(c) 2017 Intel Corporation
version = 2
-sources = files('rte_ring.c')
+sources = files('rte_ring.c',
+ 'rte_ring_32.c')
headers = files('rte_ring.h',
+ 'rte_ring_32.h',
'rte_ring_c11_mem.h',
'rte_ring_generic.h',
'rte_ring_template.h',
new file mode 100644
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2019 Arm Limited
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <sys/queue.h>
+#include <errno.h>
+#include <rte_common.h>
+#include <rte_config.h>
+#include <rte_memory.h>
+#include <rte_lcore.h>
+#include <rte_atomic.h>
+#include <rte_branch_prediction.h>
+#include <rte_memzone.h>
+#include <rte_pause.h>
+
+#include <rte_ring_32.h>
+#include <rte_ring_template.c>
new file mode 100644
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2019 Arm Limited
+ */
+
+#ifndef _RTE_RING_32_H_
+#define _RTE_RING_32_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdio.h>
+#include <stdint.h>
+#include <sys/queue.h>
+#include <errno.h>
+#include <rte_common.h>
+#include <rte_config.h>
+#include <rte_memory.h>
+#include <rte_lcore.h>
+#include <rte_atomic.h>
+#include <rte_branch_prediction.h>
+#include <rte_memzone.h>
+#include <rte_pause.h>
+
+#define RTE_RING_TMPLT_API_SUFFIX 32
+#define RTE_RING_TMPLT_ELEM_SIZE sizeof(uint32_t)
+#define RTE_RING_TMPLT_ELEM_TYPE uint32_t
+#define RTE_RING_TMPLT_EXPERIMENTAL __rte_experimental
+
+#include <rte_ring_template.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _RTE_RING_32_H_ */
@@ -21,7 +21,9 @@ DPDK_2.2 {
EXPERIMENTAL {
global:
+ rte_ring_create_32;
rte_ring_create_elem;
+ rte_ring_get_memsize_32;
rte_ring_get_memsize_elem;
rte_ring_reset;