The prominent issue for the SPE trace decoding and dumping is the packet header and payload values are hard coded with numbers and it's not readable and difficult to maintain; and has other minor issues, e.g. the packet length (header + payload) calculation is not correct for some packet types, and the dumping flow misses to support specific sub classes for operation packet, etc.
So this patch set is to refactor the Arm SPE decoding SPE with: - Patches 01, 02 are minor cleans up; - Patches 03, 04 are used to fix and polish the packet and payload length calculation; - Patches 05 ~ 12 are used to refactor decoding for different types packet one by one (address packet, context packet, counter packet, event packet, operation packet); - Patch 13 is coming from Wei Li to add decoding for ARMv8.3 extension, in this version it has been improved to use defined macros, also is improved for failure handling and commit log. Prerequisite: This patch set is applied on the top of perf/core branch with commit 492e4edba6e2 ("perf ftrace: Make option description initials all capital letters"), and also it relies on Wei Li's bug fixing patch "perf: arm-spe: Fix check error when synthesizing events" [1]. This patch set has been verified on Hisilicon D06 platform. [1] https://lkml.org/lkml/2020/7/24/132 Leo Yan (12): perf arm-spe: Include bitops.h for BIT() macro perf arm-spe: Fix a typo in comment perf arm-spe: Refactor payload length calculation perf arm-spe: Fix packet length handling perf arm-spe: Refactor packet header parsing perf arm-spe: Refactor address packet handling perf arm-spe: Refactor context packet handling perf arm-spe: Refactor counter packet handling perf arm-spe: Refactor event type handling perf arm-spe: Detect failure for snprintf() perf arm-spe: Refactor operation packet handling perf arm-spe: Add more sub classes for operation packet Wei Li (1): perf arm-spe: Add support for ARMv8.3-SPE .../util/arm-spe-decoder/arm-spe-decoder.c | 54 ++- .../util/arm-spe-decoder/arm-spe-decoder.h | 17 - .../arm-spe-decoder/arm-spe-pkt-decoder.c | 433 ++++++++++++------ .../arm-spe-decoder/arm-spe-pkt-decoder.h | 117 ++++- 4 files changed, 418 insertions(+), 203 deletions(-) -- 2.17.1