diff options
author | Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> | 2017-11-23 01:40:14 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2018-01-18 22:07:23 +0300 |
commit | d70c5f1ce3e98c3a7409312ccfdc3ce0087a2d49 (patch) | |
tree | 07b55518e58b84552e6509f4d28a8facb90cc3fb | |
parent | 47932d20fdf72f73e5de4961569fda760200edc6 (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.am | 7 | ||||
-rw-r--r-- | include/odp/api/abi-default/byteorder.h | 73 | ||||
-rw-r--r-- | include/odp/arch/arm32-linux/odp/api/abi/byteorder.h | 7 | ||||
-rw-r--r-- | include/odp/arch/arm64-linux/odp/api/abi/byteorder.h | 7 | ||||
-rw-r--r-- | include/odp/arch/mips64-linux/odp/api/abi/byteorder.h | 7 | ||||
-rw-r--r-- | include/odp/arch/power64-linux/odp/api/abi/byteorder.h | 7 | ||||
-rw-r--r-- | include/odp/arch/x86_32-linux/odp/api/abi/byteorder.h | 7 | ||||
-rw-r--r-- | include/odp/arch/x86_64-linux/odp/api/abi/byteorder.h | 7 | ||||
-rw-r--r-- | platform/linux-generic/Makefile.am | 2 | ||||
-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.h | 21 | ||||
-rw-r--r-- | platform/linux-generic/include/odp/api/plat/byteorder_inlines.h | 6 | ||||
-rw-r--r-- | platform/linux-generic/odp_byteorder.c | 1 |
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 |