aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/trace.h
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-08-11 21:06:35 +0000
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-08-11 21:06:35 +0000
commit6152a04c009b2215bba35fdfe43581ca491d5ac1 (patch)
treef03aa7f4a8777743065778a7b8118717b438ce16 /xen/include/xen/trace.h
parent065e90e43a38fa7f8b0c1ed323000956f07adb5e (diff)
downloadxen-6152a04c009b2215bba35fdfe43581ca491d5ac1.tar.gz
xen-6152a04c009b2215bba35fdfe43581ca491d5ac1.tar.bz2
xen-6152a04c009b2215bba35fdfe43581ca491d5ac1.zip
Implement event filtering command line options for xentrace.
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com> Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Diffstat (limited to 'xen/include/xen/trace.h')
-rw-r--r--xen/include/xen/trace.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/xen/include/xen/trace.h b/xen/include/xen/trace.h
index 68b51cbfb7..ff391f0ff3 100644
--- a/xen/include/xen/trace.h
+++ b/xen/include/xen/trace.h
@@ -67,6 +67,15 @@ static inline int trace(u32 event, unsigned long d1, unsigned long d2,
if ( (tb_event_mask & event) == 0 )
return 0;
+ /* match class */
+ if ( ((tb_event_mask >> TRC_CLS_SHIFT) & (event >> TRC_CLS_SHIFT)) == 0 )
+ return 0;
+
+ /* then match subclass */
+ if ( (((tb_event_mask >> TRC_SUBCLS_SHIFT) & 0xf )
+ & ((event >> TRC_SUBCLS_SHIFT) & 0xf )) == 0 )
+ return 0;
+
if ( (tb_cpu_mask & (1UL << smp_processor_id())) == 0 )
return 0;