On 12/25/2015 11:50, Hongbo Zhang wrote:
On 25 December 2015 at 16:30,  <hongbo.zh...@linaro.org> wrote:
From: Hongbo Zhang <hongbo.zh...@linaro.org>

This patch moves the arm system info codes into the newly added arm
specific platform file.

Signed-off-by: Hongbo Zhang <hongbo.zh...@linaro.org>
---
  configure.ac                                        |  1 +
  platform/linux-generic/Makefile.am                  |  1 +
  platform/linux-generic/arch/arm/odp_sysinfo_parse.c | 20 ++++++++++++++++++++
  platform/linux-generic/odp_system_info.c            | 15 +--------------
  4 files changed, 23 insertions(+), 14 deletions(-)
  create mode 100644 platform/linux-generic/arch/arm/odp_sysinfo_parse.c

diff --git a/configure.ac b/configure.ac
index 4f89f03..c7115d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,6 +54,7 @@ AX_VALGRIND_CHECK
  ##########################################################################
  AS_CASE([$host],
    [x86*], [ARCH=x86],
+  [arm*], [ARCH=arm],
    [mips64*], [ARCH=mips64],
    [ARCH=linux]
  )
diff --git a/platform/linux-generic/Makefile.am 
b/platform/linux-generic/Makefile.am
index bb0faf0..0ddc9e3 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -162,6 +162,7 @@ __LIB__libodp_la_SOURCES = \
                            arch/@ARCH@/odp_sysinfo_parse.c

  EXTRA_DIST = \
+            arch/arm/odp_sysinfo_parse.c \
              arch/linux/odp_cpu_cycles.c \
              arch/mips64/odp_cpu_cycles.c \
              arch/mips64/odp_sysinfo_parse.c \
After applying this patch set, the platform/linux-generic/Makefile.am
has such a section:

   odp_timer_wheel.c \
   odp_traffic_mngr.c \
   odp_version.c \
   odp_weak.c \
   arch/@ARCH@/odp_cpu_cycles.c \
   arch/@ARCH@/odp_sysinfo_parse.c

EXTRA_DIST = \
     arch/arm/odp_sysinfo_parse.c \
     arch/linux/odp_cpu_cycles.c \
     arch/mips64/odp_cpu_cycles.c \
     arch/mips64/odp_sysinfo_parse.c \
     arch/powerpc/odp_sysinfo_parse.c \
     arch/x86/odp_cpu_cycles.c \
     arch/x86/odp_sysinfo_parse.c

And the platform/linux-generic/arch/ architecture is like this:
platform/linux-generic/arch/
├── arm
│   └── odp_sysinfo_parse.c
├── linux
│   └── odp_cpu_cycles.c
├── mips64
│   ├── odp_cpu_cycles.c
│   └── odp_sysinfo_parse.c
├── powerpc
│   └── odp_sysinfo_parse.c
└── x86
     ├── odp_cpu_cycles.c
     └── odp_sysinfo_parse.c

When compile if ARM arch is selected, according to these two lines
   arch/@ARCH@/odp_cpu_cycles.c \
   arch/@ARCH@/odp_sysinfo_parse.c
both arch/arm/odp_cpu_cycles.c and arch/arm/odp_sysinfo_parse.c are
included in the Makefile to be compiled, but in fact there is no
arch/arm/odp_cpu_cycles.c at all, there are same issues with powerpc/
and linux/ too.

Then how to update the Makefile.am to fix this issue? anybody familiar
with such grammar in Makefile.am?

Thanks.

I think you see that because you added that line:

+  [arm*], [ARCH=arm],


I.e. without about  "arm" was "linux" and you used default code.

If you introduced new arch for configure.ac you also need to create symlink
fo odp_cpu_cycles.c and package all arm files to EXTRA target in Makefile.am.

Maxim.

diff --git a/platform/linux-generic/arch/arm/odp_sysinfo_parse.c 
b/platform/linux-generic/arch/arm/odp_sysinfo_parse.c
new file mode 100644
index 0000000..ba792b2
--- /dev/null
+++ b/platform/linux-generic/arch/arm/odp_sysinfo_parse.c
@@ -0,0 +1,20 @@
+/* Copyright (c) 2015, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier:     BSD-3-Clause
+ */
+
+#include <odp_internal.h>
+#include <odp_cpu_internal.h>
+#include <string.h>
+
+int odp_cpuinfo_parser(FILE *file ODP_UNUSED,
+odp_system_info_t *sysinfo ODP_UNUSED)
+{
+       return 0;
+}
+
+uint64_t odp_cpu_hz_current(int id ODP_UNUSED)
+{
+       return -1;
+}
diff --git a/platform/linux-generic/odp_system_info.c 
b/platform/linux-generic/odp_system_info.c
index 8a151eb..158a6b9 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -109,20 +109,7 @@ static int huge_page_size(void)
  /*
   * HW specific /proc/cpuinfo file parsing
   */
-#if defined __arm__ || defined __aarch64__
-
-static int odp_cpuinfo_parser(FILE *file ODP_UNUSED,
-odp_system_info_t *sysinfo ODP_UNUSED)
-{
-       return 0;
-}
-
-static uint64_t odp_cpu_hz_current(int id ODP_UNUSED)
-{
-       return -1;
-}
-
-#elif defined __powerpc__
+#if defined __powerpc__
  static int odp_cpuinfo_parser(FILE *file, odp_system_info_t *sysinfo)
  {
         char str[1024];
--
2.1.4

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to