• James Clark's avatar
    perf vendor events arm64: Fix commas so PMU event files are valid JSON · a44e4f3a
    James Clark authored
    No functional change.
    
    Add and remove extra commas in the arm64 JSON files so that the files
    can be parsed and validated by other utilities such as Python that fail
    to parse invalid JSON.
    
    Committer testing:
    
    Before:
    
      $ diffstat -l -p1 /wb/1.patch | while read filename ; do echo $filename ; cat $filename | json_verify ; done
      tools/perf/pmu-events/arch/arm64/ampere/emag/branch.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/bus.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/clock.json
      parse error: unallowed token at this point in JSON text
                                              [     {         "PublicDescrip
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/exception.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/instruction.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/intrinsic.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/memory.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/ampere/emag/pipeline.json
      parse error: unallowed token at this point in JSON text
                                              [     {         "PublicDescrip
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a53/branch.json
      parse error: invalid object key (must be a string)
                                              [   {     "ArchStdEvent":  "BR
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a53/bus.json
      parse error: invalid object key (must be a string)
                                              [   {         "ArchStdEvent":
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a53/other.json
      parse error: invalid object key (must be a string)
                                              [   {         "ArchStdEvent":
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a57-a72/core-imp-def.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/armv8-recommended.json
      parse error: after array element, I expect ',' or ']'
                                              [     {         "PublicDescrip
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/cavium/thunderx2/core-imp-def.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/core-imp-def.json
      parse error: invalid object key (must be a string)
                                              [     {         "ArchStdEvent"
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-ddrc.json
      parse error: invalid object key (must be a string)
                                              [    { 	    "EventCode": "0x00
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-hha.json
      parse error: invalid object key (must be a string)
                                              [    { 	    "EventCode": "0x00
                           (right here) ------^
      JSON is invalid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-l3c.json
      parse error: invalid object key (must be a string)
                                              [    { 	    "EventCode": "0x00
                           (right here) ------^
      JSON is invalid
      $
    
    After:
    
      $ diffstat -l -p1 /wb/1.patch | while read filename ; do echo $filename ; cat $filename | json_verify ; done
      tools/perf/pmu-events/arch/arm64/ampere/emag/branch.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/bus.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/cache.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/clock.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/exception.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/instruction.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/intrinsic.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/memory.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/ampere/emag/pipeline.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a53/branch.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a53/bus.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a53/other.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/arm/cortex-a57-a72/core-imp-def.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/armv8-recommended.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/cavium/thunderx2/core-imp-def.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/core-imp-def.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-ddrc.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-hha.json
      JSON is valid
      tools/perf/pmu-events/arch/arm64/hisilicon/hip08/uncore-l3c.json
      JSON is valid
      $
    Signed-off-by: default avatarJames Clark <james.clark@arm.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Kevin Mooney <kevin.mooney@arm.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: nd@arm.com
    Link: http://lore.kernel.org/lkml/20191112160342.26470-1-james.clark@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    a44e4f3a
instruction.json 2.55 KB