diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-08-11 21:06:35 +0000 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-08-11 21:06:35 +0000 |
commit | 6152a04c009b2215bba35fdfe43581ca491d5ac1 (patch) | |
tree | f03aa7f4a8777743065778a7b8118717b438ce16 /xen/include/xen/trace.h | |
parent | 065e90e43a38fa7f8b0c1ed323000956f07adb5e (diff) | |
download | xen-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.h | 9 |
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; |