aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorHongbo Zhang <hongbo.zhang@linaro.org>2016-01-27 16:56:09 +0800
committerMaxim Uvarov <maxim.uvarov@linaro.org>2016-02-08 20:45:23 +0300
commitda5cd7c1c3be562aa75a46a82203a3c32e09fa44 (patch)
treef6b064c713830d7ed68111104a21464f22f7afae /platform
parent43f25605f3af72f14556ea759100ecd7fba62149 (diff)
linux-generic: sysinfo: move PowerPC system info codes to its plarform file
This patch moves the PowerPC system info codes into the newly added PowerPC specific platform file. This patch also creates syslink to arch/linux/odp_cpu_cycles.c for PowerPC. Signed-off-by: Hongbo Zhang <hongbo.zhang@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/linux-generic/Makefile.am2
l---------platform/linux-generic/arch/powerpc/odp/cpu_arch.h1
l---------platform/linux-generic/arch/powerpc/odp_cpu_arch.c1
-rw-r--r--platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c52
-rw-r--r--platform/linux-generic/odp_system_info.c53
5 files changed, 56 insertions, 53 deletions
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 25d8874a0..9b98b6602 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -157,6 +157,8 @@ EXTRA_DIST = \
arch/linux/odp_sysinfo_parse.c \
arch/mips64/odp_cpu_arch.c \
arch/mips64/odp_sysinfo_parse.c \
+ arch/powerpc/odp_cpu_arch.c \
+ arch/powerpc/odp_sysinfo_parse.c \
arch/x86/odp_cpu_arch.c \
arch/x86/odp_sysinfo_parse.c
diff --git a/platform/linux-generic/arch/powerpc/odp/cpu_arch.h b/platform/linux-generic/arch/powerpc/odp/cpu_arch.h
new file mode 120000
index 000000000..0617d7fa1
--- /dev/null
+++ b/platform/linux-generic/arch/powerpc/odp/cpu_arch.h
@@ -0,0 +1 @@
+../../linux/odp/cpu_arch.h \ 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 120000
index 000000000..c5fe40085
--- /dev/null
+++ b/platform/linux-generic/arch/powerpc/odp_cpu_arch.c
@@ -0,0 +1 @@
+../linux/odp_cpu_arch.c \ No newline at end of file
diff --git a/platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c b/platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c
new file mode 100644
index 000000000..fe13f409a
--- /dev/null
+++ b/platform/linux-generic/arch/powerpc/odp_sysinfo_parse.c
@@ -0,0 +1,52 @@
+/* Copyright (c) 2016, Linaro Limited
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <odp_internal.h>
+#include <string.h>
+
+int odp_cpuinfo_parser(FILE *file, odp_system_info_t *sysinfo)
+{
+ char str[1024];
+ char *pos;
+ double mhz = 0.0;
+ int model = 0;
+ int count = 2;
+
+ while (fgets(str, sizeof(str), file) != NULL && count > 0) {
+ if (!mhz) {
+ pos = strstr(str, "clock");
+
+ if (pos)
+ if (sscanf(pos, "clock : %lf", &mhz) == 1)
+ count--;
+ }
+
+ if (!model) {
+ pos = strstr(str, "cpu");
+
+ if (pos) {
+ int len;
+
+ pos = strchr(str, ':');
+ strncpy(sysinfo->model_str[0], pos + 2,
+ sizeof(sysinfo->model_str[0]));
+ len = strlen(sysinfo->model_str[0]);
+ sysinfo->model_str[0][len - 1] = 0;
+ model = 1;
+ count--;
+ }
+ }
+
+ sysinfo->cpu_hz[0] = (uint64_t)(mhz * 1000000.0);
+ }
+
+ 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 93f166c73..eb65dfcfa 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -105,59 +105,6 @@ static int huge_page_size(void)
}
-
-/*
- * HW specific /proc/cpuinfo file parsing
- */
-#if defined __powerpc__
-static int odp_cpuinfo_parser(FILE *file, odp_system_info_t *sysinfo)
-{
- char str[1024];
- char *pos;
- double mhz = 0.0;
- int model = 0;
- int count = 2;
-
- while (fgets(str, sizeof(str), file) != NULL && count > 0) {
- if (!mhz) {
- pos = strstr(str, "clock");
-
- if (pos) {
- sscanf(pos, "clock : %lf", &mhz);
- count--;
- }
- }
-
- if (!model) {
- pos = strstr(str, "cpu");
-
- if (pos) {
- int len;
- pos = strchr(str, ':');
- strncpy(sysinfo->model_str[0], pos + 2,
- sizeof(sysinfo->model_str[0]));
- len = strlen(sysinfo->model_str[0]);
- sysinfo->model_str[0][len - 1] = 0;
- model = 1;
- count--;
- }
- }
-
- sysinfo->cpu_hz[0] = (uint64_t)(mhz * 1000000.0);
- }
-
-
- return 0;
-}
-
-static uint64_t odp_cpu_hz_current(int id ODP_UNUSED)
-{
- return -1;
-}
-
-#endif
-
-
#if defined __x86_64__ || defined __i386__ || defined __OCTEON__ || \
defined __powerpc__