On 25 December 2015 at 18:19, Maxim Uvarov <maxim.uva...@linaro.org> wrote: > On 12/25/2015 12:39, Hongbo Zhang wrote: >> >> On 25 December 2015 at 17:09, Maxim Uvarov <maxim.uva...@linaro.org> >> wrote: >>> >>> 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. >>> >> "create symlink for odp_cpu_cycles.c" it seems OK. Then how to handle >> the linux/ directory, odp_cpu_cycles.c is lack here and no default >> file fits this general purpose. >> >> But this remind me another solution: >> Move arm/odp_sysinfo_parse.c to linux/odp_sysinfo_parse.c, since >> currently it isn't implemented for arm too, it simply returns 0, this >> can be served as a general default implementation in linux/. >> And also create symlink of odp_cpu_cycles for powerpc/ >> >> Then we have arch like this: >> platform/linux-generic/arch/ >> ├── linux >> │ └── odp_cpu_cycles.c >> │ └── odp_sysinfo_parse.c (no implementation in fact) >> ├── mips64 >> │ ├── odp_cpu_cycles.c >> │ └── odp_sysinfo_parse.c >> ├── powerpc >> │ ├── odp_cpu_cycles.c (symlink) >> │ └── odp_sysinfo_parse.c >> └── x86 >> ├── odp_cpu_cycles.c >> └── odp_sysinfo_parse.c >> >> Is it good idea? > > > I think yes, it's good. >
OK, will send v2 next Monday including this change. Thanks. > Maxim. > > >> >>> 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 > > _______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp