perf intel-pt: Fix ip compression
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 20 Jul 2016 09:00:06 +0000 (12:00 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 12 Aug 2016 17:39:48 +0000 (14:39 -0300)
commite1717e0485af4f47fc4da1e979ac817f9ad61b0f
treedc4efbd88c04f49bff42d9aef9cccceb962268ad
parent95f3be798472f63b495ca4712af005ea5ac7aa47
perf intel-pt: Fix ip compression

The June 2015 Intel SDM introduced IP Compression types 4 and 6. Refer
to section 36.4.2.2 Target IP (TIP) Packet - IP Compression.

Existing Intel PT packet decoder did not support type 4, and got type 6
wrong.  Because type 3 and type 4 have the same number of bytes, the
packet 'count' has been changed from being the number of ip bytes to
being the type code.  That allows the Intel PT decoder to correctly
decide whether to sign-extend or use the last ip.  However that also
meant the code had to be adjusted in a number of places.

Currently hardware is not using the new compression types, so this fix
has no effect on existing hardware.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/r/1469005206-3049-1-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c
tools/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.c