[PATCH 4/4] btrace, pt: support new packets

Markus Metzger
2015-07-08T12:54:45Z

Add support for dumping new Intel(R) Processor Trace packets in the
"maint btrace packet-history" command.

2015-07-08 Markus Metzger <markus.t.metzger@intel.com>

gdb/
* btrace.c (pt_print_packet): Print stop, vmcs, tma, mtc, cyc, and
mnt packets.
---
gdb/btrace.c | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gdb/btrace.c b/gdb/btrace.c
index 1618e55..731d237 100644
--- a/gdb/btrace.c
+++ b/gdb/btrace.c
@@ -2309,7 +2309,8 @@ pt_print_packet (const struct pt_packet *packet)
break;

case ppt_pip:
- printf_unfiltered (("pip %" PRIx64 ""), packet->payload.pip.cr3);
+ printf_unfiltered (("pip %" PRIx64 "%s"), packet->payload.pip.cr3,
+ packet->payload.pip.nr ? (" nr") : (""));
break;

case ppt_tsc:
@@ -2349,6 +2350,30 @@ pt_print_packet (const struct pt_packet *packet)
printf_unfiltered (("ovf"));
break;

+ case ppt_stop:
+ printf_unfiltered (("stop"));
+ break;
+
+ case ppt_vmcs:
+ printf_unfiltered (("vmcs %" PRIx64 ""), packet->payload.vmcs.base);
+ break;
+
+ case ppt_tma:
+ printf_unfiltered (("tma %x %x"), packet->payload.tma.ctc,
+ packet->payload.tma.fc);
+ break;
+
+ case ppt_mtc:
+ printf_unfiltered (("mtc %x"), packet->payload.mtc.ctc);
+ break;
+
+ case ppt_cyc:
+ printf_unfiltered (("cyc %" PRIx64 ""), packet->payload.cyc.value);
+ break;
+
+ case ppt_mnt:
+ printf_unfiltered (("mnt %" PRIx64 ""), packet->payload.mnt.payload);
+ break;
}
}

--
1.8.3.1