perf disasm: Add e_machine/e_flags to struct archCurrently functions like get_dwarf_regnum only work with the hostarchitecture. Carry the elf machine and flags in struct arch so thatin disassembl
perf disasm: Add e_machine/e_flags to struct archCurrently functions like get_dwarf_regnum only work with the hostarchitecture. Carry the elf machine and flags in struct arch so thatin disassembly these can be used to allow cross platform disassembly.Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>Signed-off-by: Ian Rogers <irogers@google.com>Cc: Anup Patel <anup@brainfault.org>Cc: Yang Jihong <yangjihong@bytedance.com>Cc: Palmer Dabbelt <palmer@dabbelt.com>Cc: David S. Miller <davem@davemloft.net>Cc: Albert Ou <aou@eecs.berkeley.edu>Cc: Shenlin Liang <liangshenlin@eswincomputing.com>Cc: Nick Terrell <terrelln@fb.com>Cc: Guilherme Amadio <amadio@gentoo.org>Cc: Steinar H. Gunderson <sesse@google.com>Cc: Changbin Du <changbin.du@huawei.com>Cc: Alexander Lobakin <aleksander.lobakin@intel.com>Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>Cc: Huacai Chen <chenhuacai@kernel.org>Cc: Guo Ren <guoren@kernel.org>Cc: Masahiro Yamada <masahiroy@kernel.org>Cc: Will Deacon <will@kernel.org>Cc: James Clark <james.clark@linaro.org>Cc: Mike Leach <mike.leach@linaro.org>Cc: Chen Pei <cp0613@linux.alibaba.com>Cc: Leo Yan <leo.yan@linux.dev>Cc: Oliver Upton <oliver.upton@linux.dev>Cc: Aditya Gupta <adityag@linux.ibm.com>Cc: Kajol Jain <kjain@linux.ibm.com>Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>Cc: linux-arm-kernel@lists.infradead.orgCc: linux-riscv@lists.infradead.orgCc: Bibo Mao <maobibo@loongson.cn>Cc: John Garry <john.g.garry@oracle.com>Cc: Atish Patra <atishp@rivosinc.com>Cc: Dima Kogan <dima@secretsauce.net>Cc: Paul Walmsley <paul.walmsley@sifive.com>Cc: Dr. David Alan Gilbert <linux@treblig.org>Cc: linux-csky@vger.kernel.orgLink: https://lore.kernel.org/r/20241108234606.429459-5-irogers@google.comSigned-off-by: Namhyung Kim <namhyung@kernel.org>
show more ...
perf annotate: Add riscv64 supportThis patch adds basic arch initialization and instruction associatesupport for the riscv64 CPU architecture.Example output: $ perf annotate --stdio2 Sample
perf annotate: Add riscv64 supportThis patch adds basic arch initialization and instruction associatesupport for the riscv64 CPU architecture.Example output: $ perf annotate --stdio2 Samples: 122K of event 'task-clock:u', 4000 Hz, Event count (approx.): 30637250000, [percent: local period] strcmp() /usr/lib64/libc-2.32.so Percent Disassembly of section .text: 0000000000069a30 <strcmp>: __GI_strcmp(): const unsigned char *s2 = (const unsigned char *) p2; unsigned char c1, c2; do { c1 = (unsigned char) *s1++; 37.30 lbu a5,0(a0) c2 = (unsigned char) *s2++; 1.23 addi a1,a1,1 c1 = (unsigned char) *s1++; 18.68 addi a0,a0,1 c2 = (unsigned char) *s2++; 1.37 lbu a4,-1(a1) if (c1 == '\0') 18.71 ↓ beqz a5,18 return c1 - c2; }Signed-off-by: William Cohen <wcohen@redhat.com>Cc: Albert Ou <aou@eecs.berkeley.edu>Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>Cc: Jiri Olsa <jolsa@redhat.com>Cc: Mark Rutland <mark.rutland@arm.com>Cc: Namhyung Kim <namhyung@kernel.org>Cc: Palmer Dabbelt <palmer@dabbelt.com>Cc: Paul Walmsley <paul.walmsley@sifive.com>Cc: Peter Zijlstra <peterz@infradead.org>Cc: linux-riscv@lists.infradead.orgLink: http://lore.kernel.org/lkml/20210927005115.610264-1-wcohen@redhat.comSigned-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>