This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, master has been updated via c87d5cc8d70e6e4291d18b101882ea2ddded236e (commit) via 7539b2f3ce69085518ca596fba0261a19247b2d8 (commit) via 1c0488456166888148bf191960691d076f5a9c2e (commit) via 10cd6d5e4294d3a35a366e564fbc57abde732e85 (commit) via 0a62e1c5b92a5170aa807cc8803f42698b23f4c8 (commit) via 62108ed367a2718e0f0e2d7d8682b5c83d504670 (commit) via 4afed247a6ee3058aa6dc3e66ed0bd5acff9ce97 (commit) via 25ed19ceb50d77614644f6d4a28a0b23dbf1e94f (commit) from 810fbc9420e23f55e9038410f7f9d6e593537ff3 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit c87d5cc8d70e6e4291d18b101882ea2ddded236e Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:26 2017 +0200
abi: shm: added initial definitions
Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/shared_memory.h b/include/odp/arch/arm32-linux/odp/api/abi/shared_memory.h new file mode 100644 index 0000000..d203678 --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/shared_memory.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/shared_memory.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/shared_memory.h b/include/odp/arch/arm64-linux/odp/api/abi/shared_memory.h new file mode 100644 index 0000000..d203678 --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/shared_memory.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/shared_memory.h> diff --git a/include/odp/arch/default/api/abi/shared_memory.h b/include/odp/arch/default/api/abi/shared_memory.h new file mode 100644 index 0000000..5805f95 --- /dev/null +++ b/include/odp/arch/default/api/abi/shared_memory.h @@ -0,0 +1,35 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_SHM_H_ +#define ODP_ABI_SHM_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_shm_t; + +/** @ingroup odp_shared_memory + * @{ + */ + +typedef _odp_abi_shm_t *odp_shm_t; + +#define ODP_SHM_INVALID ((odp_shm_t)0) +#define ODP_SHM_NULL ODP_SHM_INVALID +#define ODP_SHM_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/shared_memory.h b/include/odp/arch/mips64-linux/odp/api/abi/shared_memory.h new file mode 100644 index 0000000..d203678 --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/shared_memory.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/shared_memory.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/shared_memory.h b/include/odp/arch/power64-linux/odp/api/abi/shared_memory.h new file mode 100644 index 0000000..d203678 --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/shared_memory.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/shared_memory.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/shared_memory.h b/include/odp/arch/x86_32-linux/odp/api/abi/shared_memory.h new file mode 100644 index 0000000..d203678 --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/shared_memory.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/shared_memory.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/shared_memory.h b/include/odp/arch/x86_64-linux/odp/api/abi/shared_memory.h new file mode 100644 index 0000000..d203678 --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/shared_memory.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/shared_memory.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 3201d33..7059d91 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -68,7 +68,8 @@ odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/event.h \ $(top_srcdir)/include/odp/arch/default/api/abi/packet.h \ $(top_srcdir)/include/odp/arch/default/api/abi/pool.h \ - $(top_srcdir)/include/odp/arch/default/api/abi/queue.h + $(top_srcdir)/include/odp/arch/default/api/abi/queue.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/shared_memory.h
odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ @@ -78,7 +79,8 @@ odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/packet.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/pool.h \ - $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/queue.h + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/queue.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/shared_memory.h
EXTRA_DIST = \ arch/arm/odp/api/cpu_arch.h \ diff --git a/platform/linux-generic/include/odp/api/plat/shared_memory_types.h b/platform/linux-generic/include/odp/api/plat/shared_memory_types.h index afa0bf9..2c5b4ed 100644 --- a/platform/linux-generic/include/odp/api/plat/shared_memory_types.h +++ b/platform/linux-generic/include/odp/api/plat/shared_memory_types.h @@ -18,11 +18,15 @@ extern "C" { #endif
+#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/shared_memory.h> +#else + #include <odp/api/std_types.h> #include <odp/api/plat/strong_types.h>
-/** @addtogroup odp_shared_memory ODP SHARED MEMORY - * Operations on shared memory. +/** @ingroup odp_shared_memory * @{ */
@@ -33,16 +37,12 @@ typedef ODP_HANDLE_T(odp_shm_t);
#define ODP_SHM_NAME_LEN 32
-/** Get printable format of odp_shm_t */ -static inline uint64_t odp_shm_to_u64(odp_shm_t hdl) -{ - return _odp_pri(hdl); -} - /** * @} */
+#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/include/odp_pool_internal.h b/platform/linux-generic/include/odp_pool_internal.h index b0805ac..ebb779d 100644 --- a/platform/linux-generic/include/odp_pool_internal.h +++ b/platform/linux-generic/include/odp_pool_internal.h @@ -24,6 +24,7 @@ extern "C" { #include <odp_buffer_internal.h> #include <odp_config_internal.h> #include <odp_ring_internal.h> +#include <odp/api/plat/strong_types.h>
typedef struct pool_cache_t { uint32_t num; diff --git a/platform/linux-generic/odp_shared_memory.c b/platform/linux-generic/odp_shared_memory.c index ba32dee..a6faff6 100644 --- a/platform/linux-generic/odp_shared_memory.c +++ b/platform/linux-generic/odp_shared_memory.c @@ -8,6 +8,7 @@ #include <odp/api/debug.h> #include <odp/api/std_types.h> #include <odp/api/shared_memory.h> +#include <odp/api/plat/strong_types.h> #include <_ishm_internal.h> #include <string.h>
@@ -112,3 +113,8 @@ void odp_shm_print_all(void) { _odp_ishm_status("Memory allocation status:"); } + +uint64_t odp_shm_to_u64(odp_shm_t hdl) +{ + return _odp_pri(hdl); +}
commit 7539b2f3ce69085518ca596fba0261a19247b2d8 Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:25 2017 +0200
abi: queue: added initial definitions
Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase. Removed an unused type definition, documentation of that need to be still removed for API spec. Moved a TM specific define into TM source file.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/queue.h b/include/odp/arch/arm32-linux/odp/api/abi/queue.h new file mode 100644 index 0000000..6027cee --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/queue.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/queue.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/queue.h b/include/odp/arch/arm64-linux/odp/api/abi/queue.h new file mode 100644 index 0000000..6027cee --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/queue.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/queue.h> diff --git a/include/odp/arch/default/api/abi/queue.h b/include/odp/arch/default/api/abi/queue.h new file mode 100644 index 0000000..378b069 --- /dev/null +++ b/include/odp/arch/default/api/abi/queue.h @@ -0,0 +1,35 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_QUEUE_H_ +#define ODP_ABI_QUEUE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_queue_t; + +/** @ingroup odp_queue + * @{ + */ + +typedef _odp_abi_queue_t *odp_queue_t; + +#define ODP_QUEUE_INVALID ((odp_queue_t)0) + +#define ODP_QUEUE_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/queue.h b/include/odp/arch/mips64-linux/odp/api/abi/queue.h new file mode 100644 index 0000000..6027cee --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/queue.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/queue.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/queue.h b/include/odp/arch/power64-linux/odp/api/abi/queue.h new file mode 100644 index 0000000..6027cee --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/queue.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/queue.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/queue.h b/include/odp/arch/x86_32-linux/odp/api/abi/queue.h new file mode 100644 index 0000000..6027cee --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/queue.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/queue.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/queue.h b/include/odp/arch/x86_64-linux/odp/api/abi/queue.h new file mode 100644 index 0000000..6027cee --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/queue.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/queue.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index deeebff..3201d33 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -67,7 +67,8 @@ odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/crypto.h \ $(top_srcdir)/include/odp/arch/default/api/abi/event.h \ $(top_srcdir)/include/odp/arch/default/api/abi/packet.h \ - $(top_srcdir)/include/odp/arch/default/api/abi/pool.h + $(top_srcdir)/include/odp/arch/default/api/abi/pool.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/queue.h
odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ @@ -76,7 +77,8 @@ odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/crypto.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/packet.h \ - $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/pool.h + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/pool.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/queue.h
EXTRA_DIST = \ arch/arm/odp/api/cpu_arch.h \ diff --git a/platform/linux-generic/include/odp/api/plat/queue_types.h b/platform/linux-generic/include/odp/api/plat/queue_types.h index 1569f5d..1561e22 100644 --- a/platform/linux-generic/include/odp/api/plat/queue_types.h +++ b/platform/linux-generic/include/odp/api/plat/queue_types.h @@ -17,39 +17,30 @@ extern "C" { #endif
+#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/queue.h> +#else + #include <odp/api/std_types.h> #include <odp/api/plat/strong_types.h>
-/** @addtogroup odp_queue ODP QUEUE - * Macros and operation on a queue. +/** @ingroup odp_queue * @{ */
typedef ODP_HANDLE_T(odp_queue_t);
-typedef ODP_HANDLE_T(odp_queue_group_t); - #define ODP_QUEUE_INVALID _odp_cast_scalar(odp_queue_t, 0)
#define ODP_QUEUE_NAME_LEN 32
/** - * @def ODP_QUEUE_TYPE_TM - * Traffic manager queue - * @note Internal to the implementation -- not part of queue type API - */ -#define ODP_QUEUE_TYPE_TM 4 - -/** Get printable format of odp_queue_t */ -static inline uint64_t odp_queue_to_u64(odp_queue_t hdl) -{ - return _odp_pri(hdl); -} - -/** * @} */
+#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/include/odp/api/queue.h b/platform/linux-generic/include/odp/api/queue.h index a5cf873..adceafb 100644 --- a/platform/linux-generic/include/odp/api/queue.h +++ b/platform/linux-generic/include/odp/api/queue.h @@ -27,6 +27,10 @@ extern "C" { * @{ */
+/* REMOVE FROM API SPEC. Typedef needed only for suppressing Doxygen + * warning. */ +typedef void odp_queue_group_t; + /** * @} */ diff --git a/platform/linux-generic/include/odp_classification_datamodel.h b/platform/linux-generic/include/odp_classification_datamodel.h index d5382f3..37aff9f 100644 --- a/platform/linux-generic/include/odp_classification_datamodel.h +++ b/platform/linux-generic/include/odp_classification_datamodel.h @@ -82,7 +82,6 @@ struct cos_s { union cos_u *linked_cos[ODP_PMR_PER_COS_MAX]; /* Chained CoS with PMR*/ uint32_t valid; /* validity Flag */ odp_cls_drop_t drop_policy; /* Associated Drop Policy */ - odp_queue_group_t queue_group; /* Associated Queue Group */ size_t headroom; /* Headroom for this CoS */ odp_spinlock_t lock; /* cos lock */ odp_atomic_u32_t num_rule; /* num of PMRs attached with this CoS */ diff --git a/platform/linux-generic/odp_queue.c b/platform/linux-generic/odp_queue.c index aafe567..3975405 100644 --- a/platform/linux-generic/odp_queue.c +++ b/platform/linux-generic/odp_queue.c @@ -756,3 +756,8 @@ int sched_cb_queue_empty(uint32_t queue_index)
return ret; } + +uint64_t odp_queue_to_u64(odp_queue_t hdl) +{ + return _odp_pri(hdl); +} diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c index 9dc3a86..309f237 100644 --- a/platform/linux-generic/odp_traffic_mngr.c +++ b/platform/linux-generic/odp_traffic_mngr.c @@ -37,6 +37,9 @@ static const pkt_desc_t EMPTY_PKT_DESC = { .word = 0 }; #define MAX_PRIORITIES ODP_TM_MAX_PRIORITIES #define NUM_SHAPER_COLORS ODP_NUM_SHAPER_COLORS
+/* Traffic manager queue */ +#define QUEUE_TYPE_TM 4 + static tm_prop_t basic_prop_tbl[MAX_PRIORITIES][NUM_SHAPER_COLORS] = { [0] = { [ODP_TM_SHAPER_GREEN] = { 0, DECR_BOTH }, @@ -3915,7 +3918,7 @@ odp_tm_queue_t odp_tm_queue_create(odp_tm_t odp_tm, tm_queue_obj->pkt = ODP_PACKET_INVALID; odp_ticketlock_init(&tm_wred_node->tm_wred_node_lock);
- tm_queue_obj->tm_qentry.s.type = ODP_QUEUE_TYPE_TM; + tm_queue_obj->tm_qentry.s.type = QUEUE_TYPE_TM; tm_queue_obj->tm_qentry.s.enqueue = queue_tm_reenq; tm_queue_obj->tm_qentry.s.enqueue_multi = queue_tm_reenq_multi;
commit 1c0488456166888148bf191960691d076f5a9c2e Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:24 2017 +0200
abi: pool: added initial definitions
Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/example/timer/odp_timer_test.c b/example/timer/odp_timer_test.c index 1088a74..2196b8c 100644 --- a/example/timer/odp_timer_test.c +++ b/example/timer/odp_timer_test.c @@ -520,7 +520,7 @@ err: if (gbls != NULL && gbls->tp != ODP_TIMER_POOL_INVALID) odp_timer_pool_destroy(gbls->tp);
- if (gbls != NULL && gbls->pool != ODP_TIMER_POOL_INVALID) + if (gbls != NULL && gbls->pool != ODP_POOL_INVALID) if (odp_pool_destroy(gbls->pool)) err = 1;
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/pool.h b/include/odp/arch/arm32-linux/odp/api/abi/pool.h new file mode 100644 index 0000000..b354afb --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/pool.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/pool.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/pool.h b/include/odp/arch/arm64-linux/odp/api/abi/pool.h new file mode 100644 index 0000000..b354afb --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/pool.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/pool.h> diff --git a/include/odp/arch/default/api/abi/pool.h b/include/odp/arch/default/api/abi/pool.h new file mode 100644 index 0000000..4637d19 --- /dev/null +++ b/include/odp/arch/default/api/abi/pool.h @@ -0,0 +1,43 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_POOL_H_ +#define ODP_ABI_POOL_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/api/abi/event.h> + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_pool_t; + +/** @ingroup odp_pool + * @{ + */ + +typedef _odp_abi_pool_t *odp_pool_t; + +#define ODP_POOL_INVALID ((odp_pool_t)0xffffffff) + +#define ODP_POOL_NAME_LEN 32 + +typedef enum odp_pool_type_t { + ODP_POOL_BUFFER = ODP_EVENT_BUFFER, + ODP_POOL_PACKET = ODP_EVENT_PACKET, + ODP_POOL_TIMEOUT = ODP_EVENT_TIMEOUT +} odp_pool_type_t; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/pool.h b/include/odp/arch/mips64-linux/odp/api/abi/pool.h new file mode 100644 index 0000000..b354afb --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/pool.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/pool.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/pool.h b/include/odp/arch/power64-linux/odp/api/abi/pool.h new file mode 100644 index 0000000..b354afb --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/pool.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/pool.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/pool.h b/include/odp/arch/x86_32-linux/odp/api/abi/pool.h new file mode 100644 index 0000000..b354afb --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/pool.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/pool.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/pool.h b/include/odp/arch/x86_64-linux/odp/api/abi/pool.h new file mode 100644 index 0000000..b354afb --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/pool.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/pool.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 03d9376..deeebff 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -66,7 +66,8 @@ odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/default/api/abi/crypto.h \ $(top_srcdir)/include/odp/arch/default/api/abi/event.h \ - $(top_srcdir)/include/odp/arch/default/api/abi/packet.h + $(top_srcdir)/include/odp/arch/default/api/abi/packet.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/pool.h
odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ @@ -74,7 +75,8 @@ odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/crypto.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h \ - $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/packet.h + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/packet.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/pool.h
EXTRA_DIST = \ arch/arm/odp/api/cpu_arch.h \ diff --git a/platform/linux-generic/include/odp/api/plat/pool_types.h b/platform/linux-generic/include/odp/api/plat/pool_types.h index 6baff09..8bc816d 100644 --- a/platform/linux-generic/include/odp/api/plat/pool_types.h +++ b/platform/linux-generic/include/odp/api/plat/pool_types.h @@ -13,16 +13,20 @@ #ifndef ODP_POOL_TYPES_H_ #define ODP_POOL_TYPES_H_
-#include <odp/api/std_types.h> -#include <odp/api/plat/strong_types.h> -#include <odp/api/plat/event_types.h> - #ifdef __cplusplus extern "C" { #endif
-/** @addtogroup odp_buffer - * Operations on a pool. +#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/pool.h> +#else + +#include <odp/api/std_types.h> +#include <odp/api/plat/strong_types.h> +#include <odp/api/plat/event_types.h> + +/** @ingroup odp_pool * @{ */
@@ -32,9 +36,6 @@ typedef ODP_HANDLE_T(odp_pool_t);
#define ODP_POOL_NAME_LEN 32
-/** - * Pool type - */ typedef enum odp_pool_type_t { ODP_POOL_BUFFER = ODP_EVENT_BUFFER, ODP_POOL_PACKET = ODP_EVENT_PACKET, @@ -45,6 +46,8 @@ typedef enum odp_pool_type_t { * @} */
+#endif + #ifdef __cplusplus } #endif
commit 10cd6d5e4294d3a35a366e564fbc57abde732e85 Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:23 2017 +0200
abi: packet: added initial definitions
Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/packet.h b/include/odp/arch/arm32-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/packet.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/packet.h b/include/odp/arch/arm64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/packet.h> diff --git a/include/odp/arch/default/api/abi/packet.h b/include/odp/arch/default/api/abi/packet.h new file mode 100644 index 0000000..60a41b8 --- /dev/null +++ b/include/odp/arch/default/api/abi/packet.h @@ -0,0 +1,47 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_PACKET_H_ +#define ODP_ABI_PACKET_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdint.h> + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_packet_t; + +/** @ingroup odp_packet + * @{ + */ + +typedef _odp_abi_packet_t *odp_packet_t; +typedef uint8_t odp_packet_seg_t; + +#define ODP_PACKET_INVALID ((odp_packet_t)0xffffffff) +#define ODP_PACKET_SEG_INVALID ((odp_packet_seg_t)-1) +#define ODP_PACKET_OFFSET_INVALID (0x0fffffff) + +typedef enum { + ODP_PACKET_GREEN = 0, + ODP_PACKET_YELLOW = 1, + ODP_PACKET_RED = 2, + ODP_PACKET_ALL_COLORS = 3, +} odp_packet_color_t; + +#define ODP_NUM_PACKET_COLORS 3 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/packet.h b/include/odp/arch/mips64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/packet.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/packet.h b/include/odp/arch/power64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/packet.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/packet.h b/include/odp/arch/x86_32-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/packet.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/packet.h b/include/odp/arch/x86_64-linux/odp/api/abi/packet.h new file mode 100644 index 0000000..f44cb53 --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/packet.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/packet.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 29ed347..03d9376 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -65,14 +65,16 @@ odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/default/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/default/api/abi/crypto.h \ - $(top_srcdir)/include/odp/arch/default/api/abi/event.h + $(top_srcdir)/include/odp/arch/default/api/abi/event.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/packet.h
odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/crypto.h \ - $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/packet.h
EXTRA_DIST = \ arch/arm/odp/api/cpu_arch.h \ diff --git a/platform/linux-generic/include/odp/api/plat/packet_types.h b/platform/linux-generic/include/odp/api/plat/packet_types.h index 864494d..34e5dd8 100644 --- a/platform/linux-generic/include/odp/api/plat/packet_types.h +++ b/platform/linux-generic/include/odp/api/plat/packet_types.h @@ -18,11 +18,15 @@ extern "C" { #endif
+#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/packet.h> +#else + #include <odp/api/std_types.h> #include <odp/api/plat/strong_types.h>
-/** @addtogroup odp_packet ODP PACKET - * Operations on a packet. +/** @ingroup odp_packet * @{ */
@@ -32,13 +36,10 @@ typedef ODP_HANDLE_T(odp_packet_t);
#define ODP_PACKET_OFFSET_INVALID (0x0fffffff)
-/* A packet segment handle stores a small index. Strong type handles are - * pointers, which would be wasteful in this case. */ typedef uint8_t odp_packet_seg_t;
#define ODP_PACKET_SEG_INVALID ((odp_packet_seg_t)-1)
-/** odp_packet_color_t assigns names to the various pkt "colors" */ typedef enum { ODP_PACKET_GREEN = 0, ODP_PACKET_YELLOW = 1, @@ -46,25 +47,14 @@ typedef enum { ODP_PACKET_ALL_COLORS = 3, } odp_packet_color_t;
-/** Sets the maximum number of pkt "colors" */ #define ODP_NUM_PACKET_COLORS 3
-/** Get printable format of odp_packet_t */ -static inline uint64_t odp_packet_to_u64(odp_packet_t hdl) -{ - return _odp_pri(hdl); -} - -/** Get printable format of odp_packet_seg_t */ -static inline uint64_t odp_packet_seg_to_u64(odp_packet_seg_t hdl) -{ - return _odp_pri(hdl); -} - /** * @} */
+#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c index 34d720c..8833822 100644 --- a/platform/linux-generic/odp_packet.c +++ b/platform/linux-generic/odp_packet.c @@ -2211,3 +2211,13 @@ int packet_parse_layer(odp_packet_hdr_t *pkt_hdr, layer_t layer) return packet_parse_common(&pkt_hdr->p, base, pkt_hdr->frame_len, seg_len, layer); } + +uint64_t odp_packet_to_u64(odp_packet_t hdl) +{ + return _odp_pri(hdl); +} + +uint64_t odp_packet_seg_to_u64(odp_packet_seg_t hdl) +{ + return _odp_pri(hdl); +}
commit 0a62e1c5b92a5170aa807cc8803f42698b23f4c8 Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:22 2017 +0200
abi: crypto: added initial definitions
Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/crypto.h b/include/odp/arch/arm32-linux/odp/api/abi/crypto.h new file mode 100644 index 0000000..9a9d2dc --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/crypto.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/crypto.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/crypto.h b/include/odp/arch/arm64-linux/odp/api/abi/crypto.h new file mode 100644 index 0000000..9a9d2dc --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/crypto.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/crypto.h> diff --git a/include/odp/arch/default/api/abi/crypto.h b/include/odp/arch/default/api/abi/crypto.h new file mode 100644 index 0000000..f0793a1 --- /dev/null +++ b/include/odp/arch/default/api/abi/crypto.h @@ -0,0 +1,36 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_CRYPTO_H_ +#define ODP_ABI_CRYPTO_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdint.h> + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_crypto_compl_t; + +/** @ingroup odp_crypto + * @{ + */ + +#define ODP_CRYPTO_SESSION_INVALID (0xffffffffffffffffULL) + +typedef uint64_t odp_crypto_session_t; +typedef _odp_abi_crypto_compl_t *odp_crypto_compl_t; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/crypto.h b/include/odp/arch/mips64-linux/odp/api/abi/crypto.h new file mode 100644 index 0000000..9a9d2dc --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/crypto.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/crypto.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/crypto.h b/include/odp/arch/power64-linux/odp/api/abi/crypto.h new file mode 100644 index 0000000..9a9d2dc --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/crypto.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/crypto.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/crypto.h b/include/odp/arch/x86_32-linux/odp/api/abi/crypto.h new file mode 100644 index 0000000..9a9d2dc --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/crypto.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/crypto.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/crypto.h b/include/odp/arch/x86_64-linux/odp/api/abi/crypto.h new file mode 100644 index 0000000..9a9d2dc --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/crypto.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/crypto.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index bb40692..29ed347 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -64,12 +64,14 @@ odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/default/api/abi/classification.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/crypto.h \ $(top_srcdir)/include/odp/arch/default/api/abi/event.h
odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/classification.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/crypto.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h
EXTRA_DIST = \ diff --git a/platform/linux-generic/include/odp/api/plat/crypto_types.h b/platform/linux-generic/include/odp/api/plat/crypto_types.h index 0cbbce8..2cc747e 100644 --- a/platform/linux-generic/include/odp/api/plat/crypto_types.h +++ b/platform/linux-generic/include/odp/api/plat/crypto_types.h @@ -18,7 +18,12 @@ extern "C" { #endif
-/** @addtogroup odp_crypto +#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/crypto.h> +#else + +/** @ingroup odp_crypto * @{ */
@@ -27,22 +32,12 @@ extern "C" { typedef uint64_t odp_crypto_session_t; typedef ODP_HANDLE_T(odp_crypto_compl_t);
-/** Get printable format of odp_crypto_session_t */ -static inline uint64_t odp_crypto_session_to_u64(odp_crypto_session_t hdl) -{ - return (uint64_t)hdl; -} - -/** Get printable format of odp_crypto_compl_t_t */ -static inline uint64_t odp_crypto_compl_to_u64(odp_crypto_compl_t hdl) -{ - return _odp_pri(hdl); -} - /** * @} */
+#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c index 4f17fd6..b53b0fc 100644 --- a/platform/linux-generic/odp_crypto.c +++ b/platform/linux-generic/odp_crypto.c @@ -1120,3 +1120,13 @@ void odp_crypto_session_param_init(odp_crypto_session_param_t *param) { memset(param, 0, sizeof(odp_crypto_session_param_t)); } + +uint64_t odp_crypto_session_to_u64(odp_crypto_session_t hdl) +{ + return (uint64_t)hdl; +} + +uint64_t odp_crypto_compl_to_u64(odp_crypto_compl_t hdl) +{ + return _odp_pri(hdl); +}
commit 62108ed367a2718e0f0e2d7d8682b5c83d504670 Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:21 2017 +0200
abi: classifier: added initial definitions
Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase. Removed unused type definitions, documentation of those need to be still removed for API spec.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/classification.h b/include/odp/arch/arm32-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/classification.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/classification.h b/include/odp/arch/arm64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/classification.h> diff --git a/include/odp/arch/default/api/abi/classification.h b/include/odp/arch/default/api/abi/classification.h new file mode 100644 index 0000000..771907a --- /dev/null +++ b/include/odp/arch/default/api/abi/classification.h @@ -0,0 +1,40 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_CLASSIFICATION_H_ +#define ODP_ABI_CLASSIFICATION_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_cos_t; + +/** Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_pmr_t; + +/** @ingroup odp_classification + * @{ + */ + +typedef _odp_abi_cos_t *odp_cos_t; +typedef _odp_abi_pmr_t *odp_pmr_t; + +#define ODP_COS_INVALID ((odp_cos_t)~0) +#define ODP_PMR_INVAL ((odp_pmr_t)~0) + +#define ODP_COS_NAME_LEN 32 + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/classification.h b/include/odp/arch/mips64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/classification.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/classification.h b/include/odp/arch/power64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/classification.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/classification.h b/include/odp/arch/x86_32-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/classification.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/classification.h b/include/odp/arch/x86_64-linux/odp/api/abi/classification.h new file mode 100644 index 0000000..d48a473 --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/classification.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/classification.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index b078df8..bb40692 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -63,11 +63,13 @@ odpapispecinclude_HEADERS = \ odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi odpapiabidefaultinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/default/api/abi/buffer.h \ + $(top_srcdir)/include/odp/arch/default/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/default/api/abi/event.h
odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/buffer.h \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/classification.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h
EXTRA_DIST = \ diff --git a/platform/linux-generic/include/odp/api/classification.h b/platform/linux-generic/include/odp/api/classification.h index 0bec38b..2ba6eb0 100644 --- a/platform/linux-generic/include/odp/api/classification.h +++ b/platform/linux-generic/include/odp/api/classification.h @@ -10,8 +10,8 @@ * ODP classification descriptor */
-#ifndef ODP_PLAT_CLASSIFY_H_ -#define ODP_PLAT_CLASSIFY_H_ +#ifndef ODP_PLAT_CLASSIFICATION_H_ +#define ODP_PLAT_CLASSIFICATION_H_
#ifdef __cplusplus extern "C" { @@ -28,6 +28,11 @@ extern "C" { * @{ */
+/* REMOVE THESE FROM API SPEC. Typedefs needed only for suppressing Doxygen + * warning. */ +typedef void odp_flowsig_t; +typedef void odp_cos_flow_set_t; + /** * @} */ diff --git a/platform/linux-generic/include/odp/api/plat/classification_types.h b/platform/linux-generic/include/odp/api/plat/classification_types.h index 2093f54..d210feb 100644 --- a/platform/linux-generic/include/odp/api/plat/classification_types.h +++ b/platform/linux-generic/include/odp/api/plat/classification_types.h @@ -10,46 +10,38 @@ * ODP classification descriptor */
-#ifndef ODP_CLASSIFY_TYPES_H_ -#define ODP_CLASSIFY_TYPES_H_ +#ifndef ODP_CLASSIFICATION_TYPES_H_ +#define ODP_CLASSIFICATION_TYPES_H_
#ifdef __cplusplus extern "C" { #endif
+#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/classification.h> +#else + #include <odp/api/plat/strong_types.h>
-/** @addtogroup odp_classification +/** @ingroup odp_classification * @{ */
typedef ODP_HANDLE_T(odp_cos_t); -typedef ODP_HANDLE_T(odp_flowsig_t); - -#define ODP_COS_INVALID _odp_cast_scalar(odp_cos_t, ~0) -#define ODP_COS_NAME_LEN 32 - -typedef uint16_t odp_cos_flow_set_t; +#define ODP_COS_INVALID _odp_cast_scalar(odp_cos_t, ~0)
typedef ODP_HANDLE_T(odp_pmr_t); -#define ODP_PMR_INVAL _odp_cast_scalar(odp_pmr_t, ~0) - -/** Get printable format of odp_cos_t */ -static inline uint64_t odp_cos_to_u64(odp_cos_t hdl) -{ - return _odp_pri(hdl); -} +#define ODP_PMR_INVAL _odp_cast_scalar(odp_pmr_t, ~0)
-/** Get printable format of odp_pmr_t */ -static inline uint64_t odp_pmr_to_u64(odp_pmr_t hdl) -{ - return _odp_pri(hdl); -} +#define ODP_COS_NAME_LEN 32
/** * @} */
+#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/include/odp_classification_datamodel.h b/platform/linux-generic/include/odp_classification_datamodel.h index f6393ee..d5382f3 100644 --- a/platform/linux-generic/include/odp_classification_datamodel.h +++ b/platform/linux-generic/include/odp_classification_datamodel.h @@ -83,7 +83,6 @@ struct cos_s { uint32_t valid; /* validity Flag */ odp_cls_drop_t drop_policy; /* Associated Drop Policy */ odp_queue_group_t queue_group; /* Associated Queue Group */ - odp_cos_flow_set_t flow_set; /* Assigned Flow Set */ size_t headroom; /* Headroom for this CoS */ odp_spinlock_t lock; /* cos lock */ odp_atomic_u32_t num_rule; /* num of PMRs attached with this CoS */ @@ -149,8 +148,6 @@ typedef struct classifier { uint32_t l3_precedence; /* L3 QoS precedence */ pmr_l2_cos_t l2_cos_table; /* L2 QoS-CoS table map */ pmr_l3_cos_t l3_cos_table; /* L3 Qos-CoS table map */ - odp_cos_flow_set_t flow_set; /* Flow Set to be calculated - for this pktio */ size_t headroom; /* Pktio Headroom */ size_t skip; /* Pktio Skip Offset */ } classifier_t; diff --git a/platform/linux-generic/odp_classification.c b/platform/linux-generic/odp_classification.c index 50a7e54..e3e3574 100644 --- a/platform/linux-generic/odp_classification.c +++ b/platform/linux-generic/odp_classification.c @@ -185,7 +185,6 @@ odp_cos_t odp_cls_cos_create(const char *name, odp_cls_cos_param_t *param) } cos_tbl->cos_entry[i].s.queue = queue; cos_tbl->cos_entry[i].s.pool = param->pool; - cos_tbl->cos_entry[i].s.flow_set = 0; cos_tbl->cos_entry[i].s.headroom = 0; cos_tbl->cos_entry[i].s.valid = 1; cos_tbl->cos_entry[i].s.drop_policy = drop_policy; @@ -732,7 +731,6 @@ int pktio_classifier_init(pktio_entry_t *entry) if (entry == NULL) return -1; cls = &entry->s.cls; - cls->flow_set = 0; cls->error_cos = NULL; cls->default_cos = NULL; cls->headroom = 0; @@ -897,3 +895,13 @@ cos_t *match_qos_cos(pktio_entry_t *entry, const uint8_t *pkt_addr, } return NULL; } + +uint64_t odp_cos_to_u64(odp_cos_t hdl) +{ + return _odp_pri(hdl); +} + +uint64_t odp_pmr_to_u64(odp_pmr_t hdl) +{ + return _odp_pri(hdl); +}
commit 4afed247a6ee3058aa6dc3e66ed0bd5acff9ce97 Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:20 2017 +0200
abi: buffer: added initial definitions
Initially, use the same default ABI file for all architectures. Default values match those defined in odp-linux implementation to minimize changes in this phase.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/buffer.h b/include/odp/arch/arm32-linux/odp/api/abi/buffer.h new file mode 100644 index 0000000..d9c3193 --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/buffer.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/buffer.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/buffer.h b/include/odp/arch/arm64-linux/odp/api/abi/buffer.h new file mode 100644 index 0000000..d9c3193 --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/buffer.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/buffer.h> diff --git a/include/odp/arch/default/api/abi/buffer.h b/include/odp/arch/default/api/abi/buffer.h new file mode 100644 index 0000000..eec6f01 --- /dev/null +++ b/include/odp/arch/default/api/abi/buffer.h @@ -0,0 +1,38 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_BUFFER_H_ +#define ODP_ABI_BUFFER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_buffer_t; + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_buffer_seg_t; + +/** @ingroup odp_buffer + * @{ + */ + +typedef _odp_abi_buffer_t *odp_buffer_t; +typedef _odp_abi_buffer_seg_t *odp_buffer_seg_t; + +#define ODP_BUFFER_INVALID ((odp_buffer_t)0xffffffff) +#define ODP_SEGMENT_INVALID ((odp_buffer_seg_t)0xffffffff) + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/buffer.h b/include/odp/arch/mips64-linux/odp/api/abi/buffer.h new file mode 100644 index 0000000..d9c3193 --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/buffer.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/buffer.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/buffer.h b/include/odp/arch/power64-linux/odp/api/abi/buffer.h new file mode 100644 index 0000000..d9c3193 --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/buffer.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/buffer.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/buffer.h b/include/odp/arch/x86_32-linux/odp/api/abi/buffer.h new file mode 100644 index 0000000..d9c3193 --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/buffer.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/buffer.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/buffer.h b/include/odp/arch/x86_64-linux/odp/api/abi/buffer.h new file mode 100644 index 0000000..d9c3193 --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/buffer.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/buffer.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index a24accb..b078df8 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -62,10 +62,12 @@ odpapispecinclude_HEADERS = \
odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi odpapiabidefaultinclude_HEADERS = \ + $(top_srcdir)/include/odp/arch/default/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/default/api/abi/event.h
odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi odpapiabiarchinclude_HEADERS = \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/buffer.h \ $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h
EXTRA_DIST = \ diff --git a/platform/linux-generic/include/odp/api/plat/buffer_types.h b/platform/linux-generic/include/odp/api/plat/buffer_types.h index 344121b..809768f 100644 --- a/platform/linux-generic/include/odp/api/plat/buffer_types.h +++ b/platform/linux-generic/include/odp/api/plat/buffer_types.h @@ -17,26 +17,31 @@ extern "C" { #endif
+#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/buffer.h> +#else + #include <odp/api/std_types.h> #include <odp/api/plat/strong_types.h>
-/** ODP buffer */ +/** @ingroup odp_buffer + * @{ + */ + typedef ODP_HANDLE_T(odp_buffer_t);
-/** Invalid buffer */ #define ODP_BUFFER_INVALID _odp_cast_scalar(odp_buffer_t, 0xffffffff)
-/** ODP buffer segment */ typedef ODP_HANDLE_T(odp_buffer_seg_t);
-/** Invalid segment */ #define ODP_SEGMENT_INVALID ((odp_buffer_seg_t)ODP_BUFFER_INVALID)
-/** Get printable format of odp_buffer_t */ -static inline uint64_t odp_buffer_to_u64(odp_buffer_t hdl) -{ - return _odp_pri(hdl); -} +/** + * @} + */ + +#endif
#ifdef __cplusplus } diff --git a/platform/linux-generic/odp_buffer.c b/platform/linux-generic/odp_buffer.c index b791039..88c8140 100644 --- a/platform/linux-generic/odp_buffer.c +++ b/platform/linux-generic/odp_buffer.c @@ -76,3 +76,8 @@ void odp_buffer_print(odp_buffer_t buf)
ODP_PRINT("\n%s\n", str); } + +uint64_t odp_buffer_to_u64(odp_buffer_t hdl) +{ + return _odp_pri(hdl); +}
commit 25ed19ceb50d77614644f6d4a28a0b23dbf1e94f Author: Petri Savolainen petri.savolainen@linaro.org Date: Tue Jan 31 10:07:19 2017 +0200
abi: event: added the first ABI spec file
Used event API as the first example of an ABI spec file. Used the same default architecture file initially for all architectures. Default ABI files avoid multiple copies of the same definition.
Signed-off-by: Petri Savolainen petri.savolainen@linaro.org Reviewed-and-tested-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/configure.ac b/configure.ac index daa9b31..6153efd 100644 --- a/configure.ac +++ b/configure.ac @@ -119,6 +119,26 @@ then fi
########################################################################## +# Architecture for ABI support +########################################################################## +AS_CASE([$host], + [x86*], [ARCH_ABI=x86_64-linux], + [i686*], [ARCH_ABI=x86_32-linux], + [mips64*], [ARCH_ABI=mips64-linux], + [powerpc*], [ARCH_ABI=power64-linux], + [aarch64*], [ARCH_ABI=arm64-linux], + [arm*], [ARCH_ABI=arm32-linux], + [ARCH_ABI=undefined] +) +AC_SUBST([ARCH_ABI]) + +if test "${ARCH_ABI}" == "undefined"; +then + echo "ARCH_ABI is undefined, please add your ARCH_ABI based on host=${host}" + exit 1 +fi + +########################################################################## # Set correct pkgconfig version ########################################################################## PKGCONFIG_VERSION=$(echo $VERSION | awk -F '.git' '{print $1}') @@ -343,7 +363,9 @@ AC_MSG_RESULT([ Helper Library version: ${ODPHELPER_LIBSO_VERSION}
implementation_name: ${IMPLEMENTATION_NAME} + host: ${host} ARCH_DIR ${ARCH_DIR} + ARCH_ABI ${ARCH_ABI} with_platform: ${with_platform} with_helper_platform: ${with_helper_platform} helper_extn: ${helper_extn} diff --git a/example/Makefile.inc b/example/Makefile.inc index ea596d5..854e8af 100644 --- a/example/Makefile.inc +++ b/example/Makefile.inc @@ -6,6 +6,7 @@ AM_CFLAGS += \ -I$(top_srcdir)/example \ -I$(top_srcdir)/platform/@with_platform@/include \ -I$(top_srcdir)/include/ \ + -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ \ -I$(top_srcdir)/helper/include \ -I$(top_builddir)/platform/@with_platform@/include \ -I$(top_builddir)/include diff --git a/helper/Makefile.am b/helper/Makefile.am index d484679..6b65eb1 100644 --- a/helper/Makefile.am +++ b/helper/Makefile.am @@ -7,6 +7,7 @@ LIB = $(top_builddir)/lib AM_CFLAGS += -I$(srcdir)/include AM_CFLAGS += -I$(top_srcdir)/platform/@with_platform@/include AM_CFLAGS += -I$(top_srcdir)/include +AM_CFLAGS += -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ AM_CFLAGS += -I$(top_builddir)/platform/@with_platform@/include AM_CFLAGS += -I$(top_builddir)/include
diff --git a/helper/test/Makefile.am b/helper/test/Makefile.am index 1c50282..1337657 100644 --- a/helper/test/Makefile.am +++ b/helper/test/Makefile.am @@ -12,6 +12,7 @@ INCFLAGS = \ -I$(top_srcdir)/helper/include \ -I$(top_srcdir)/helper/platform/@with_helper_platform@/include \ -I$(top_srcdir)/include \ + -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ \ -I$(top_srcdir)/platform/@with_platform@/include \ -I$(top_builddir)/include \ -I$(top_srcdir)/helper diff --git a/include/odp/arch/arm32-linux/odp/api/abi/event.h b/include/odp/arch/arm32-linux/odp/api/abi/event.h new file mode 100644 index 0000000..5d2ac75 --- /dev/null +++ b/include/odp/arch/arm32-linux/odp/api/abi/event.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/event.h> diff --git a/include/odp/arch/arm64-linux/odp/api/abi/event.h b/include/odp/arch/arm64-linux/odp/api/abi/event.h new file mode 100644 index 0000000..5d2ac75 --- /dev/null +++ b/include/odp/arch/arm64-linux/odp/api/abi/event.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/event.h> diff --git a/include/odp/arch/default/api/abi/event.h b/include/odp/arch/default/api/abi/event.h new file mode 100644 index 0000000..4f6596b --- /dev/null +++ b/include/odp/arch/default/api/abi/event.h @@ -0,0 +1,42 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef ODP_ABI_EVENT_H_ +#define ODP_ABI_EVENT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdint.h> + +/** @internal Dummy type for strong typing */ +typedef struct { char dummy; /**< @internal Dummy */ } _odp_abi_event_t; + +/** @ingroup odp_event + * @{ + */ + +typedef _odp_abi_event_t *odp_event_t; + +#define ODP_EVENT_INVALID ((odp_event_t)0xffffffff) + +typedef enum odp_event_type_t { + ODP_EVENT_BUFFER = 1, + ODP_EVENT_PACKET = 2, + ODP_EVENT_TIMEOUT = 3, + ODP_EVENT_CRYPTO_COMPL = 4 +} odp_event_type_t; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/odp/arch/mips64-linux/odp/api/abi/event.h b/include/odp/arch/mips64-linux/odp/api/abi/event.h new file mode 100644 index 0000000..5d2ac75 --- /dev/null +++ b/include/odp/arch/mips64-linux/odp/api/abi/event.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/event.h> diff --git a/include/odp/arch/power64-linux/odp/api/abi/event.h b/include/odp/arch/power64-linux/odp/api/abi/event.h new file mode 100644 index 0000000..5d2ac75 --- /dev/null +++ b/include/odp/arch/power64-linux/odp/api/abi/event.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/event.h> diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/event.h b/include/odp/arch/x86_32-linux/odp/api/abi/event.h new file mode 100644 index 0000000..5d2ac75 --- /dev/null +++ b/include/odp/arch/x86_32-linux/odp/api/abi/event.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/event.h> diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/event.h b/include/odp/arch/x86_64-linux/odp/api/abi/event.h new file mode 100644 index 0000000..5d2ac75 --- /dev/null +++ b/include/odp/arch/x86_64-linux/odp/api/abi/event.h @@ -0,0 +1,7 @@ +/* Copyright (c) 2017, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp/arch/default/api/abi/event.h> diff --git a/platform/Makefile.inc b/platform/Makefile.inc index 2722946..a24accb 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -60,6 +60,14 @@ odpapispecinclude_HEADERS = \ $(top_builddir)/include/odp/api/spec/version.h \ $(top_srcdir)/include/odp/api/spec/traffic_mngr.h
+odpapiabidefaultincludedir= $(includedir)/odp/arch/default/api/abi +odpapiabidefaultinclude_HEADERS = \ + $(top_srcdir)/include/odp/arch/default/api/abi/event.h + +odpapiabiarchincludedir= $(includedir)/odp/arch/@ARCH_ABI@/odp/api/abi +odpapiabiarchinclude_HEADERS = \ + $(top_srcdir)/include/odp/arch/@ARCH_ABI@/odp/api/abi/event.h + EXTRA_DIST = \ arch/arm/odp/api/cpu_arch.h \ arch/arm/odp_cpu_arch.c \ diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 0bc9842..576fedf 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -6,6 +6,7 @@ include $(top_srcdir)/platform/@with_platform@/Makefile.inc
AM_CFLAGS += -I$(srcdir)/include AM_CFLAGS += -I$(top_srcdir)/include +AM_CFLAGS += -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ AM_CFLAGS += -I$(top_builddir)/include AM_CFLAGS += -Iinclude
diff --git a/platform/linux-generic/include/odp/api/plat/event_types.h b/platform/linux-generic/include/odp/api/plat/event_types.h index 9ca0fb8..a1aa0e4 100644 --- a/platform/linux-generic/include/odp/api/plat/event_types.h +++ b/platform/linux-generic/include/odp/api/plat/event_types.h @@ -18,11 +18,15 @@ extern "C" { #endif
+#include <odp/api/plat/static_inline.h> +#if ODP_ABI_COMPAT == 1 +#include <odp/api/abi/event.h> +#else + #include <odp/api/std_types.h> #include <odp/api/plat/strong_types.h>
-/** @defgroup odp_event ODP EVENT - * Operations on an event. +/** @ingroup odp_event * @{ */
@@ -30,9 +34,6 @@ typedef ODP_HANDLE_T(odp_event_t);
#define ODP_EVENT_INVALID _odp_cast_scalar(odp_event_t, 0xffffffff)
-/** - * Event types - */ typedef enum odp_event_type_t { ODP_EVENT_BUFFER = 1, ODP_EVENT_PACKET = 2, @@ -40,16 +41,12 @@ typedef enum odp_event_type_t { ODP_EVENT_CRYPTO_COMPL = 4, } odp_event_type_t;
-/** Get printable format of odp_event_t */ -static inline uint64_t odp_event_to_u64(odp_event_t hdl) -{ - return _odp_pri(hdl); -} - /** * @} */
+#endif + #ifdef __cplusplus } #endif diff --git a/platform/linux-generic/odp_event.c b/platform/linux-generic/odp_event.c index cc3fb0a..d71f446 100644 --- a/platform/linux-generic/odp_event.c +++ b/platform/linux-generic/odp_event.c @@ -38,3 +38,8 @@ void odp_event_free(odp_event_t event) ODP_ABORT("Invalid event type: %d\n", odp_event_type(event)); } } + +uint64_t odp_event_to_u64(odp_event_t hdl) +{ + return _odp_pri(hdl); +} diff --git a/test/Makefile.inc b/test/Makefile.inc index 243a616..898249d 100644 --- a/test/Makefile.inc +++ b/test/Makefile.inc @@ -10,6 +10,7 @@ INCFLAGS = \ -I$(top_builddir)/platform/@with_platform@/include \ -I$(top_srcdir)/helper/include \ -I$(top_srcdir)/include \ + -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ \ -I$(top_srcdir)/platform/@with_platform@/include \ -I$(top_srcdir)/test \ -I$(top_builddir)/include diff --git a/test/linux-generic/Makefile.inc b/test/linux-generic/Makefile.inc index 2a49076..373157b 100644 --- a/test/linux-generic/Makefile.inc +++ b/test/linux-generic/Makefile.inc @@ -14,6 +14,7 @@ INCODP = \ -I$(top_builddir)/platform/@with_platform@/include \ -I$(top_srcdir)/helper/include \ -I$(top_srcdir)/include \ + -I$(top_srcdir)/include/odp/arch/@ARCH_ABI@ \ -I$(top_srcdir)/platform/@with_platform@/arch/$(ARCH_DIR) \ -I$(top_srcdir)/platform/@with_platform@/include \ -I$(top_srcdir)/test
-----------------------------------------------------------------------
Summary of changes: configure.ac | 22 ++++++++++ example/Makefile.inc | 1 + example/timer/odp_timer_test.c | 2 +- helper/Makefile.am | 1 + helper/test/Makefile.am | 1 + include/odp/arch/arm32-linux/odp/api/abi/buffer.h | 7 ++++ .../arch/arm32-linux/odp/api/abi/classification.h | 7 ++++ include/odp/arch/arm32-linux/odp/api/abi/crypto.h | 7 ++++ include/odp/arch/arm32-linux/odp/api/abi/event.h | 7 ++++ include/odp/arch/arm32-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/arm32-linux/odp/api/abi/pool.h | 7 ++++ include/odp/arch/arm32-linux/odp/api/abi/queue.h | 7 ++++ .../arch/arm32-linux/odp/api/abi/shared_memory.h | 7 ++++ include/odp/arch/arm64-linux/odp/api/abi/buffer.h | 7 ++++ .../arch/arm64-linux/odp/api/abi/classification.h | 7 ++++ include/odp/arch/arm64-linux/odp/api/abi/crypto.h | 7 ++++ include/odp/arch/arm64-linux/odp/api/abi/event.h | 7 ++++ include/odp/arch/arm64-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/arm64-linux/odp/api/abi/pool.h | 7 ++++ include/odp/arch/arm64-linux/odp/api/abi/queue.h | 7 ++++ .../arch/arm64-linux/odp/api/abi/shared_memory.h | 7 ++++ include/odp/arch/default/api/abi/buffer.h | 38 +++++++++++++++++ include/odp/arch/default/api/abi/classification.h | 40 ++++++++++++++++++ include/odp/arch/default/api/abi/crypto.h | 36 +++++++++++++++++ include/odp/arch/default/api/abi/event.h | 42 +++++++++++++++++++ include/odp/arch/default/api/abi/packet.h | 47 ++++++++++++++++++++++ include/odp/arch/default/api/abi/pool.h | 43 ++++++++++++++++++++ include/odp/arch/default/api/abi/queue.h | 35 ++++++++++++++++ include/odp/arch/default/api/abi/shared_memory.h | 35 ++++++++++++++++ include/odp/arch/mips64-linux/odp/api/abi/buffer.h | 7 ++++ .../arch/mips64-linux/odp/api/abi/classification.h | 7 ++++ include/odp/arch/mips64-linux/odp/api/abi/crypto.h | 7 ++++ include/odp/arch/mips64-linux/odp/api/abi/event.h | 7 ++++ include/odp/arch/mips64-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/mips64-linux/odp/api/abi/pool.h | 7 ++++ include/odp/arch/mips64-linux/odp/api/abi/queue.h | 7 ++++ .../arch/mips64-linux/odp/api/abi/shared_memory.h | 7 ++++ .../odp/arch/power64-linux/odp/api/abi/buffer.h | 7 ++++ .../power64-linux/odp/api/abi/classification.h | 7 ++++ .../odp/arch/power64-linux/odp/api/abi/crypto.h | 7 ++++ include/odp/arch/power64-linux/odp/api/abi/event.h | 7 ++++ .../odp/arch/power64-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/power64-linux/odp/api/abi/pool.h | 7 ++++ include/odp/arch/power64-linux/odp/api/abi/queue.h | 7 ++++ .../arch/power64-linux/odp/api/abi/shared_memory.h | 7 ++++ include/odp/arch/x86_32-linux/odp/api/abi/buffer.h | 7 ++++ .../arch/x86_32-linux/odp/api/abi/classification.h | 7 ++++ include/odp/arch/x86_32-linux/odp/api/abi/crypto.h | 7 ++++ include/odp/arch/x86_32-linux/odp/api/abi/event.h | 7 ++++ include/odp/arch/x86_32-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/x86_32-linux/odp/api/abi/pool.h | 7 ++++ include/odp/arch/x86_32-linux/odp/api/abi/queue.h | 7 ++++ .../arch/x86_32-linux/odp/api/abi/shared_memory.h | 7 ++++ include/odp/arch/x86_64-linux/odp/api/abi/buffer.h | 7 ++++ .../arch/x86_64-linux/odp/api/abi/classification.h | 7 ++++ include/odp/arch/x86_64-linux/odp/api/abi/crypto.h | 7 ++++ include/odp/arch/x86_64-linux/odp/api/abi/event.h | 7 ++++ include/odp/arch/x86_64-linux/odp/api/abi/packet.h | 7 ++++ include/odp/arch/x86_64-linux/odp/api/abi/pool.h | 7 ++++ include/odp/arch/x86_64-linux/odp/api/abi/queue.h | 7 ++++ .../arch/x86_64-linux/odp/api/abi/shared_memory.h | 7 ++++ platform/Makefile.inc | 22 ++++++++++ platform/linux-generic/Makefile.am | 1 + .../linux-generic/include/odp/api/classification.h | 9 ++++- .../include/odp/api/plat/buffer_types.h | 23 ++++++----- .../include/odp/api/plat/classification_types.h | 34 ++++++---------- .../include/odp/api/plat/crypto_types.h | 21 ++++------ .../include/odp/api/plat/event_types.h | 19 ++++----- .../include/odp/api/plat/packet_types.h | 26 ++++-------- .../include/odp/api/plat/pool_types.h | 21 +++++----- .../include/odp/api/plat/queue_types.h | 25 ++++-------- .../include/odp/api/plat/shared_memory_types.h | 16 ++++---- platform/linux-generic/include/odp/api/queue.h | 4 ++ .../include/odp_classification_datamodel.h | 4 -- platform/linux-generic/include/odp_pool_internal.h | 1 + platform/linux-generic/odp_buffer.c | 5 +++ platform/linux-generic/odp_classification.c | 12 +++++- platform/linux-generic/odp_crypto.c | 10 +++++ platform/linux-generic/odp_event.c | 5 +++ platform/linux-generic/odp_packet.c | 10 +++++ platform/linux-generic/odp_queue.c | 5 +++ platform/linux-generic/odp_shared_memory.c | 6 +++ platform/linux-generic/odp_traffic_mngr.c | 5 ++- test/Makefile.inc | 1 + test/linux-generic/Makefile.inc | 1 + 85 files changed, 849 insertions(+), 116 deletions(-) create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/buffer.h create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/event.h create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/pool.h create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/queue.h create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/shared_memory.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/buffer.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/event.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/pool.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/queue.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/shared_memory.h create mode 100644 include/odp/arch/default/api/abi/buffer.h create mode 100644 include/odp/arch/default/api/abi/classification.h create mode 100644 include/odp/arch/default/api/abi/crypto.h create mode 100644 include/odp/arch/default/api/abi/event.h create mode 100644 include/odp/arch/default/api/abi/packet.h create mode 100644 include/odp/arch/default/api/abi/pool.h create mode 100644 include/odp/arch/default/api/abi/queue.h create mode 100644 include/odp/arch/default/api/abi/shared_memory.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/buffer.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/event.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/pool.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/queue.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/shared_memory.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/buffer.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/event.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/pool.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/queue.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/shared_memory.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/buffer.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/event.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/pool.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/queue.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/shared_memory.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/buffer.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/classification.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/event.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/packet.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/pool.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/queue.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/shared_memory.h
hooks/post-receive