Received: by 10.192.165.156 with SMTP id m28csp731362imm; Fri, 13 Apr 2018 06:57:44 -0700 (PDT) X-Google-Smtp-Source: AIpwx48EMHXuc3P5xq/58DmZD4b78JktRD0KkmX5M9h3/TDhC44Sr8LYmAaxxI95BQMqffKF0zv9 X-Received: by 2002:a17:902:28a6:: with SMTP id f35-v6mr5379651plb.204.1523627864465; Fri, 13 Apr 2018 06:57:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523627864; cv=none; d=google.com; s=arc-20160816; b=uEUWHUpz48/7T5ZVlpmxULH0XYz0e7aHl68UNKDCwZmt23stJ9+TihUYQQ7uhIjpD6 4hPwQyMQSlQCszTZ0Sb+xuriqDyuRoQMKsIovG9nwvG7ck8rzqHmm+CGgrLv3Jcro/YW Ir+Suy3qf8mliA/6ELFrzNnOz4fwjzkUklAG0nP8ishcxJzLWqel/HqLV8lHYkYIQ2Di wExYYuK5yB0YwjmEq3ocfblYI0vhu3xCL6Lb9FpDEc2v7ZL0U4po7cI3lCQZ/QPcd5mY BSaViQ39rV3PvwEmX14+QPjvXfvC0ZjQ3OVnldKkLiEc2wRQkkQebrRY+ovx3K6OrmZa 4m9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=2PEb8ogz5kXW0/knsPEnMsIOpTyqlP7o3DO42swVPkA=; b=pE4mqNWNiHivgVcASSF6F8EfGcdqzOX/q3rSKdvbvd/lwfFUqqkVa2AzOArGXv3ENt rzGs5OPRU43L+5ShC3WBnBgHypHVpN1mKujEpam3ji4pvdx4MlzRy1WpPCtzwcTq3cHk vPzieNR/ofHApkZVPvUyGM1LlRqA66eFijDdGAdDCQmI2SFQpU9eKBQs3u9xYKIuoxHu dn+pA8xKnz7IFbC8gGupWRD5h1EbZvtAYxyr2BDkZvO8y9KxMzvwtgRFOpLWpcICC4Il o4HNb5EvoQvj8MXI0losxM/P9VnV5VVVkbpH9el0IGICPc5skAqgzR+Of3ewAuaqhuPA X6GA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e93-v6si5526646plk.358.2018.04.13.06.57.30; Fri, 13 Apr 2018 06:57:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754086AbeDMNtM (ORCPT + 99 others); Fri, 13 Apr 2018 09:49:12 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:60076 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753254AbeDMNtL (ORCPT ); Fri, 13 Apr 2018 09:49:11 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D5C668DC5C; Fri, 13 Apr 2018 13:49:10 +0000 (UTC) Received: from cervelo.rdu.redhat.com (dhcp129-52.rdu.redhat.com [10.13.129.52]) by smtp.corp.redhat.com (Postfix) with ESMTP id AEF1E2026980; Fri, 13 Apr 2018 13:49:10 +0000 (UTC) From: William Cohen To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org, linux-kernel@vger.kernel.org Cc: alexander.shishkin@linux.intel.com, jolsa@redhat.com, namhyung@kernel.org, William Cohen Subject: [PATCH] Move handling of the MIDR Variant and Revision bits into the mapfile.csv file Date: Fri, 13 Apr 2018 09:48:52 -0400 Message-Id: <20180413134852.19495-1-wcohen@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Fri, 13 Apr 2018 13:49:10 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Fri, 13 Apr 2018 13:49:10 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'wcohen@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The arm64 code indentification code was filtering out the Variant and Revision bits when it initially read the MIDR value. It is better to do the filtering of Variant and Revision bits in the regular expressions in the mapsfile.csv. If some performance events do not function for particular versions of silicon, special case maps can be added to mapsfile.csv before the general case to handle them. Signed-off-by: William Cohen --- tools/perf/arch/arm64/util/header.c | 7 ------- tools/perf/pmu-events/arch/arm64/mapfile.csv | 12 +++++++----- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/tools/perf/arch/arm64/util/header.c b/tools/perf/arch/arm64/util/header.c index 534cd2507d83..05d1439c2cff 100644 --- a/tools/perf/arch/arm64/util/header.c +++ b/tools/perf/arch/arm64/util/header.c @@ -5,9 +5,6 @@ #define MIDR "/regs/identification/midr_el1" #define MIDR_SIZE 19 -#define MIDR_REVISION_MASK 0xf -#define MIDR_VARIANT_SHIFT 20 -#define MIDR_VARIANT_MASK (0xf << MIDR_VARIANT_SHIFT) char *get_cpuid_str(struct perf_pmu *pmu) { @@ -44,11 +41,7 @@ char *get_cpuid_str(struct perf_pmu *pmu) } fclose(file); - /* Ignore/clear Variant[23:20] and - * Revision[3:0] of MIDR - */ midr = strtoul(buf, NULL, 16); - midr &= (~(MIDR_VARIANT_MASK | MIDR_REVISION_MASK)); scnprintf(buf, MIDR_SIZE, "0x%016lx", midr); /* got midr break loop */ break; diff --git a/tools/perf/pmu-events/arch/arm64/mapfile.csv b/tools/perf/pmu-events/arch/arm64/mapfile.csv index f03e26ecb658..23372a335f97 100644 --- a/tools/perf/pmu-events/arch/arm64/mapfile.csv +++ b/tools/perf/pmu-events/arch/arm64/mapfile.csv @@ -3,7 +3,9 @@ # # where # MIDR Processor version -# Variant[23:20] and Revision [3:0] should be zero. +# Variant[23:20] and Revision [3:0] bits should be matched +# with regular expression hex digits ([[:xdigit:]]) +# unless particular variants or revisions need special handling. # Version could be used to track version of of JSON file # but currently unused. # JSON/file/pathname is the path to JSON file, relative @@ -12,7 +14,7 @@ # # #Family-model,Version,Filename,EventType -0x00000000410fd03[[:xdigit:]],v1,arm/cortex-a53,core -0x00000000420f5160,v1,cavium/thunderx2,core -0x00000000430f0af0,v1,cavium/thunderx2,core -0x00000000480fd010,v1,hisilicon/hip08,core +0x0000000041[[:xdigit:]]fd03[[:xdigit:]],v1,arm/cortex-a53,core +0x0000000042[[:xdigit:]]f516[[:xdigit:]],v1,cavium/thunderx2,core +0x0000000043[[:xdigit:]]f0af[[:xdigit:]],v1,cavium/thunderx2,core +0x0000000048[[:xdigit:]]fd01[[:xdigit:]],v1,hisilicon/hip08,core -- 2.14.3