From 37fdfe4c0083c2a6c8558c76e2bc4fbc77df7d91 Mon Sep 17 00:00:00 2001 From: Markus Metzger Date: Thu, 2 Jul 2015 15:16:09 +0200 Subject: [PATCH] btrace, pt: support new packets Add support for dumping new Intel(R) Processor Trace packets in the "maint btrace packet-history" command. gdb/ * btrace.c (pt_print_packet): Print stop, vmcs, tma, mtc, cyc, and mnt packets. --- gdb/ChangeLog | 5 +++++ gdb/btrace.c | 27 ++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1fcf223df2..2e8de896ae 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2015-07-09 Markus Metzger + + * btrace.c (pt_print_packet): Print stop, vmcs, tma, mtc, cyc, and + mnt packets. + 2015-07-09 Markus Metzger * btrace.c (btrace_pt_readmem_callback): Change type of PC argument. diff --git a/gdb/btrace.c b/gdb/btrace.c index 1618e55f66..731d2377fa 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; } }