Use source files in arch/default for undetected archs. This alleviates the need to use symlinks in the source code directory structure.
Signed-off-by: Brian Brooks <brian.bro...@linaro.org> --- configure.ac | 13 +----- platform/Makefile.inc | 3 -- platform/linux-generic/arch/arm/odp/api/cpu_arch.h | 1 - platform/linux-generic/arch/arm/odp_cpu_arch.c | 1 - .../linux-generic/arch/arm/odp_sysinfo_parse.c | 1 - platform/linux-generic/arch/powerpc/odp_cpu_arch.c | 49 +++++++++++++++++++++- 6 files changed, 49 insertions(+), 19 deletions(-) delete mode 120000 platform/linux-generic/arch/arm/odp/api/cpu_arch.h delete mode 120000 platform/linux-generic/arch/arm/odp_cpu_arch.c delete mode 120000 platform/linux-generic/arch/arm/odp_sysinfo_parse.c mode change 120000 => 100644 platform/linux-generic/arch/powerpc/odp_cpu_arch.c diff --git a/configure.ac b/configure.ac index c0f0f21..a7e058a 100644 --- a/configure.ac +++ b/configure.ac @@ -77,22 +77,11 @@ AS_CASE([$host], [i686*], [ARCH_DIR=x86], [mips64*], [ARCH_DIR=mips64], [powerpc*], [ARCH_DIR=powerpc], - [aarch64*], [ARCH_DIR=arm], - [arm*], [ARCH_DIR=arm], - [ARCH_DIR=undefined] + [ARCH_DIR=default] ) AC_SUBST([ARCH_DIR]) ########################################################################## -# Warn on the defaults if arch is undefined -########################################################################## -if test "${ARCH_DIR}" == "undefined"; -then - echo "ARCH_DIR is undefined, please add your ARCH_DIR based on host=${host}" - exit 1 -fi - -########################################################################## # Set correct pkgconfig version ########################################################################## PKGCONFIG_VERSION=$(echo $VERSION | awk -F '.git' '{print $1}') diff --git a/platform/Makefile.inc b/platform/Makefile.inc index a44f88f..2a4255c 100644 --- a/platform/Makefile.inc +++ b/platform/Makefile.inc @@ -62,9 +62,6 @@ odpapispecinclude_HEADERS = \ $(top_srcdir)/include/odp/api/spec/version.h EXTRA_DIST = \ - arch/arm/odp/api/cpu_arch.h \ - arch/arm/odp_cpu_arch.c \ - arch/arm/odp_sysinfo_parse.c \ arch/default/odp/api/cpu_arch.h \ arch/default/odp_cpu_arch.c \ arch/default/odp_sysinfo_parse.c \ diff --git a/platform/linux-generic/arch/arm/odp/api/cpu_arch.h b/platform/linux-generic/arch/arm/odp/api/cpu_arch.h deleted file mode 120000 index e86e132..0000000 --- a/platform/linux-generic/arch/arm/odp/api/cpu_arch.h +++ /dev/null @@ -1 +0,0 @@ -../../../default/odp/api/cpu_arch.h \ No newline at end of file diff --git a/platform/linux-generic/arch/arm/odp_cpu_arch.c b/platform/linux-generic/arch/arm/odp_cpu_arch.c deleted file mode 120000 index deebc47..0000000 --- a/platform/linux-generic/arch/arm/odp_cpu_arch.c +++ /dev/null @@ -1 +0,0 @@ -../default/odp_cpu_arch.c \ No newline at end of file diff --git a/platform/linux-generic/arch/arm/odp_sysinfo_parse.c b/platform/linux-generic/arch/arm/odp_sysinfo_parse.c deleted file mode 120000 index 39962b8..0000000 --- a/platform/linux-generic/arch/arm/odp_sysinfo_parse.c +++ /dev/null @@ -1 +0,0 @@ -../default/odp_sysinfo_parse.c \ No newline at end of file diff --git a/platform/linux-generic/arch/powerpc/odp_cpu_arch.c b/platform/linux-generic/arch/powerpc/odp_cpu_arch.c deleted file mode 120000 index deebc47..0000000 --- a/platform/linux-generic/arch/powerpc/odp_cpu_arch.c +++ /dev/null @@ -1 +0,0 @@ -../default/odp_cpu_arch.c \ No newline at end of file diff --git a/platform/linux-generic/arch/powerpc/odp_cpu_arch.c b/platform/linux-generic/arch/powerpc/odp_cpu_arch.c new file mode 100644 index 0000000..2ac223e --- /dev/null +++ b/platform/linux-generic/arch/powerpc/odp_cpu_arch.c @@ -0,0 +1,48 @@ +/* Copyright (c) 2015, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <odp_posix_extensions.h> + +#include <stdlib.h> +#include <time.h> + +#include <odp/api/cpu.h> +#include <odp/api/hints.h> +#include <odp/api/system_info.h> +#include <odp_debug_internal.h> + +#define GIGA 1000000000 + +uint64_t odp_cpu_cycles(void) +{ + struct timespec time; + uint64_t sec, ns, hz, cycles; + int ret; + + ret = clock_gettime(CLOCK_MONOTONIC_RAW, &time); + + if (ret != 0) + ODP_ABORT("clock_gettime failed\n"); + + hz = odp_cpu_hz_max(); + sec = (uint64_t)time.tv_sec; + ns = (uint64_t)time.tv_nsec; + + cycles = sec * hz; + cycles += (ns * hz) / GIGA; + + return cycles; +} + +uint64_t odp_cpu_cycles_max(void) +{ + return UINT64_MAX; +} + +uint64_t odp_cpu_cycles_resolution(void) +{ + return 1; +} -- 2.9.2