diff options
author | David Vrabel <david.vrabel@citrix.com> | 2012-10-03 11:11:06 +0100 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2012-10-03 11:11:06 +0100 |
commit | 86b35acb001f977eb1f82df6c07edaef173f4232 (patch) | |
tree | a3c9bf5a4638b702a19a7b9ac630a1550d83883b /xen/include/xen/trace.h | |
parent | 4e6967a47ad4caa3af3ada3045fb278a53fd202b (diff) | |
download | xen-86b35acb001f977eb1f82df6c07edaef173f4232.tar.gz xen-86b35acb001f977eb1f82df6c07edaef173f4232.tar.bz2 xen-86b35acb001f977eb1f82df6c07edaef173f4232.zip |
trace: improve usefulness of hypercall trace record
Trace hypercalls using a more useful trace record format.
The EIP field is removed (it was always somewhere in the hypercall
page) and include selected hypercall arguments (e.g., the number of
calls in a multicall, and the number of PTE updates in an mmu_update
etc.). 12 bits in the first extra word are used to indicate which
arguments are present in the record and what size they are (32 or
64-bit).
This is an incompatible record format so a new event ID is used so
tools can distinguish between the two formats.
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 'xen/include/xen/trace.h')
-rw-r--r-- | xen/include/xen/trace.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h index b32f6c5803..f601aebbea 100644 --- a/xen/include/xen/trace.h +++ b/xen/include/xen/trace.h @@ -44,6 +44,8 @@ static inline void trace_var(u32 event, int cycles, int extra, __trace_var(event, cycles, extra, extra_data); } +void __trace_hypercall(unsigned long call, const unsigned long *args); + /* Convenience macros for calling the trace function. */ #define TRACE_0D(_e) \ do { \ |