• Leo Yan's avatar
    perf scripts python: Support Arm CoreSight trace data disassembly · 12fdd6c0
    Leo Yan authored
    This commit adds python script to parse CoreSight tracing event and
    print out source line and disassembly, it generates readable program
    execution flow for easier humans inspecting.
    
    The script receives CoreSight tracing packet with below format:
    
                    +------------+------------+------------+
      packet(n):    |    addr    |    ip      |    cpu     |
                    +------------+------------+------------+
      packet(n+1):  |    addr    |    ip      |    cpu     |
                    +------------+------------+------------+
    
    packet::addr presents the start address of the coming branch sample, and
    packet::ip is the last address of the branch smple.  Therefore, a code
    section between branches starts from packet(n)::addr and it stops at
    packet(n+1)::ip.  As results we combines the two continuous packets to
    generate the address range for instructions:
    
      [ sample(n)::addr .. sample(n+1)::ip ]
    
    The script supports both objdump or llvm-objdump...
    12fdd6c0