Skip to content

Tags: intelpt/processor-trace

Tags

v1.6

Toggle v1.6's commit message
version: bump minor version number

Changes:
  - add a new block decoder layer
  - add a new image section cache and image section identifiers
  - add version macros to intel-pt.h
  - shrink or split existing image sections on overlap
  - add decoder-specific configuration flags
  - classify INT, INT1, INT3, and INTO as far calls
  - classify VMLAUNCH/VMRESUME as far call and VMCALL as far return
  - improve instruction length decode performance
  - fix an issue with instructions overlapping image section boundaries
  - fix an off-by-one end of trace indication
  - fix a bug with TMA for low MTC frequencies
  - ptunit:
    - avoid using mktempname
    - fix leaking of temporary files
  - ptdump:
    - fix an issue with ':' in filenames
  - ptxed:
    - allow an offset or range for raw binary files (--raw)
    - add --stat:insn and --stat:block to count instructions and blocks
    - add --block:show-blocks to print blocks
    - add --time to print the estimated TSC at each instruction
    - add --check to check instruction decode and classification against XED
    - fix an issue with ':' in filenames
    - fix a bug with --stat without --quiet
  - pttc:
    - fix a few memory leaks

Change-Id: Ie810479b6a73fb8743efec56b686a53d8b4bec7d
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

v1.5

Toggle v1.5's commit message
version: bump minor version number

Changes:
  - add workarounds for SKD007, SKD010 (SKD014), SKD022, SKD024 (BDM70)
  - detect errata for 6/71, 6/78, 6/79, 6/86
  - document how to decode trace recorded by the Linux perf tool
  - add scripts to support perf-recorded trace decode
  - add man pages for API functions
  - add install support
  - fix instruction decode bugs
  - add support for decoding EVEX instructions
  - improve instruction decode performance
  - image performance improvements
  - add separate cmake enables for each component
  - add cmake testing support
  - fix binding of TIP.PGD with suppressed IP
  - fix return compression for zero-displacement calls
  - wrap API in extern "C" for improved C++ support
  - improve error reporting
  - allow the instruction decoder to be resumed after an error
  - enable FEATURE_THREADS by default
  - ptdump:
    - add --no-timingn to skip timing packets
    - add --no-cyc to skip CYC packets
    - fix a crash when an option argument is omitted
  - ptxed:
    - support 32-bit ELF
    - add timing related options
    - add --raw-insn to print the raw instruction bytes
    - fix a crash when an option argument is omitted

Change-Id: I8f81249caeb96a76e346b678a66138802f49f9e8
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

v1.4.4

Toggle v1.4.4's commit message
libipt: check section boundaries in pt_section_read()

When reading from a mapped section, we perform all kinds of overflow checks in
the various read functions.  And we still missed an overflow on systems with
32-bit pointers.

Move the check to pt_section_read() where we check the requested offset against
the section size.  Also truncate the read request there, if necessary.

This fixes the overflow on systems with 32-bit pointers.

Change-Id: I3c4591dcde113e2696347298af5ad3671ef0e41c
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

v1.4.3

Toggle v1.4.3's commit message
libipt: skd010/skd014

SKD010: Intel(R) PT FUP May be Dropped After OVF.

        Some Intel PT (Intel Processor Trace) OVF (Overflow) packets may not
        be followed by a FUP (Flow Update Packet) or TIP.PGE (Target IP
        Packet, Packet Generation Enable).

Same as SKD014.

Change-Id: I2ce3d7c705b20697898d444e96d430fe61f5ad3f
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

v1.4.2

Toggle v1.4.2's commit message
cmake: add enables for other components

Change-Id: I813b6ecb9d8fb00247464e93cf48d76bcfea0a29
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

v1.4.1

Toggle v1.4.1's commit message
doc: update sdm reference

Change-Id: I9df24f966997bcdc9576a97f8f35aa872ec55693
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>

v1.4

Toggle v1.4's commit message
version: bump minor version number

Changes:
  - support the new SDM version
    - cycle-accurate timing
    - trace stop
    - vmm tracing support
    - new IP compression variants
  - add workarounds for BDM70 and BDM64
  - improve backwards compatibility
    - pt_qry_event() now takes a size argument
    - pt_insn_next() now takes a size argument
    - pt_pkt_next() now takes a size argument
    - libipt now accepts older (i.e. smaller) configurations
  - allow sharing image sections between decoders
    - use pt_image_copy() to share the underlying sections
    - image sections are mapped lazily and unmapped automatically
      using a LRU cache
    - image sections are use-counted and automatically deleted
    - add a new cmake option FEATURE_THREADS
      When ON, section use counting and map/unmap are thread-safe
  - remove the FEATURE_MMAP cmake option
    - image sections are mmapped by default
    - image sections are now mmapped also on Windows
    - fall back to fread() if mmap fails
  - remove pt_configure()
    Use pt_config_init() to zero-initialize the configuration, fill in the
    required fields, and call pt_cpu_errata()
  - indicate the upcoming end of the trace
  - pt_insn_*() functions now return a status bit-vector similar to
    pt_qry_*() functions.
  - events now have timing information
  - return -pte_internal for NULL pointers in internal interfaces
  - fix overflow handling
  - replace check with ptunit
  - ignore whitespace when comparing pttc test outputs
  - instruction decode now fails reliably when the execution mode is not known
  - fix missing doxygen escapes in intel-pt.h
  - add new errors pte_bad_image and pte_not_supported
  - add pt_*_get_config() for querying the decoder's configuration
  - add pt_insn_get_sync_offset()
  - fix a bug where two back-to-back paging events were bound to the
    same instruction
  - ptdump and ptxed now print all integers as hex without 0x prefix
  - ptdump:
    - change the output format
    - add a new option --exec-mode to show the resulting execution mode
      for mode.exec packets
  - pttc:
    - fix a memory leak where an encoder was leaked for each directive
    - allow tools options to be specified in the test
    - fix a bug where --no-sync wouldn't correctly sync at the beginning
      of the trace file
  - ptxed:
    - libxed is now linked statically
    - continue decoding after a synchronization error
    - add a new option --offset to print the offset into the trace file
      at the beginning of each line

Change-Id: I8bb8cf3340ce431d2a82c4386612a138f3ab9934
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>