Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1457833pxu; Fri, 27 Nov 2020 07:42:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJzgPndbGdcqqfej6x5159mrkaHD6e3V3PvXn7szi6q0H6kmBMJ5AUXDCt/Twm/ehtuvaGTA X-Received: by 2002:a17:906:71d3:: with SMTP id i19mr8353693ejk.187.1606491719925; Fri, 27 Nov 2020 07:41:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606491719; cv=none; d=google.com; s=arc-20160816; b=zl9nFyOLTtaDGvjGjUarnS3KncO7Kh9ooHOZlzhWwxC/VKy57vnGmz9u+QTKWpa+zA eOoFZ4mp9u+unbpkB+zjDBgtdEkWBUYaS+ejnCO8lyhIotY9Boaax++DPBpnHOO54Gvo Rctjn36qcOjzouHQYQ+E0Gk+ecygYN6LIr7S1qCZ1x67fa2r3JfkF6e1y9qqukRM0ev7 rzT3AnE+h+ahA0t6K8nQCogqw+CkQ/lPALfDGUkyXZNPdrnrL8gbvq5xj9DyYd4TmM1H Sm4Wq7g7Gf0luWd2Yk+ROGJRMLzDHHeYDR4W0Y998ma9blTLCu8mVxyyFQFW6WCAJnf7 cbXQ== 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; bh=ZhQuRjkCLeu9LYt7onH5N1x3ZR+IJtxOpCjTN1qsZXw=; b=grnlv+TS9bNhFrzpTEHP+0+ZQOpHXEwzzWaCvDC7Fl7XwRAJiJSOox3JGmtlkDH+pt Ur2HgGHR8Bx9/jQfHsFshXlbsqLXF8V68dm4Jq6T4K6wSwm8hWtU1ZgaDLjh8CV/Vnmm P3aNUiXILsuSHS9f46lUn4g8uakZmf7CS4/Y1TbGHONJQF3bAZGnWTCQMy/WwUgOhtOC w9eOONsrO7eiFK0tz8LZmOMolF1jBANoxpg0/ehnP47Q57LoEEbkcJIRXKVlk27kllR4 /dUGs2vI6ZcYh2dx34ymSBO/HEGvy7krIpTHnVPLlhm0Dp214M8tn97s1AYNtwEbYvXK B8Mg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b26si5354868edy.172.2020.11.27.07.41.36; Fri, 27 Nov 2020 07:41:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730992AbgK0Pjf (ORCPT + 99 others); Fri, 27 Nov 2020 10:39:35 -0500 Received: from foss.arm.com ([217.140.110.172]:44846 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730980AbgK0Pjf (ORCPT ); Fri, 27 Nov 2020 10:39:35 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 83A1F1516; Fri, 27 Nov 2020 07:39:34 -0800 (PST) Received: from e125528.arm.com (unknown [10.57.62.168]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 154973F70D; Fri, 27 Nov 2020 07:39:32 -0800 (PST) From: Alexandre Truong To: linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org Cc: james.clark@arm.com, Alexandre Truong , John Garry , Leo Yan , Arnaldo Carvalho de Melo , Jiri Olsa , Namhyung Kim Subject: [PATCH] perf tools: add aarch64 registers to --user-regs Date: Fri, 27 Nov 2020 15:39:23 +0000 Message-Id: <20201127153923.26717-1-alexandre.truong@arm.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Previously, this command returns no help message on aarch64: -> ./perf record --user-regs=? available registers: Usage: perf record [] [] or: perf record [] -- [] With this change, the registers are listed. -> ./perf record --user-regs=? available registers: x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 lr sp pc It's also now possible to record subsets of registers on aarch64: -> ./perf record --user-regs=x4,x5 ls -> ./perf report --dump-raw-trace 12801163749305260 0xc70 [0x40]: PERF_RECORD_SAMPLE(IP, 0x2): 51956/51956: 0xffffaa6571f0 period: 145785 addr: 0 ... user regs: mask 0x30 ABI 64-bit .... x4 0x000000000000006c .... x5 0x0000001001000001 ... thread: ls:51956 ...... dso: /usr/lib64/ld-2.17.so Cc: John Garry Cc: Leo Yan Cc: Arnaldo Carvalho de Melo Cc: Jiri Olsa Cc: Namhyung Kim Signed-off-by: Alexandre Truong --- tools/perf/arch/arm64/util/perf_regs.c | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tools/perf/arch/arm64/util/perf_regs.c b/tools/perf/arch/arm64/util/perf_regs.c index 2833e101a..54efa12fd 100644 --- a/tools/perf/arch/arm64/util/perf_regs.c +++ b/tools/perf/arch/arm64/util/perf_regs.c @@ -2,5 +2,38 @@ #include "../../../util/perf_regs.h" const struct sample_reg sample_reg_masks[] = { + SMPL_REG(x0, PERF_REG_ARM64_X0), + SMPL_REG(x1, PERF_REG_ARM64_X1), + SMPL_REG(x2, PERF_REG_ARM64_X2), + SMPL_REG(x3, PERF_REG_ARM64_X3), + SMPL_REG(x4, PERF_REG_ARM64_X4), + SMPL_REG(x5, PERF_REG_ARM64_X5), + SMPL_REG(x6, PERF_REG_ARM64_X6), + SMPL_REG(x7, PERF_REG_ARM64_X7), + SMPL_REG(x8, PERF_REG_ARM64_X8), + SMPL_REG(x9, PERF_REG_ARM64_X9), + SMPL_REG(x10, PERF_REG_ARM64_X10), + SMPL_REG(x11, PERF_REG_ARM64_X11), + SMPL_REG(x12, PERF_REG_ARM64_X12), + SMPL_REG(x13, PERF_REG_ARM64_X13), + SMPL_REG(x14, PERF_REG_ARM64_X14), + SMPL_REG(x15, PERF_REG_ARM64_X15), + SMPL_REG(x16, PERF_REG_ARM64_X16), + SMPL_REG(x17, PERF_REG_ARM64_X17), + SMPL_REG(x18, PERF_REG_ARM64_X18), + SMPL_REG(x19, PERF_REG_ARM64_X19), + SMPL_REG(x20, PERF_REG_ARM64_X20), + SMPL_REG(x21, PERF_REG_ARM64_X21), + SMPL_REG(x22, PERF_REG_ARM64_X22), + SMPL_REG(x23, PERF_REG_ARM64_X23), + SMPL_REG(x24, PERF_REG_ARM64_X24), + SMPL_REG(x25, PERF_REG_ARM64_X25), + SMPL_REG(x26, PERF_REG_ARM64_X26), + SMPL_REG(x27, PERF_REG_ARM64_X27), + SMPL_REG(x28, PERF_REG_ARM64_X28), + SMPL_REG(x29, PERF_REG_ARM64_X29), + SMPL_REG(lr, PERF_REG_ARM64_LR), + SMPL_REG(sp, PERF_REG_ARM64_SP), + SMPL_REG(pc, PERF_REG_ARM64_PC), SMPL_REG_END }; -- 2.23.0