Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp587168iog; Fri, 24 Jun 2022 09:44:41 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sF4YmuK3rMZ5Upiq9MeWCgtDrct3JK6m95icXQQqxsbeBzfiosO+RnpEJGcQIL7Ttvr091 X-Received: by 2002:a17:90b:3b4a:b0:1ed:38a0:d45f with SMTP id ot10-20020a17090b3b4a00b001ed38a0d45fmr61941pjb.87.1656089081254; Fri, 24 Jun 2022 09:44:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656089081; cv=none; d=google.com; s=arc-20160816; b=vq5t5HanHaduBudq+dzfGJSabJ3b+PI7V4ta0t72e9h3ygzCEmVPSvESH1br5tbReg QSbW1YbKgXfvceWXBImg71mzniXZgiBiuCFydxnHGuzOM5hY1VZnKJz0q4qzuaDzcqhc jnKd7kY+JIlH4GZl1y48jipDTP4mr3XLkZRx8sJL+S1uHATDxSmPenV1BvlMBhSca+xh CMSvz+ed8b+JJ3tPpO6OQZCVGwOaU0jDnywOZUFGc+xlENY6ATos9EasD7A+gkX+Zzd4 Y0H7jy8G7WFtznRhZn5rdXMLxer8XvaAsOPgia+vpADHnDxdK+9SlP8CI9Bx8XREDFmP /cow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=V2FI//aX/fY8Jc2kwGxZThRsM9F7hvj3YMlPdBRYyS8=; b=ZJR94e8SviOhmITBeKGuRsApXJdMqCg4XmVLygxCLt1lDtiWCYyhfzJ+hTAm9ZTsop 4RkLpt20qBn1iexQRdOB0ArzATgW8ksiz5fuW3fc2QTKxHzD8oLfkLIO8032g9BJTlCU Gu712D9qIllDdeUgjkDriU5Vqm3bvy63Ribn4t/R8rID0ifKhKLG5MJVocu9/rpQHOpj OIlo5jRLK4Suq4/u1bqg9N2FKDovB50Llu+3QAW5zRV7DhK08AR6G3Ft43GrJ/LxjGdg fmnmZStn0AXfPlkqZuBpXOM6iJEdd4Uh538ohl/+XACwpCXJ1w0pAnZP2A7c9p8lzosJ +aTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@maquefel.me header.s=mail header.b=QwQN4xN6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t190-20020a6381c7000000b0040c99b505fdsi3009107pgd.751.2022.06.24.09.44.25; Fri, 24 Jun 2022 09:44:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@maquefel.me header.s=mail header.b=QwQN4xN6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229970AbiFXQBh (ORCPT + 99 others); Fri, 24 Jun 2022 12:01:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229923AbiFXQBb (ORCPT ); Fri, 24 Jun 2022 12:01:31 -0400 Received: from forward101p.mail.yandex.net (forward101p.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:101]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9854E5251F for ; Fri, 24 Jun 2022 09:01:27 -0700 (PDT) Received: from myt5-36442628f0be.qloud-c.yandex.net (myt5-36442628f0be.qloud-c.yandex.net [IPv6:2a02:6b8:c12:1c0c:0:640:3644:2628]) by forward101p.mail.yandex.net (Yandex) with ESMTP id E74B059D0609; Fri, 24 Jun 2022 19:01:24 +0300 (MSK) Received: from myt5-ca5ec8faf378.qloud-c.yandex.net (myt5-ca5ec8faf378.qloud-c.yandex.net [2a02:6b8:c12:2514:0:640:ca5e:c8fa]) by myt5-36442628f0be.qloud-c.yandex.net (mxback/Yandex) with ESMTP id 2Fyt6Hhqj2-1MfK7rLK; Fri, 24 Jun 2022 19:01:24 +0300 X-Yandex-Fwd: 2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maquefel.me; s=mail; t=1656086484; bh=V2FI//aX/fY8Jc2kwGxZThRsM9F7hvj3YMlPdBRYyS8=; h=Date:Subject:Cc:To:From:Message-Id; b=QwQN4xN62UdWVzVipm9XF6FMGLsXU4unzPCWkMLbgtbOO9GD0BgOvdKPvbUNueeSj Nvmgzcoy4deQU9Q+eS+S/CVwkJlDWH6FBk8zFDH5la+3PJzBGm0gmYVAiK+GgWt5Nf UIrvp3ChDrB9NGAnjkhEYA6NgZMPMcaqhZ6FYSq4= Authentication-Results: myt5-36442628f0be.qloud-c.yandex.net; dkim=pass header.i=@maquefel.me Received: by myt5-ca5ec8faf378.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id iVUkuL8Azf-1LMKbASM; Fri, 24 Jun 2022 19:01:21 +0300 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client certificate not present) From: Nikita Shubin To: Atish Patra , Anup Patel Cc: =?UTF-8?q?Jo=C3=A3o=20M=C3=A1rio=20Domingos?= , linux@yadro.com, Nikita Shubin , Albert Ou , Alexander Shishkin , Arnaldo Carvalho de Melo , Ingo Molnar , Jiri Olsa , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-riscv@lists.infradead.org, Mark Rutland , Namhyung Kim , Palmer Dabbelt , Paul Walmsley , Peter Zijlstra , Will Deacon Subject: [PATCH v4 0/5] RISC-V: Create unique identification for SoC PMU Date: Fri, 24 Jun 2022 19:00:50 +0300 Message-Id: <20220624160117.3206-1-nikita.shubin@maquefel.me> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nikita Shubin This series aims to provide matching vendor SoC with corresponded JSON bindings. The ID string is proposed to be in form of MVENDORID-MARCHID-MIMPID, for example for Sifive Unmatched the corresponding string will be: 0x489-0x8000000000000007-0x[[:xdigit:]]+,v1,sifive/u74,core Where MIMPID can vary as all impl supported the same number of events, this might not be true for all future SoC however. Also added 3 counters which are standart for all RISC-V implementations and SBI firmware events prerry names, as any firmware that supports SBI PMU should also support firmare events. Link: https://github.com/riscv-non-isa/riscv-sbi-doc/blob/master/riscv-sbi.adoc Link: https://patchwork.kernel.org/project/linux-riscv/list/?series=648017 --- v3->v4: - drop pmuid in riscv_pmu_sbi, we are using /proc/cpuinfo - rework util/header.c to use /proc/cpuinfo - add SBI firmware events - add firmware and std arch events to U74 pmu bindings - change U74 id string and description in mapfile.csv --- Nikita Shubin (5): drivers/perf: riscv_pmu_sbi: perf format perf tools riscv: Add support for get_cpuid_str function perf arch events: riscv arch std event files perf arch events: riscv sbi firmare std event files perf vendor events riscv: add Sifive U74 JSON file drivers/perf/riscv_pmu_sbi.c | 20 +++ tools/perf/arch/riscv/util/Build | 1 + tools/perf/arch/riscv/util/header.c | 109 ++++++++++++++ tools/perf/pmu-events/arch/riscv/mapfile.csv | 17 +++ .../pmu-events/arch/riscv/riscv-generic.json | 20 +++ .../arch/riscv/riscv-sbi-firmware.json | 134 ++++++++++++++++++ .../arch/riscv/sifive/u74/firmware.json | 68 +++++++++ .../arch/riscv/sifive/u74/generic.json | 11 ++ .../arch/riscv/sifive/u74/instructions.json | 92 ++++++++++++ .../arch/riscv/sifive/u74/memory.json | 32 +++++ .../arch/riscv/sifive/u74/microarch.json | 57 ++++++++ 11 files changed, 561 insertions(+) create mode 100644 tools/perf/arch/riscv/util/header.c create mode 100644 tools/perf/pmu-events/arch/riscv/mapfile.csv create mode 100644 tools/perf/pmu-events/arch/riscv/riscv-generic.json create mode 100644 tools/perf/pmu-events/arch/riscv/riscv-sbi-firmware.json create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/firmware.json create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/generic.json create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/instructions.json create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/memory.json create mode 100644 tools/perf/pmu-events/arch/riscv/sifive/u74/microarch.json -- 2.35.1