summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCamVan Nguyen <ctnguyen@us.ibm.com>2011-06-29 12:33:45 -0500
committerCAMVAN T. NGUYEN <ctnguyen@us.ibm.com>2011-07-12 17:20:10 -0500
commit038a9a46895333b86da8ca83c8effd29ff3e76e9 (patch)
treebb7dc0a50338419eb1b3ae80045bdd2d54ce7481 /src
parente3fc77c59a071c009e13acdf4c4b2ce6a718a570 (diff)
downloadtalos-hostboot-038a9a46895333b86da8ca83c8effd29ff3e76e9.tar.gz
talos-hostboot-038a9a46895333b86da8ca83c8effd29ff3e76e9.zip
Define additional trace macros.
Change-Id: Ife9c116413537ff39bc37db47515d1f955dfdcc8 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/161 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/include/usr/trace/interface.H43
-rw-r--r--src/usr/trace/test/tracetest.H42
2 files changed, 84 insertions, 1 deletions
diff --git a/src/include/usr/trace/interface.H b/src/include/usr/trace/interface.H
index 6222f3cfa..742600e90 100644
--- a/src/include/usr/trace/interface.H
+++ b/src/include/usr/trace/interface.H
@@ -101,6 +101,7 @@ const uint32_t TRACE_FIELD = 0; //Indicates trace is field
#define TRACDCOMP(des,printf_string,args...) \
TRACE::Trace::getTheInstance().trace_adal_write_all((des),__ALL_HASH(printf_string,-1),__LINE__,TRACE_DEBUG, ##args)
+
/**
* @fn void TRACDBIN(des,descString,address,length)
* @brief Defines debug binary trace
@@ -164,7 +165,47 @@ const uint32_t TRACE_FIELD = 0; //Indicates trace is field
address, \
len, \
TRACE_FIELD)
-
+
+/**
+ * Field and Debug trace macros
+ * Users must define COMP_TD for their components prior to using macros.
+ * Additionally, users must define COMP_NAMESPACE, COMP_CLASS & COMP_FN
+ * prior to using the ENTER_/EXIT_ macros.
+ * Example:
+ * #define COMP_TD g_my_trace_desc
+ * #define COMP_NAMESPACE "my_namespace"
+ * #define COMP_CLASS "my_class"
+ * #define COMP_FN "my_function"
+ */
+
+#define TRAC_ENTER(args...) \
+ TRACFCOMP(__COMP_TD__, ENTER_MRK args)
+#define TRAC_EXIT(args...) \
+ TRACFCOMP(__COMP_TD__, EXIT_MRK args)
+#define TRAC_INF(args...) \
+ TRACFCOMP(__COMP_TD__, INFO_MRK args)
+#define TRAC_ERR(args...) \
+ TRACFCOMP(__COMP_TD__, ERR_MRK args)
+
+#define TRAC_ENTER_(args...) \
+ TRACFCOMP(__COMP_TD__, ENTER_MRK __COMP_NAMESPACE__ "::" __COMP_CLASS__ "::" __COMP_FN__ " " args)
+#define TRAC_EXIT_(args...) \
+ TRACFCOMP(__COMP_TD__, EXIT_MRK __COMP_NAMESPACE__ "::" __COMP_CLASS__ "::" __COMP_FN__ " " args)
+
+#define DTRAC_ENTER(args...) \
+ TRACDCOMP(__COMP_TD__, ENTER_MRK args)
+#define DTRAC_EXIT(args...) \
+ TRACDCOMP(__COMP_TD__, EXIT_MRK args)
+#define DTRAC_INF(args...) \
+ TRACDCOMP(__COMP_TD__, INFO_MRK args)
+#define DTRAC_ERR(args...) \
+ TRACDCOMP(__COMP_TD__, ERR_MRK args)
+
+#define DTRAC_ENTER_(args...) \
+ TRACDCOMP(__COMP_TD__, ENTER_MRK __COMP_NAMESPACE__ "::" __COMP_CLASS__ "::" __COMP_FN__ " " args)
+#define DTRAC_EXIT_(args...) \
+ TRACDCOMP(__COMP_TD__, EXIT_MRK __COMP_NAMESPACE__ "::" __COMP_CLASS__ "::" __COMP_FN__ " " args)
+
/**
* @fn void TRAC_INIT_BUFFER(des,comp_name, bufferSize)
* @brief Initializes trace buffer for component
diff --git a/src/usr/trace/test/tracetest.H b/src/usr/trace/test/tracetest.H
index 5b8e3d29b..06c9f9ea3 100644
--- a/src/usr/trace/test/tracetest.H
+++ b/src/usr/trace/test/tracetest.H
@@ -146,6 +146,48 @@ public:
}
/**
+ * @test Test trace macros
+ */
+ void testTracMacros(void)
+ {
+ trace_desc_t *g_trac_test = NULL;
+ char l_comp[] = "TEST";
+
+ #define __COMP_TD__ g_trac_test
+ #define __COMP_NAMESPACE__ "TRACE"
+ #define __COMP_CLASS__ "TraceTest"
+ #define __COMP_FN__ "testTracMacros"
+
+ TRAC_INIT_BUFFER(&g_trac_test, l_comp, 4096);
+
+ if(g_trac_test == NULL)
+ {
+ TS_FAIL("g_trac_test was returned as NULL!");
+ }
+ else
+ {
+ TRAC_ENTER("testTracMacros");
+ TRAC_ENTER_();
+ TRAC_INF("Testing Info Mark");
+ TRAC_ERR("Testing Error Mark");
+ TRAC_EXIT("testTracMacros");
+ TRAC_EXIT_();
+
+ DTRAC_ENTER("testTracMacros - Debug Trace");
+ DTRAC_ENTER_(" - Debug Trace");
+ DTRAC_INF("Testing Debug Info Mark");
+ DTRAC_ERR("Testing Debug Error Mark");
+ DTRAC_EXIT("testTracMacros - Debug Trace");
+ DTRAC_EXIT_(" - Debug Trace");
+ }
+
+ #undef __COMP_FN__
+ #undef __COMP_CLASS__
+ #undef __COMP_NAMESPACE__
+ #undef __COMP_TD__
+ }
+
+ /**
* @test Test max number of buffers
*/
void testTracMaxBuffers(void)
OpenPOWER on IntegriCloud