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.savolai...@nokia.com> --- include/odp/arch/arm32-linux/odp/api/abi/crypto.h | 7 +++++ include/odp/arch/arm64-linux/odp/api/abi/crypto.h | 7 +++++ include/odp/arch/default/api/abi/crypto.h | 33 ++++++++++++++++++++++ include/odp/arch/mips64-linux/odp/api/abi/crypto.h | 7 +++++ .../odp/arch/power64-linux/odp/api/abi/crypto.h | 7 +++++ include/odp/arch/x86_32-linux/odp/api/abi/crypto.h | 7 +++++ include/odp/arch/x86_64-linux/odp/api/abi/crypto.h | 7 +++++ platform/Makefile.inc | 2 ++ .../include/odp/api/plat/crypto_types.h | 21 ++++++-------- platform/linux-generic/odp_crypto.c | 10 +++++++ 10 files changed, 95 insertions(+), 13 deletions(-) create mode 100644 include/odp/arch/arm32-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/arm64-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/default/api/abi/crypto.h create mode 100644 include/odp/arch/mips64-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/power64-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/x86_32-linux/odp/api/abi/crypto.h create mode 100644 include/odp/arch/x86_64-linux/odp/api/abi/crypto.h 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..444de82 --- /dev/null +++ b/include/odp/arch/default/api/abi/crypto.h @@ -0,0 +1,33 @@ +/* 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> + +/** @ingroup odp_crypto + * @{ + */ + +#define ODP_CRYPTO_SESSION_INVALID (0xffffffffffffffffULL) + +typedef uint64_t odp_crypto_session_t; +typedef uintptr_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); +} -- 2.8.1