@@ -8,6 +8,9 @@ ODP_INCLUDES = \
if ODP_ABI_COMPAT
ODP_INCLUDES += \
-I$(top_srcdir)/include/odp/arch/@ARCH_ABI@
+else
+ODP_INCLUDES += \
+ -I$(top_srcdir)/platform/@with_platform@/include-abi
endif
HELPER_INCLUDES = \
@@ -3,6 +3,23 @@ include_HEADERS = \
odp_api.h \
odp_drv.h
+odpapiincludedir= $(includedir)/odp/api/
+odpapiinclude_HEADERS = \
+ odp/api/cpumask.h \
+ odp/api/init.h \
+ odp/api/rwlock.h \
+ odp/api/rwlock_recursive.h \
+ odp/api/schedule.h \
+ odp/api/schedule_types.h \
+ odp/api/spinlock.h \
+ odp/api/spinlock_recursive.h \
+ odp/api/std_types.h \
+ odp/api/thread.h \
+ odp/api/thrmask.h \
+ odp/api/time.h \
+ odp/api/traffic_mngr.h \
+ odp/api/version.h
+
odpapispecincludedir= $(includedir)/odp/api/spec
odpapispecinclude_HEADERS = \
odp/api/spec/align.h \
similarity index 74%
rename from platform/linux-generic/include/odp/api/cpumask.h
rename to include/odp/api/cpumask.h
@@ -10,14 +10,14 @@
* ODP CPU masks and enumeration
*/
-#ifndef ODP_PLAT_CPUMASK_H_
-#define ODP_PLAT_CPUMASK_H_
+#ifndef ODP_API_CPUMASK_H_
+#define ODP_API_CPUMASK_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/cpumask_types.h>
+#include <odp/api/abi/cpumask.h>
#include <odp/api/spec/cpumask.h>
similarity index 64%
rename from platform/linux-generic/include/odp/api/init.h
rename to include/odp/api/init.h
@@ -10,22 +10,14 @@
* ODP initialization.
*/
-#ifndef ODP_PLAT_INIT_H_
-#define ODP_PLAT_INIT_H_
+#ifndef ODP_API_INIT_H_
+#define ODP_API_INIT_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/init_types.h>
-
-/** @ingroup odp_initialization
- * @{
- */
-
-/**
- * @}
- */
+#include <odp/api/abi/init.h>
#include <odp/api/spec/init.h>
similarity index 75%
rename from platform/linux-generic/include/odp/api/rwlock.h
rename to include/odp/api/rwlock.h
@@ -10,14 +10,14 @@
* ODP RW Locks
*/
-#ifndef ODP_PLAT_RWLOCK_H_
-#define ODP_PLAT_RWLOCK_H_
+#ifndef ODP_API_RWLOCK_H_
+#define ODP_API_RWLOCK_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/rwlock_types.h>
+#include <odp/api/abi/rwlock.h>
#include <odp/api/spec/rwlock.h>
similarity index 70%
rename from platform/linux-generic/include/odp/api/rwlock_recursive.h
rename to include/odp/api/rwlock_recursive.h
@@ -10,14 +10,14 @@
* ODP resursive read/write lock
*/
-#ifndef ODP_PLAT_RWLOCK_RECURSIVE_H_
-#define ODP_PLAT_RWLOCK_RECURSIVE_H_
+#ifndef ODP_API_RWLOCK_RECURSIVE_H_
+#define ODP_API_RWLOCK_RECURSIVE_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/rwlock_recursive_types.h>
+#include <odp/api/abi/rwlock_recursive.h>
#include <odp/api/spec/rwlock_recursive.h>
similarity index 63%
rename from platform/linux-generic/include/odp/api/schedule.h
rename to include/odp/api/schedule.h
@@ -10,22 +10,15 @@
* ODP schedule
*/
-#ifndef ODP_PLAT_SCHEDULE_H_
-#define ODP_PLAT_SCHEDULE_H_
+#ifndef ODP_API_SCHEDULE_H_
+#define ODP_API_SCHEDULE_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/schedule_types.h>
-
-/** @ingroup odp_scheduler
- * @{
- */
-
-/**
- * @}
- */
+#include <odp/api/abi/schedule_types.h>
+#include <odp/api/abi/schedule.h>
#include <odp/api/spec/schedule.h>
similarity index 71%
rename from platform/linux-generic/include/odp/api/schedule_types.h
rename to include/odp/api/schedule_types.h
@@ -10,14 +10,14 @@
* ODP schedule
*/
-#ifndef ODP_PLAT_SCHEDULE_TYPES_H_
-#define ODP_PLAT_SCHEDULE_TYPES_H_
+#ifndef ODP_API_SCHEDULE_TYPES_H_
+#define ODP_API_SCHEDULE_TYPES_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/schedule_types.h>
+#include <odp/api/abi/schedule_types.h>
#include <odp/api/spec/schedule_types.h>
similarity index 72%
rename from platform/linux-generic/include/odp/api/spinlock.h
rename to include/odp/api/spinlock.h
@@ -10,14 +10,14 @@
* ODP spinlock
*/
-#ifndef ODP_PLAT_SPINLOCK_H_
-#define ODP_PLAT_SPINLOCK_H_
+#ifndef ODP_API_SPINLOCK_H_
+#define ODP_API_SPINLOCK_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/spinlock_types.h>
+#include <odp/api/abi/spinlock.h>
#include <odp/api/spec/spinlock.h>
similarity index 68%
rename from platform/linux-generic/include/odp/api/spinlock_recursive.h
rename to include/odp/api/spinlock_recursive.h
@@ -10,14 +10,14 @@
* ODP resursive spinlock
*/
-#ifndef ODP_PLAT_SPINLOCK_RECURSIVE_H_
-#define ODP_PLAT_SPINLOCK_RECURSIVE_H_
+#ifndef ODP_API_SPINLOCK_RECURSIVE_H_
+#define ODP_API_SPINLOCK_RECURSIVE_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/spinlock_recursive_types.h>
+#include <odp/api/abi/spinlock_recursive.h>
#include <odp/api/spec/spinlock_recursive.h>
similarity index 54%
rename from platform/linux-generic/include/odp/api/std_types.h
rename to include/odp/api/std_types.h
@@ -10,28 +10,15 @@
* Standard C language types and definitions for ODP.
*/
-#ifndef ODP_PLAT_STD_TYPES_H_
-#define ODP_PLAT_STD_TYPES_H_
+#ifndef ODP_API_STD_TYPES_H_
+#define ODP_API_STD_TYPES_H_
#ifdef __cplusplus
extern "C" {
#endif
-/* uint64_t, uint32_t, etc */
-#include <stdint.h>
-/* true and false for odp_bool_t */
-#include <stdbool.h>
-
-/** @addtogroup odp_system ODP SYSTEM
- * @{
- */
-
-typedef int odp_bool_t;
-
-/**
- * @}
- */
+#include <odp/api/abi/std_types.h>
#include <odp/api/spec/std_types.h>
similarity index 74%
rename from platform/linux-generic/include/odp/api/thread.h
rename to include/odp/api/thread.h
@@ -10,14 +10,14 @@
* ODP thread API
*/
-#ifndef ODP_PLAT_THREAD_H_
-#define ODP_PLAT_THREAD_H_
+#ifndef ODP_API_THREAD_H_
+#define ODP_API_THREAD_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/thread_types.h>
+#include <odp/api/abi/thread.h>
#include <odp/api/spec/thread.h>
similarity index 64%
rename from platform/linux-generic/include/odp/api/thrmask.h
rename to include/odp/api/thrmask.h
@@ -10,22 +10,14 @@
* ODP thread masks
*/
-#ifndef ODP_PLAT_THRMASK_H_
-#define ODP_PLAT_THRMASK_H_
+#ifndef ODP_API_THRMASK_H_
+#define ODP_API_THRMASK_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/thrmask_types.h>
-
-/** @ingroup odp_thread
- * @{
- */
-
-/**
- * @}
- */
+#include <odp/api/abi/thrmask.h>
#include <odp/api/spec/thrmask.h>
similarity index 76%
rename from platform/linux-generic/include/odp/api/time.h
rename to include/odp/api/time.h
@@ -10,18 +10,16 @@
* ODP time
*/
-#ifndef ODP_PLAT_TIME_H_
-#define ODP_PLAT_TIME_H_
+#ifndef ODP_API_TIME_H_
+#define ODP_API_TIME_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <odp/api/std_types.h>
+#include <odp/api/abi/time.h>
-
-
-#include <odp/api/plat/time_types.h>
#include <odp/api/spec/time.h>
#ifdef __cplusplus
similarity index 62%
rename from platform/linux-generic/include/odp/api/traffic_mngr.h
rename to include/odp/api/traffic_mngr.h
@@ -10,22 +10,15 @@
* ODP Traffic manager
*/
-#ifndef ODP_PLAT_TRAFFIC_MNGR_H_
-#define ODP_PLAT_TRAFFIC_MNGR_H_
+#ifndef ODP_API_TRAFFIC_MNGR_H_
+#define ODP_API_TRAFFIC_MNGR_H_
#ifdef __cplusplus
extern "C" {
#endif
-/** @ingroup odp_traffic_mngr
- * @{
- */
-
-/**
- * @}
- */
+#include <odp/api/abi/traffic_mngr.h>
-#include <odp/api/plat/traffic_mngr_types.h>
#include <odp/api/spec/traffic_mngr.h>
#ifdef __cplusplus
similarity index 73%
rename from platform/linux-generic/include/odp/api/version.h
rename to include/odp/api/version.h
@@ -10,14 +10,15 @@
* ODP version
*/
-#ifndef ODP_PLAT_VERSION_H_
-#define ODP_PLAT_VERSION_H_
+#ifndef ODP_API_VERSION_H_
+#define ODP_API_VERSION_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/plat/version_types.h>
+#include <odp/api/abi/version.h>
+
#include <odp/api/spec/version.h>
#ifdef __cplusplus
@@ -28,7 +28,6 @@ odpapiinclude_HEADERS = \
include/odp/api/compiler.h \
include/odp/api/chksum.h \
include/odp/api/cpu.h \
- include/odp/api/cpumask.h \
include/odp/api/crypto.h \
include/odp/api/debug.h \
include/odp/api/deprecated.h \
@@ -37,7 +36,6 @@ odpapiinclude_HEADERS = \
include/odp/api/feature.h \
include/odp/api/hash.h \
include/odp/api/hints.h \
- include/odp/api/init.h \
include/odp/api/ipsec.h \
include/odp/api/packet_flags.h \
include/odp/api/packet.h \
@@ -46,39 +44,24 @@ odpapiinclude_HEADERS = \
include/odp/api/pool.h \
include/odp/api/queue.h \
include/odp/api/random.h \
- include/odp/api/rwlock.h \
- include/odp/api/rwlock_recursive.h \
- include/odp/api/schedule.h \
- include/odp/api/schedule_types.h \
include/odp/api/shared_memory.h \
- include/odp/api/spinlock.h \
- include/odp/api/spinlock_recursive.h \
include/odp/api/std_clib.h \
- include/odp/api/std_types.h \
include/odp/api/support.h \
include/odp/api/sync.h \
include/odp/api/system_info.h \
- include/odp/api/thread.h \
- include/odp/api/thrmask.h \
include/odp/api/ticketlock.h \
- include/odp/api/time.h \
- include/odp/api/timer.h \
- include/odp/api/traffic_mngr.h \
- include/odp/api/version.h
+ include/odp/api/timer.h
odpapiplatincludedir= $(includedir)/odp/api/plat
odpapiplatinclude_HEADERS = \
include/odp/api/plat/atomic_inlines.h \
include/odp/api/plat/atomic_types.h \
- include/odp/api/plat/barrier_types.h \
include/odp/api/plat/buffer_types.h \
include/odp/api/plat/byteorder_inlines.h \
include/odp/api/plat/byteorder_types.h \
include/odp/api/plat/classification_types.h \
- include/odp/api/plat/cpumask_types.h \
include/odp/api/plat/crypto_types.h \
include/odp/api/plat/event_types.h \
- include/odp/api/plat/init_types.h \
include/odp/api/plat/ipsec_types.h \
include/odp/api/plat/packet_flag_inlines.h \
include/odp/api/plat/packet_flag_inlines_api.h \
@@ -88,28 +71,38 @@ odpapiplatinclude_HEADERS = \
include/odp/api/plat/packet_io_types.h \
include/odp/api/plat/pool_types.h \
include/odp/api/plat/queue_types.h \
- include/odp/api/plat/rwlock_types.h \
- include/odp/api/plat/rwlock_recursive_types.h \
- include/odp/api/plat/schedule_types.h \
include/odp/api/plat/shared_memory_types.h \
- include/odp/api/plat/spinlock_types.h \
- include/odp/api/plat/spinlock_recursive_types.h \
include/odp/api/plat/std_clib_inlines.h \
include/odp/api/plat/strong_types.h \
include/odp/api/plat/sync_inlines.h \
- include/odp/api/plat/thread_types.h \
- include/odp/api/plat/thrmask_types.h \
include/odp/api/plat/ticketlock_inlines.h \
include/odp/api/plat/ticketlock_inlines_api.h \
include/odp/api/plat/ticketlock_types.h \
- include/odp/api/plat/time_types.h \
- include/odp/api/plat/timer_types.h \
- include/odp/api/plat/traffic_mngr_types.h \
- include/odp/api/plat/version_types.h
+ include/odp/api/plat/timer_types.h
nodist_odpapiplatinclude_HEADERS = \
include/odp/api/plat/static_inline.h
+if !ODP_ABI_COMPAT
+odpapiabiarchincludedir= $(includedir)/odp/api/abi
+odpapiabiarchinclude_HEADERS = \
+ include-abi/odp/api/abi/barrier.h \
+ include-abi/odp/api/abi/cpumask.h \
+ include-abi/odp/api/abi/init.h \
+ include-abi/odp/api/abi/rwlock.h \
+ include-abi/odp/api/abi/rwlock_recursive.h \
+ include-abi/odp/api/abi/schedule.h \
+ include-abi/odp/api/abi/schedule_types.h \
+ include-abi/odp/api/abi/spinlock.h \
+ include-abi/odp/api/abi/spinlock_recursive.h \
+ include-abi/odp/api/abi/std_types.h \
+ include-abi/odp/api/abi/thread.h \
+ include-abi/odp/api/abi/thrmask.h \
+ include-abi/odp/api/abi/time.h \
+ include-abi/odp/api/abi/traffic_mngr.h \
+ include-abi/odp/api/abi/version.h
+endif
+
odpdrvincludedir = $(includedir)/odp/drv
odpdrvinclude_HEADERS = \
include/odp/drv/align.h \
similarity index 89%
rename from platform/linux-generic/include/odp/api/plat/barrier_types.h
rename to platform/linux-generic/include-abi/odp/api/abi/barrier.h
@@ -10,8 +10,8 @@
* ODP barrier
*/
-#ifndef ODP_BARRIER_TYPES_H_
-#define ODP_BARRIER_TYPES_H_
+#ifndef ODP_ABI_BARRIER_H_
+#define ODP_ABI_BARRIER_H_
#ifdef __cplusplus
extern "C" {
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/cpumask.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/init.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/rwlock.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/rwlock_recursive.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/schedule.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/schedule_types.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/spinlock.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/spinlock_recursive.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/std_types.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/thread.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/thrmask.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/time.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/traffic_mngr.h>
new file mode 100644
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/version.h>
@@ -20,7 +20,7 @@ extern "C" {
#include <odp/api/std_types.h>
#include <odp/api/atomic.h>
#include <odp/api/plat/shared_memory_types.h>
-#include <odp/api/plat/barrier_types.h>
+#include <odp/api/abi/barrier.h>
#include <odp/api/spec/barrier.h>
deleted file mode 100644
@@ -1,54 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP CPU masks and enumeration
- */
-
-#ifndef ODP_CPUMASK_TYPES_H_
-#define ODP_CPUMASK_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_cpumask
- * @{
- */
-
-#include <odp/api/std_types.h>
-#include <odp/api/align.h>
-
-#define ODP_CPUMASK_SIZE 1024
-
-#define ODP_CPUMASK_STR_SIZE ((ODP_CPUMASK_SIZE + 3) / 4 + 3)
-
-/**
- * CPU mask
- *
- * Don't access directly, use access functions.
- */
-typedef struct odp_cpumask_t {
- /** @private CPU mask storage
- *
- * This is private to the implementation.
- * Don't access directly, use access functions.
- */
- uint8_t _u8[ODP_CPUMASK_SIZE / 8];
-} odp_cpumask_t ODP_ALIGNED(8);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,35 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP initialization.
- */
-
-#ifndef ODP_INIT_TYPES_H_
-#define ODP_INIT_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/std_types.h>
-
-typedef uint64_t odp_instance_t;
-
-/**
- * @internal platform specific data
- */
-typedef struct odp_platform_init_t {
- int ipc_ns; /**< Name space for ipc shared objects. */
-} odp_platform_init_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,38 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP recursive read/write lock
- */
-
-#ifndef ODP_RWLOCK_RECURSIVE_TYPES_H_
-#define ODP_RWLOCK_RECURSIVE_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/rwlock.h>
-#include <odp/api/std_types.h>
-#include <odp/api/thread.h>
-
-/** @internal */
-struct odp_rwlock_recursive_s {
- odp_rwlock_t lock; /**< the lock */
- int wr_owner; /**< write owner thread */
- uint32_t wr_cnt; /**< write recursion count */
- uint8_t rd_cnt[ODP_THREAD_COUNT_MAX]; /**< read recursion count */
-};
-
-typedef struct odp_rwlock_recursive_s odp_rwlock_recursive_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,37 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP rwlock
- */
-
-#ifndef ODP_RWLOCK_TYPES_H_
-#define ODP_RWLOCK_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/atomic.h>
-
-/** @internal */
-struct odp_rwlock_s {
- odp_atomic_u32_t cnt; /**< lock count
- 0 lock not taken
- -1 write lock taken
- >0 read lock(s) taken */
-};
-
-typedef struct odp_rwlock_s odp_rwlock_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,64 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP schedule
- */
-
-#ifndef ODP_SCHEDULE_TYPES_H_
-#define ODP_SCHEDULE_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/std_types.h>
-
-/** @addtogroup odp_scheduler
- * @{
- */
-
-#define ODP_SCHED_WAIT UINT64_MAX
-#define ODP_SCHED_NO_WAIT 0
-
-typedef int odp_schedule_prio_t;
-
-#define ODP_SCHED_PRIO_HIGHEST 0
-
-#define ODP_SCHED_PRIO_NORMAL 4
-
-#define ODP_SCHED_PRIO_LOWEST 7
-
-#define ODP_SCHED_PRIO_DEFAULT ODP_SCHED_PRIO_NORMAL
-
-typedef int odp_schedule_sync_t;
-
-#define ODP_SCHED_SYNC_PARALLEL 0
-#define ODP_SCHED_SYNC_ATOMIC 1
-#define ODP_SCHED_SYNC_ORDERED 2
-
-typedef int odp_schedule_group_t;
-
-/* These must be kept in sync with thread_globals_t in odp_thread.c */
-#define ODP_SCHED_GROUP_INVALID ((odp_schedule_group_t)-1)
-#define ODP_SCHED_GROUP_ALL 0
-#define ODP_SCHED_GROUP_WORKER 1
-#define ODP_SCHED_GROUP_CONTROL 2
-
-#define ODP_SCHED_GROUP_NAME_LEN 32
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,36 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP recursive spinlock
- */
-
-#ifndef ODP_SPINLOCK_RECURSIVE_TYPES_H_
-#define ODP_SPINLOCK_RECURSIVE_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/spinlock.h>
-#include <odp/api/std_types.h>
-
-/** @internal */
-struct odp_spinlock_recursive_s {
- odp_spinlock_t lock; /**< the lock */
- int owner; /**< thread owning the lock */
- uint32_t cnt; /**< recursion count */
-};
-
-typedef struct odp_spinlock_recursive_s odp_spinlock_recursive_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,34 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-/**
- * @file
- *
- * ODP spinlock
- */
-
-#ifndef ODP_SPINLOCK_TYPES_H_
-#define ODP_SPINLOCK_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/std_types.h>
-
-/** @internal */
-struct odp_spinlock_s {
- char lock; /**< lock flag, should match odp_atomic_flag_t */
-};
-
-typedef struct odp_spinlock_s odp_spinlock_t;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,34 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP thread
- */
-
-#ifndef ODP_THREAD_TYPES_H_
-#define ODP_THREAD_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_thread
- * @{
- */
-
-#define ODP_THREAD_COUNT_MAX 128
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,48 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP thread masks
- */
-
-#ifndef ODP_THRMASK_TYPES_H_
-#define ODP_THRMASK_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_thread
- * @{
- */
-
-#include <odp/api/cpumask.h>
-
-/**
- * Minimum size of output buffer for odp_thrmask_to_str()
- */
-#define ODP_THRMASK_STR_SIZE ODP_CPUMASK_STR_SIZE
-
-/**
- * Thread mask
- *
- * Don't access directly, use access functions.
- */
-typedef struct odp_thrmask_t {
- odp_cpumask_t m; /**< @private Mask*/
-} odp_thrmask_t;
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,53 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP time service
- */
-
-#ifndef ODP_TIME_TYPES_H_
-#define ODP_TIME_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @addtogroup odp_time
- * @{
- **/
-
-/**
- * @internal Time structure used for both POSIX timespec and HW counter
- * implementations.
- */
-typedef struct odp_time_t {
- /** @internal Variant mappings for time type */
- union {
- /** @internal Used with generic 64 bit operations */
- uint64_t u64;
-
- /** @internal Nanoseconds */
- uint64_t nsec;
-
- /** @internal HW timer counter value */
- uint64_t count;
-
- };
-} odp_time_t;
-
-#define ODP_TIME_NULL ((odp_time_t){.u64 = 0})
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,185 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-/**
- * @file
- *
- * ODP traffic mngr
- */
-
-#ifndef ODP_TRAFFIC_MNGR_TYPES_H_
-#define ODP_TRAFFIC_MNGR_TYPES_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <odp/api/std_types.h>
-#include <odp/api/plat/strong_types.h>
-
-/** @addtogroup odp_traffic_mngr
- * Macros and operations on a TM system.
- * @{
- */
-
-/** The ODP_TM_MAX_NUM_SYSTEMS constant specifies the maximum number of TM
- * systems that may be created. On some platforms this might be much more
- * limited to as little as one hardware TM system.
- */
-#define ODP_TM_MAX_NUM_SYSTEMS 64
-
-/** The ODP_TM_MAX_PRIORITIES constant specifies the largest range of
- * priorities that any TM system can support. All strict priority values MUST
- * in the range 0..ODP_TM_MAX_PRIORITIES-1.
- */
-#define ODP_TM_MAX_PRIORITIES 16
-
-/** The ODP_TM MAX_LEVELS constant specifies the largest range of
- * tm_node levels that any TM system can support. Hence all tm_node level
- * values MUST be in the range 0..ODP_TM_MAX_LEVELS-1. Smaller tm_node
- * levels are associated with tm_nodes closer to the TM system egress.
- */
-#define ODP_TM_MAX_LEVELS 8
-
-/**
- * The smallest SCHED weight is 1 (i.e. 0 is not a legal WFQ/WRR value).
- */
-#define ODP_TM_MIN_SCHED_WEIGHT 1
-
-/** The ODP_TM_MAX_SCHED_WEIGHT constant is the largest weight any TM system
- * can support (at least from a configuration standpoint). A given TM system
- * could have a smaller value.
- */
-#define ODP_TM_MAX_SCHED_WEIGHT 255
-
-/** The ODP_TM_MAX_TM_QUEUES constant is the largest number of tm_queues
- * that can be handled by any one TM system.
- */
-#define ODP_TM_MAX_TM_QUEUES (16 * 1024 * 1024)
-
-/** The ODP_TM_MAX_NUM_OUTPUTS constant is the largest number of outputs that
- * can be configured for any one TM system.
- */
-#define ODP_TM_MAX_NUM_OUTPUTS 256
-
-/** The ODP_TM_MAX_NUM_TM_NODES constant is the largest number of tm_nodes that
- * can be in existence for any one TM system.
- */
-#define ODP_TM_MAX_NUM_TM_NODES (1024 * 1024)
-
-/** The ODP_TM_MAX_TM_NODE_FANIN constant is the largest number of fan-in
- * "inputs" that can be simultaneously connected to a single tm_node.
- * *TBD* Does this need to be as large as ODP_TM_MAX_TM_QUEUES? *TBD*
- */
-#define ODP_TM_MAX_TM_NODE_FANIN (1024 * 1024)
-
-/** The ODP_TM_MIN_SHAPER_BW constant is the smallest amount of bandwidth that
- * can a shaper's peak or commit rate can be set to. It is in units of
- * 1000 bytes/second so that it and the ODP_TM_MAX_SHAPER_BW can both fit in
- * 32 bits.
- */
-#define ODP_TM_MIN_SHAPER_BW 1
-
-/** The ODP_TM_MAX_SHAPER_BW constant is the largest amound of bandwidth that
- * any shaper's peak or commit rate can be set to. It is in units of
- * 1000 bytes/second so that it and the ODP_TM_MIN_SHAPER_BW can both fit in
- * 32 bits.
- */
-#define ODP_TM_MAX_SHAPER_BW 12500000
-
-/** The ODP_NUM_SHAPER_COLORS constant just counts the number of enumeration
- * values defined in the odp_tm_shaper_color_t type.
- */
-#define ODP_NUM_SHAPER_COLORS 3
-
-/** The INVALID_PRIORITY constant is used when one needs to indicate an
- * invalid priority value.
- */
-#define ODP_TM_INVALID_PRIORITY 255
-
-/** The odp_tm_percent_t type is used when specifying fields that are
- * percentages. It is a fixed point integer whose units are 1/100 of a
- * percent. Hence 100% is represented as the integer value 10000. Note
- * that because it is often used as a ratio of the current queue value and
- * maximum queue threshold, it can be > 100%, but in any event will never
- * be larger than 500% (i.e. it MUST be capped at 50000).
- */
-typedef uint16_t odp_tm_percent_t;
-
-/** The odp_tm_handle_t type is a generic type that can stand for any of the
- * other ODP_TM handle types.
- */
-typedef uint64_t odp_tm_handle_t;
-
-/** Each odp_tm_t value represents a specific TM system. Almost all
- * functions in this API require a odp_tm_t value - either directly
- * as a function parameter or indirectly by having another ODP TM handle value
- * as a function parameter.
- */
-typedef odp_tm_handle_t odp_tm_t;
-
-/** Each odp_tm_queue_t value is an opaque ODP handle representing a specific
- * tm_queue within a specific TM system.
- */
-typedef odp_tm_handle_t odp_tm_queue_t;
-
-/** Each odp_tm_node_t value is an opaque ODP handle representing a specific
- * tm_node within a specific TM system.
- */
-typedef odp_tm_handle_t odp_tm_node_t;
-
-/** Each odp_tm_shaper_t value is an opaque ODP handle representing a specific
- * shaper profile usable across all TM systems described by this API. A given
- * shaper profile can then be attached to any tm_queue or tm_node.
- */
-typedef odp_tm_handle_t odp_tm_shaper_t;
-
-/** Each odp_tm_sched_t value is an opaque ODP handle representing a specific
- * tm_node scheduler profile usable across all TM systems described by this
- * API. A given tm_node scheduler profile can then be attached to any tm_node.
- */
-typedef odp_tm_handle_t odp_tm_sched_t;
-
-/** Each odp_tm_threshold_t value is an opaque ODP handle representing a
- * specific queue threshold profile usable across all TM systems described by
- * this API. A given queue threshold profile can then be attached to any
- * tm_queue or tm_node.
- */
-typedef odp_tm_handle_t odp_tm_threshold_t;
-
-/** Each odp_tm_wred_t value is an opaque ODP handle representing a specific
- * WRED profile usable across all TM systems described by this API. A given
- * WRED profile can then be attached to any tm_queue or tm_node.
- */
-typedef odp_tm_handle_t odp_tm_wred_t;
-
-/** The ODP_TM_INVALID constant can be used with any ODP TM handle type and
- * indicates that this value does NOT represent a valid TM object.
- */
-#define ODP_TM_INVALID 0
-
-/**
- * @def ODP_TM_ROOT
- * Constant that is used to refer to the egress/root node of the TM subsystem's
- * tree/hierarchy of nodes.
- */
-#define ODP_TM_ROOT ((odp_tm_handle_t)-1)
-
-/** @internal Get printable format of odp_tm_handle_t @param hdl @return */
-static inline uint64_t odp_tm_handle_to_u64(odp_tm_handle_t hdl)
-{
- return hdl;
-}
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
deleted file mode 100644
@@ -1,30 +0,0 @@
-/* Copyright (c) 2015, Linaro Limited
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef ODP_VERSION_TYPESH_
-#define ODP_VERSION_TYPESH_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @internal Version string expand */
-#define ODP_VERSION_STR_EXPAND(x) #x
-
-/** @internal Version to string */
-#define ODP_VERSION_TO_STR(x) ODP_VERSION_STR_EXPAND(x)
-
-/** @internal API version string */
-#define ODP_VERSION_API_STR \
-ODP_VERSION_TO_STR(ODP_VERSION_API_GENERATION) "." \
-ODP_VERSION_TO_STR(ODP_VERSION_API_MAJOR) "." \
-ODP_VERSION_TO_STR(ODP_VERSION_API_MINOR)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
Start simplifying platform headers by using same include paths for ABI-compat and non-ABI-compat modes. In either case there will be <odp/api/abi/foobar.h> header (provided either by generic includes, or by platform itself). In case of non-ABI-compat mode, this header provides runtime-optimized versions of some functions, etc. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> --- Makefile.inc | 3 + include/Makefile.am | 17 ++ .../include => include}/odp/api/cpumask.h | 6 +- .../include => include}/odp/api/init.h | 14 +- .../include => include}/odp/api/rwlock.h | 6 +- .../include => include}/odp/api/rwlock_recursive.h | 6 +- .../include => include}/odp/api/schedule.h | 15 +- .../include => include}/odp/api/schedule_types.h | 6 +- .../include => include}/odp/api/spinlock.h | 6 +- .../odp/api/spinlock_recursive.h | 6 +- .../include => include}/odp/api/std_types.h | 19 +-- .../include => include}/odp/api/thread.h | 6 +- .../include => include}/odp/api/thrmask.h | 14 +- .../include => include}/odp/api/time.h | 8 +- .../include => include}/odp/api/traffic_mngr.h | 13 +- .../include => include}/odp/api/version.h | 7 +- platform/linux-generic/Makefile.am | 51 +++--- .../odp/api/abi/barrier.h} | 4 +- .../include-abi/odp/api/abi/cpumask.h | 7 + .../linux-generic/include-abi/odp/api/abi/init.h | 7 + .../linux-generic/include-abi/odp/api/abi/rwlock.h | 7 + .../include-abi/odp/api/abi/rwlock_recursive.h | 7 + .../include-abi/odp/api/abi/schedule.h | 7 + .../include-abi/odp/api/abi/schedule_types.h | 7 + .../include-abi/odp/api/abi/spinlock.h | 7 + .../include-abi/odp/api/abi/spinlock_recursive.h | 7 + .../include-abi/odp/api/abi/std_types.h | 7 + .../linux-generic/include-abi/odp/api/abi/thread.h | 7 + .../include-abi/odp/api/abi/thrmask.h | 7 + .../linux-generic/include-abi/odp/api/abi/time.h | 7 + .../include-abi/odp/api/abi/traffic_mngr.h | 7 + .../include-abi/odp/api/abi/version.h | 7 + platform/linux-generic/include/odp/api/barrier.h | 2 +- .../include/odp/api/plat/cpumask_types.h | 54 ------ .../include/odp/api/plat/init_types.h | 35 ---- .../include/odp/api/plat/rwlock_recursive_types.h | 38 ----- .../include/odp/api/plat/rwlock_types.h | 37 ----- .../include/odp/api/plat/schedule_types.h | 64 ------- .../odp/api/plat/spinlock_recursive_types.h | 36 ---- .../include/odp/api/plat/spinlock_types.h | 34 ---- .../include/odp/api/plat/thread_types.h | 34 ---- .../include/odp/api/plat/thrmask_types.h | 48 ------ .../include/odp/api/plat/time_types.h | 53 ------ .../include/odp/api/plat/traffic_mngr_types.h | 185 --------------------- .../include/odp/api/plat/version_types.h | 30 ---- 45 files changed, 187 insertions(+), 768 deletions(-) rename {platform/linux-generic/include => include}/odp/api/cpumask.h (74%) rename {platform/linux-generic/include => include}/odp/api/init.h (64%) rename {platform/linux-generic/include => include}/odp/api/rwlock.h (75%) rename {platform/linux-generic/include => include}/odp/api/rwlock_recursive.h (70%) rename {platform/linux-generic/include => include}/odp/api/schedule.h (63%) rename {platform/linux-generic/include => include}/odp/api/schedule_types.h (71%) rename {platform/linux-generic/include => include}/odp/api/spinlock.h (72%) rename {platform/linux-generic/include => include}/odp/api/spinlock_recursive.h (68%) rename {platform/linux-generic/include => include}/odp/api/std_types.h (54%) rename {platform/linux-generic/include => include}/odp/api/thread.h (74%) rename {platform/linux-generic/include => include}/odp/api/thrmask.h (64%) rename {platform/linux-generic/include => include}/odp/api/time.h (76%) rename {platform/linux-generic/include => include}/odp/api/traffic_mngr.h (62%) rename {platform/linux-generic/include => include}/odp/api/version.h (73%) rename platform/linux-generic/{include/odp/api/plat/barrier_types.h => include-abi/odp/api/abi/barrier.h} (89%) create mode 100644 platform/linux-generic/include-abi/odp/api/abi/cpumask.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/init.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/rwlock.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/rwlock_recursive.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/schedule.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/schedule_types.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/spinlock.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/spinlock_recursive.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/std_types.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/thread.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/thrmask.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/time.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/traffic_mngr.h create mode 100644 platform/linux-generic/include-abi/odp/api/abi/version.h delete mode 100644 platform/linux-generic/include/odp/api/plat/cpumask_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/init_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/rwlock_recursive_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/rwlock_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/schedule_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/spinlock_recursive_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/spinlock_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/thread_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/thrmask_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/time_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/traffic_mngr_types.h delete mode 100644 platform/linux-generic/include/odp/api/plat/version_types.h -- 2.14.2