Skip to content

Tags: ntauth/libipt

Tags

v2.0.1

Toggle v2.0.1's commit message
version: bump patch number

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

v1.6.3

Toggle v1.6.3's commit message
version: bump default build number

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

v2.0

Toggle v2.0's commit message
version: bump major version number

Changes:
  - add pt_insn_asid() and pt_blk_asid()
  - add event system
    - add resumed to struct pt_event.variant.enabled
    - add pt_insn_event() and pt_blk_event()
    - remove struct pt_insn flags
    - add tick events
    - add cbr events
    - add mnt events
  - indicate enabled state in pts_status bit-vector returned by most functions
  - indicate overflows while tracing is disabled
  - support power event tracing packets
  - support ptwrite
  - renumber enum pt_packet_type
  - move packet decode enums to internal header
  - reorder iclass and isid in struct pt_insn
  - add errors pte_overflow and pte_bad_file
  - add sideband correlation library
    - support decoding Linux perf_event records
    - support correlating Linux perf_event sideband
    - add scripts to post-process perf's perf.data file
  - support running PTT tests via ctest
  - address new gcc and clang warnings
  - work around skl014, apl11, apl12
  - support cpu 6/142, 6/158, 6/85, 6/122
  - add contribution guidelines
  - add an image section cache
  - add end_on_jump block decoder option
  - diagnose unknown cpus with -pte_bad_error
  - synchronized at partially consumed PSB
  - bug-fixes
  - ptunit:
    - destroy only initialized test fixtures
    - remove temporary files after closing them
    - test programs return the number of fails
  - ptxed:
    - print events
    - change relative order of [interrupt] and [aborted]
    - add --event:tick   request tick events.
    - add --sb:compact   print sideband records in compact form
    - add --sb:verbose   print sideband records in verbose form
    - add --sb:time      print the sideband record's timestamp
    - add --sb:filename  print the sideband filename
    - add --sb:offset    print the offset into the sideband file
    - add --sb:warn      print warnings for all kinds of losses
    - add --pevent:primary/secondary <file>[:<from>[-<to>]]
                              load a perf_event sideband stream from <file>.
                              an optional offset or range can be given.
    - add --pevent:sample-type <val>  set perf_event_attr.sample_type
    - add --pevent:time-zero <val>    set perf_event_mmap_page.time_zero
    - add --pevent:time-shift <val>   set perf_event_mmap_page.time_shift
    - add --pevent:time-mult <val>    set perf_event_mmap_page.time_mult
    - add --pevent:tsc-offset <val>   show perf events <val> ticks earlier.
    - add --pevent:kernel-start <val> the start address of the kernel.
    - add --pevent:sysroot <path>     prepend <path> to sideband filenames.
    - add --pevent:kcore <file>       load the kernel from a core dump.
    - add --pevent:vdso-x64 <file>    use <file> as 64-bit vdso.
    - add --pevent:vdso-x32 <file>    use <file> as x32 vdso.
    - add --pevent:vdso-ia32 <file>   use <file> as 32-bit vdso.
    - reformat output of --verbose
    - add --iscache-limit <limit>     set the image section cache limit
   - ptdump:
    - add --sb:compact   print sideband records in compact form
    - add --sb:verbose   print sideband records in verbose form
    - add --sb:time      print the sideband record's timestamp
    - add --sb:filename  print the sideband filename
    - add --sb:offset    print the offset into the sideband file
    - add --pevent:primary/secondary <file>[:<from>[-<to>]]
                              load a perf_event sideband stream from <file>.
                              an optional offset or range can be given.
    - add --pevent:sample-type <val>  set perf_event_attr.sample_type
    - add --pevent:time-zero <val>    set perf_event_mmap_page.time_zero
    - add --pevent:time-shift <val>   set perf_event_mmap_page.time_shift
    - add --pevent:time-mult <val>    set perf_event_mmap_page.time_mult
    - add --pevent:tsc-offset <val>   show perf events <val> ticks earlier.
    - add --pevent:kernel-start <val> the start address of the kernel.
    - add --pevent:sysroot <path>     ignored.
    - add --pevent:kcore <file>       ignored.
    - add --pevent:vdso-x64 <file>    ignored.
    - add --pevent:vdso-x32 <file>    ignored.
    - add --pevent:vdso-ia32 <file>   ignored.
  - pttc:
    - add new @sb directives:
      primary    open a primary sideband file and set as current
      secondary  open a secondary sideband file and set as current
      raw-8      write 8 bit into the current trace/sideband file
      raw-16     write 16 bit into the current trace/sideband file
      raw-32     write 32 bit into the current trace/sideband file
      raw-64     write 64 bit into the current trace/sideband file
      pevent-sample_type         specify the samples associated with subsequent
                                 pevent directives
      pevent-mmap-section        describe memory mapping of a yasm section
      pevent-lost                describe loss of pevent records
      pevent-comm                describe command being traced
      pevent-exit                describe thread exit
      pevent-fork                describe thread create
      pevent-aux                 describe new data in aux buffer
      pevent-itrace-start        describe that tracing started
      pevent-lost-samples        describe the loss of sample records
      pevent-switch              describe a context switch
      pevent-switch-cpu-wide     describe a context switch
    - print name of sideband files

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

v1.6.2

Toggle v1.6.2's commit message
version: bump default build number

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

v1.6.1

Toggle v1.6.1's commit message
version: bump default build number

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

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>