aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>2017-11-23 01:40:14 +0300
committerMaxim Uvarov <maxim.uvarov@linaro.org>2018-01-18 22:07:23 +0300
commitd70c5f1ce3e98c3a7409312ccfdc3ce0087a2d49 (patch)
tree07b55518e58b84552e6509f4d28a8facb90cc3fb
parent47932d20fdf72f73e5de4961569fda760200edc6 (diff)
linux-gen, include: switch byteorder.h to api+abi
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r--include/Makefile.am7
-rw-r--r--include/odp/api/abi-default/byteorder.h73
-rw-r--r--include/odp/arch/arm32-linux/odp/api/abi/byteorder.h7
-rw-r--r--include/odp/arch/arm64-linux/odp/api/abi/byteorder.h7
-rw-r--r--include/odp/arch/mips64-linux/odp/api/abi/byteorder.h7
-rw-r--r--include/odp/arch/power64-linux/odp/api/abi/byteorder.h7
-rw-r--r--include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h7
-rw-r--r--include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h7
-rw-r--r--platform/linux-generic/Makefile.am2
-rw-r--r--platform/linux-generic/include-abi/odp/api/abi/byteorder.h (renamed from platform/linux-generic/include/odp/api/plat/byteorder_types.h)15
-rw-r--r--platform/linux-generic/include/odp/api/byteorder.h21
-rw-r--r--platform/linux-generic/include/odp/api/plat/byteorder_inlines.h6
-rw-r--r--platform/linux-generic/odp_byteorder.c1
13 files changed, 143 insertions, 24 deletions
diff --git a/include/Makefile.am b/include/Makefile.am
index bae7bc8b5..ec69082dd 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -59,6 +59,7 @@ odpapiabidefaultinclude_HEADERS = \
odp/api/abi-default/atomic.h \
odp/api/abi-default/barrier.h \
odp/api/abi-default/buffer.h \
+ odp/api/abi-default/byteorder.h \
odp/api/abi-default/classification.h \
odp/api/abi-default/cpumask.h \
odp/api/abi-default/crypto.h \
@@ -93,6 +94,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/arm32-linux/odp/api/abi/atomic.h \
odp/arch/arm32-linux/odp/api/abi/barrier.h \
odp/arch/arm32-linux/odp/api/abi/buffer.h \
+ odp/arch/arm32-linux/odp/api/abi/byteorder.h \
odp/arch/arm32-linux/odp/api/abi/classification.h \
odp/arch/arm32-linux/odp/api/abi/cpumask.h \
odp/arch/arm32-linux/odp/api/abi/crypto.h \
@@ -123,6 +125,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/arm64-linux/odp/api/abi/atomic.h \
odp/arch/arm64-linux/odp/api/abi/barrier.h \
odp/arch/arm64-linux/odp/api/abi/buffer.h \
+ odp/arch/arm64-linux/odp/api/abi/byteorder.h \
odp/arch/arm64-linux/odp/api/abi/classification.h \
odp/arch/arm64-linux/odp/api/abi/cpumask.h \
odp/arch/arm64-linux/odp/api/abi/crypto.h \
@@ -153,6 +156,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/mips64-linux/odp/api/abi/atomic.h \
odp/arch/mips64-linux/odp/api/abi/barrier.h \
odp/arch/mips64-linux/odp/api/abi/buffer.h \
+ odp/arch/mips64-linux/odp/api/abi/byteorder.h \
odp/arch/mips64-linux/odp/api/abi/classification.h \
odp/arch/mips64-linux/odp/api/abi/cpumask.h \
odp/arch/mips64-linux/odp/api/abi/crypto.h \
@@ -183,6 +187,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/power64-linux/odp/api/abi/atomic.h \
odp/arch/power64-linux/odp/api/abi/barrier.h \
odp/arch/power64-linux/odp/api/abi/buffer.h \
+ odp/arch/power64-linux/odp/api/abi/byteorder.h \
odp/arch/power64-linux/odp/api/abi/classification.h \
odp/arch/power64-linux/odp/api/abi/cpumask.h \
odp/arch/power64-linux/odp/api/abi/crypto.h \
@@ -213,6 +218,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/x86_32-linux/odp/api/abi/atomic.h \
odp/arch/x86_32-linux/odp/api/abi/barrier.h \
odp/arch/x86_32-linux/odp/api/abi/buffer.h \
+ odp/arch/x86_32-linux/odp/api/abi/byteorder.h \
odp/arch/x86_32-linux/odp/api/abi/classification.h \
odp/arch/x86_32-linux/odp/api/abi/cpumask.h \
odp/arch/x86_32-linux/odp/api/abi/crypto.h \
@@ -243,6 +249,7 @@ odpapiabiarchinclude_HEADERS = \
odp/arch/x86_64-linux/odp/api/abi/atomic.h \
odp/arch/x86_64-linux/odp/api/abi/barrier.h \
odp/arch/x86_64-linux/odp/api/abi/buffer.h \
+ odp/arch/x86_64-linux/odp/api/abi/byteorder.h \
odp/arch/x86_64-linux/odp/api/abi/classification.h \
odp/arch/x86_64-linux/odp/api/abi/cpumask.h \
odp/arch/x86_64-linux/odp/api/abi/crypto.h \
diff --git a/include/odp/api/abi-default/byteorder.h b/include/odp/api/abi-default/byteorder.h
new file mode 100644
index 000000000..92f9743ad
--- /dev/null
+++ b/include/odp/api/abi-default/byteorder.h
@@ -0,0 +1,73 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+/**
+ * @file
+ *
+ * ODP byteorder
+ */
+
+#ifndef ODP_ABI_BYTEORDER_H_
+#define ODP_ABI_BYTEORDER_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <odp/api/std_types.h>
+
+#ifndef __BYTE_ORDER__
+#error __BYTE_ORDER__ not defined!
+#endif
+
+#ifndef __ORDER_BIG_ENDIAN__
+#error __ORDER_BIG_ENDIAN__ not defined!
+#endif
+
+#ifndef __ORDER_LITTLE_ENDIAN__
+#error __ORDER_LITTLE_ENDIAN__ not defined!
+#endif
+
+/** @addtogroup odp_compiler_optim
+ * @{
+ */
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ #define ODP_LITTLE_ENDIAN 1
+ #define ODP_BIG_ENDIAN 0
+ #define ODP_BYTE_ORDER ODP_LITTLE_ENDIAN
+ #define ODP_LITTLE_ENDIAN_BITFIELD 1
+ #define ODP_BIG_ENDIAN_BITFIELD 0
+ #define ODP_BITFIELD_ORDER ODP_LITTLE_ENDIAN_BITFIELD
+#else
+ #define ODP_LITTLE_ENDIAN 0
+ #define ODP_BIG_ENDIAN 1
+ #define ODP_BYTE_ORDER ODP_BIG_ENDIAN
+ #define ODP_LITTLE_ENDIAN_BITFIELD 0
+ #define ODP_BIG_ENDIAN_BITFIELD 1
+ #define ODP_BITFIELD_ORDER ODP_BIG_ENDIAN_BITFIELD
+#endif
+
+typedef uint16_t odp_u16le_t;
+typedef uint16_t odp_u16be_t;
+
+typedef uint32_t odp_u32le_t;
+typedef uint32_t odp_u32be_t;
+
+typedef uint64_t odp_u64le_t;
+typedef uint64_t odp_u64be_t;
+
+typedef uint16_t odp_u16sum_t;
+typedef uint32_t odp_u32sum_t;
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/odp/arch/arm32-linux/odp/api/abi/byteorder.h b/include/odp/arch/arm32-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000..2fd53414c
--- /dev/null
+++ b/include/odp/arch/arm32-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/byteorder.h>
diff --git a/include/odp/arch/arm64-linux/odp/api/abi/byteorder.h b/include/odp/arch/arm64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000..2fd53414c
--- /dev/null
+++ b/include/odp/arch/arm64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/byteorder.h>
diff --git a/include/odp/arch/mips64-linux/odp/api/abi/byteorder.h b/include/odp/arch/mips64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000..2fd53414c
--- /dev/null
+++ b/include/odp/arch/mips64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/byteorder.h>
diff --git a/include/odp/arch/power64-linux/odp/api/abi/byteorder.h b/include/odp/arch/power64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000..2fd53414c
--- /dev/null
+++ b/include/odp/arch/power64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/byteorder.h>
diff --git a/include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h b/include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000..2fd53414c
--- /dev/null
+++ b/include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/byteorder.h>
diff --git a/include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h b/include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h
new file mode 100644
index 000000000..2fd53414c
--- /dev/null
+++ b/include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h
@@ -0,0 +1,7 @@
+/* Copyright (c) 2017, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp/api/abi-default/byteorder.h>
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 511afabb5..98aeab308 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -76,7 +76,6 @@ odpapiplatincludedir= $(includedir)/odp/api/plat
odpapiplatinclude_HEADERS = \
include/odp/api/plat/atomic_inlines.h \
include/odp/api/plat/byteorder_inlines.h \
- include/odp/api/plat/byteorder_types.h \
include/odp/api/plat/packet_flag_inlines.h \
include/odp/api/plat/packet_flag_inlines_api.h \
include/odp/api/plat/packet_inlines.h \
@@ -99,6 +98,7 @@ odpapiabiarchinclude_HEADERS = \
include-abi/odp/api/abi/atomic.h \
include-abi/odp/api/abi/barrier.h \
include-abi/odp/api/abi/buffer.h \
+ include-abi/odp/api/abi/byteorder.h \
include-abi/odp/api/abi/classification.h \
include-abi/odp/api/abi/cpumask.h \
include-abi/odp/api/abi/crypto.h \
diff --git a/platform/linux-generic/include/odp/api/plat/byteorder_types.h b/platform/linux-generic/include-abi/odp/api/abi/byteorder.h
index 20d52bf8f..0f8fac0b1 100644
--- a/platform/linux-generic/include/odp/api/plat/byteorder_types.h
+++ b/platform/linux-generic/include-abi/odp/api/abi/byteorder.h
@@ -10,23 +10,25 @@
* ODP byteorder
*/
-#ifndef ODP_BYTEORDER_TYPES_H_
-#define ODP_BYTEORDER_TYPES_H_
+#ifndef ODP_API_ABI_BYTEORDER_H_
+#define ODP_API_ABI_BYTEORDER_H_
#ifdef __cplusplus
extern "C" {
#endif
+#include <odp/api/std_types.h>
+
#ifndef __BYTE_ORDER__
-#error __BYTE_ORDER not defined!
+#error __BYTE_ORDER__ not defined!
#endif
#ifndef __ORDER_BIG_ENDIAN__
-#error __BIG_ENDIAN not defined!
+#error __ORDER_BIG_ENDIAN__ not defined!
#endif
#ifndef __ORDER_LITTLE_ENDIAN__
-#error __LITTLE_ENDIAN not defined!
+#error __ORDER_LITTLE_ENDIAN__ not defined!
#endif
/* for use with type checkers such as sparse */
@@ -73,6 +75,9 @@ typedef uint64_t __odp_bitwise odp_u64be_t;
typedef uint16_t __odp_bitwise odp_u16sum_t;
typedef uint32_t __odp_bitwise odp_u32sum_t;
+#include <odp/api/plat/static_inline.h>
+#include <odp/api/plat/byteorder_inlines.h>
+
/**
* @}
*/
diff --git a/platform/linux-generic/include/odp/api/byteorder.h b/platform/linux-generic/include/odp/api/byteorder.h
index ec3d0eef7..cbb454299 100644
--- a/platform/linux-generic/include/odp/api/byteorder.h
+++ b/platform/linux-generic/include/odp/api/byteorder.h
@@ -10,29 +10,14 @@
* ODP byteorder
*/
-#ifndef ODP_PLAT_BYTEORDER_H_
-#define ODP_PLAT_BYTEORDER_H_
+#ifndef ODP_API_BYTEORDER_H_
+#define ODP_API_BYTEORDER_H_
#ifdef __cplusplus
extern "C" {
#endif
-#include <odp/api/std_types.h>
-#include <odp/api/plat/byteorder_types.h>
-#include <odp/api/compiler.h>
-
-/** @ingroup odp_compiler_optim
- * @{
- */
-
-#include <odp/api/plat/static_inline.h>
-#if ODP_ABI_COMPAT == 0
-#include <odp/api/plat/byteorder_inlines.h>
-#endif
-
-/**
- * @}
- */
+#include <odp/api/abi/byteorder.h>
#include <odp/api/spec/byteorder.h>
diff --git a/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h b/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h
index e7818904b..6f3139628 100644
--- a/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h
+++ b/platform/linux-generic/include/odp/api/plat/byteorder_inlines.h
@@ -17,6 +17,12 @@
extern "C" {
#endif
+#ifndef __odp_force
+#define __odp_force
+#endif
+
+#include <odp/api/compiler.h>
+
/** @ingroup odp_compiler_optim
* @{
*/
diff --git a/platform/linux-generic/odp_byteorder.c b/platform/linux-generic/odp_byteorder.c
index a3d1f981e..faf1c5904 100644
--- a/platform/linux-generic/odp_byteorder.c
+++ b/platform/linux-generic/odp_byteorder.c
@@ -7,6 +7,7 @@
#include "config.h"
#include <odp/api/byteorder.h>
+#include <odp/api/plat/static_inline.h>
#if ODP_ABI_COMPAT == 1
#include <odp/api/plat/byteorder_inlines.h>
#endif