Age | Commit message (Collapse) | Author |
|
Removed C header includes which are not needed for API
definitions. ODP API depends on uint64_t, etc types in
stdint.h, but not other C headers. As an exception,
stdbool.h remains since 'true' and 'false' definitions
may be used with odp_bool_t. It could be also removed
later since true/false are not part of the API (where as
uint64_t, etc types).
Application needs to include other C library headers
directly. ODP API does not specify which headers are included
by odp_api.h.
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Fix compilation error for clang:
In function `_odp_atomic_u128_xchg_mm':
undefined reference to `__atomic_exchange'
Clang less than 3.6 has issue with defined _SIZEOF_INT128_ and
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 but not supported
__atomic_exchange(). This patch adds additional check for clang
version.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
|
|
Add detection of availability of the -mcx16 compiler flag to
the configure script. This flag is necessary on x86-64 to enable
cpmxchg16.
Implement 128-bit atomics if natively supported by the platform.
128-bit atomics are used by linux-generic timer implementation
on certain targets (e.g. x86-64) for lock-free implementation.
Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
This is about making the current structure clearer so that other
interfaces can be added to ODP:
The ODP API specification (platform agnostic) is moved from
include/odp/api to include/odp/api/spec.
The ODP API platform definition (for linux generic) is moved from
platform/linux-generic/include/odp to
platform/linux-generic/include/odp/api
Include statements are adjusted accordinaly.
This patch has been done by a script which is given with the cover-letter
of this patch series.
Signed-off-by: Christophe Milard <christophe.milard@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Use full memory barrier from API instead of the internal
function.
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Removed module synchronizer from doxygen documentation and
introduced new modules for locks, atomics and barriers. Removed
unnecessary group tagging from internal headers, which are not
visible to doxygen anyway.
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Signed-off-by: Taras Kondratiuk <taras.kondratiuk@linaro.org>
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org>
Reviewed-by: Taras Kondratiuk <taras.kondratiuk@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
function params
Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|
|
Signed-off-by: Ola Liljedahl <ola.liljedahl@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
|