Tags: killvxk/processor-trace
Tags
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>
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>
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>
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>
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>