aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xentrace
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2012-10-03 11:11:35 +0100
committerDavid Vrabel <david.vrabel@citrix.com>2012-10-03 11:11:35 +0100
commitcaf512bef7b2801c7f11c924b9bdfb8c0840fbe2 (patch)
tree2779aa6b25e6005c8f8761d30af3d4404bde1160 /tools/xentrace
parent86b35acb001f977eb1f82df6c07edaef173f4232 (diff)
downloadxen-caf512bef7b2801c7f11c924b9bdfb8c0840fbe2.tar.gz
xen-caf512bef7b2801c7f11c924b9bdfb8c0840fbe2.tar.bz2
xen-caf512bef7b2801c7f11c924b9bdfb8c0840fbe2.zip
trace: trace hypercalls inside a multicall
Add a trace record for every hypercall inside a multicall. These use a new event ID (with a different sub-class ) so they may be filtered out if only the calls into hypervisor are of interest. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: George Dunlap <george.dunlap@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'tools/xentrace')
-rw-r--r--tools/xentrace/formats1
-rw-r--r--tools/xentrace/xentrace_format3
2 files changed, 3 insertions, 1 deletions
diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index fa935c8d06..928e1d7191 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -105,6 +105,7 @@
0x0020100c CPU%(cpu)d %(tsc)d (+%(reltsc)8d) ptwr_emulation_pae [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
0x0020110c CPU%(cpu)d %(tsc)d (+%(reltsc)8d) ptwr_emulation_pae [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
0x0020100d CPU%(cpu)d %(tsc)d (+%(reltsc)8d) hypercall [ op = 0x%(1)08x ]
+0x0020200e CPU%(cpu)d %(tsc)d (+%(reltsc)8d) hypercall [ op = 0x%(1)08x ]
0x0040f001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) shadow_not_shadow [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
0x0040f101 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) shadow_not_shadow [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
index bdcab096ea..5ff85ae2e8 100644
--- a/tools/xentrace/xentrace_format
+++ b/tools/xentrace/xentrace_format
@@ -112,6 +112,7 @@ last_tsc = [0]
TRC_TRACE_IRQ = 0x1f004
TRC_PV_HYPERCALL_V2 = 0x20100d
+TRC_PV_HYPERCALL_SUBCALL = 0x20100e
NR_VECTORS = 256
irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
@@ -199,7 +200,7 @@ while not interrupted:
d3 = irq_measure[d1]['tot_cycles']
d4 = irq_measure[d1]['max_cycles']
- if event == TRC_PV_HYPERCALL_V2:
+ if event == TRC_PV_HYPERCALL_V2 or event == TRC_PV_HYPERCALL_SUBCALL:
# Mask off the argument present bits.
d1 &= 0x000fffff