Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Leo Yan <> | Subject | [PATCH RESEND v1 08/11] perf arm-spe: Save memory addresses in packet | Date | Thu, 6 Aug 2020 11:07:24 +0800 |
| |
This patch is to save virtual and physical memory addresses in packet, the address info can be used for generating memory samples.
Signed-off-by: Leo Yan <leo.yan@linaro.org> --- tools/perf/util/arm-spe-decoder/arm-spe-decoder.c | 4 ++++ tools/perf/util/arm-spe-decoder/arm-spe-decoder.h | 2 ++ 2 files changed, 6 insertions(+)
diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c index 93e063f22be5..373dc2d1cf06 100644 --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.c @@ -162,6 +162,10 @@ static int arm_spe_read_record(struct arm_spe_decoder *decoder) decoder->record.from_ip = ip; else if (idx == SPE_ADDR_PKT_HDR_INDEX_BRANCH) decoder->record.to_ip = ip; + else if (idx == SPE_ADDR_PKT_HDR_INDEX_DATA_VIRT) + decoder->record.addr = ip; + else if (idx == SPE_ADDR_PKT_HDR_INDEX_DATA_PHYS) + decoder->record.phys_addr = ip; break; case ARM_SPE_COUNTER: break; diff --git a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h index a5111a8d4360..5acddfcffbd1 100644 --- a/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h +++ b/tools/perf/util/arm-spe-decoder/arm-spe-decoder.h @@ -47,6 +47,8 @@ struct arm_spe_record { u64 from_ip; u64 to_ip; u64 timestamp; + u64 addr; + u64 phys_addr; }; struct arm_spe_insn; -- 2.17.1
| ![\](/images/icornerr.gif) |