• Athira Rajeev's avatar
    tools/perf/arch/powerpc: Fix the CPU ID const char* value by adding 0x prefix · f6a66ff9
    Athira Rajeev authored
    Simple expression parser test fails in powerpc as below:
    
        4: Simple expression parser
        test child forked, pid 170385
        Using CPUID 004e2102
        division by zero
        syntax error
        syntax error
        FAILED tests/expr.c:65 parse test failed
        test child finished with -1
        Simple expression parser: FAILED!
    
    This is observed after commit:
    'commit 9d5da30e ("perf jevents: Add a new expression builtin strcmp_cpuid_str()")'
    
    With this commit, a new expression builtin strcmp_cpuid_str
    got added. This function takes an 'ID' type value, which is
    a string. So expression parse for strcmp_cpuid_str expects
    const char * as cpuid value type. In case of powerpc, CPU IDs
    are numbers. Hence it doesn't get interpreted correctly by
    bison parser. Example in case of power9, cpuid string returns
    as: 004e2102
    
    cpuid of string type is expected in two cases:
    1. char *get_cpuid_str(struct perf_pmu *pmu __maybe_unused);
    
       Testcase "tests/expr.c" uses "perf_pmu__getcpuid" which calls
       get_cpuid_str to get the cpuid string.
    
    2. cpuid field in  :struct pmu_events_map
    
       struct pmu_events_map {
               const char *arch;
    	   const char *cpuid;
    
       Here cpuid field is used in "perf_pmu__find_events_table"
       function as "strcmp_cpuid_str(map->cpuid, cpuid)". The
       value for cpuid field is picked from mapfile.csv.
    
    Fix the mapfile.csv and get_cpuid_str function to prefix
    cpuid with 0x so that it gets correctly interpreted by
    the bison parser
    Signed-off-by: default avatarAthira Rajeev <atrajeev@linux.vnet.ibm.com>
    Tested-by: Disha Goel<disgoel@linux.ibm.com>
    Cc: kjain@linux.ibm.com
    Cc: maddy@linux.ibm.com
    Cc: disgoel@linux.vnet.ibm.com
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: https://lore.kernel.org/r/20231009050052.64935-1-atrajeev@linux.vnet.ibm.comSigned-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    f6a66ff9
header.c 1002 Bytes