summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorCamVan Nguyen <ctnguyen@us.ibm.com>2011-08-10 22:36:57 -0500
committerCAMVAN T. NGUYEN <ctnguyen@us.ibm.com>2011-08-11 15:37:59 -0500
commit65f04fd6c74f04a3d7b0f11c3f21e634a2b0a9e8 (patch)
treec5f12272ac609434498b80a8afdf61b298d7b9c4 /src/include
parent5adff5335f07858371755b28c00e378f1a0a511e (diff)
downloadtalos-hostboot-65f04fd6c74f04a3d7b0f11c3f21e634a2b0a9e8.tar.gz
talos-hostboot-65f04fd6c74f04a3d7b0f11c3f21e634a2b0a9e8.zip
Optimize trace singleton usage
Change-Id: I0f367b8cb8dd855e21a3d74a7f4a9b29ce7508de Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/247 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/trace/interface.H8
-rw-r--r--src/include/usr/trace/trace.H44
2 files changed, 46 insertions, 6 deletions
diff --git a/src/include/usr/trace/interface.H b/src/include/usr/trace/interface.H
index 5679f7420..0f7fdc9b2 100644
--- a/src/include/usr/trace/interface.H
+++ b/src/include/usr/trace/interface.H
@@ -105,7 +105,7 @@ const uint32_t TRACE_FIELD = 0; //Indicates trace is field
/* a macro w/o the param number suffix. number is calculated from printf string */
#define TRACDCOMP(des,printf_string,args...) \
- TRACE::Trace::getTheInstance().trace_adal_write_all((des),__ALL_HASH(printf_string,-1),__LINE__,TRACE_DEBUG, ##args)
+ TRACE::Trace::trace_adal_write_all((des),__ALL_HASH(printf_string,-1),__LINE__,TRACE_DEBUG, ##args)
/**
@@ -124,7 +124,7 @@ const uint32_t TRACE_FIELD = 0; //Indicates trace is field
*/
#define TRACDBIN(des,printf_string,address,len) \
- TRACE::Trace::getTheInstance().trace_adal_write_bin(des,__ALL_HASH(printf_string,0), \
+ TRACE::Trace::trace_adal_write_bin(des,__ALL_HASH(printf_string,0), \
__LINE__, \
address, \
len, \
@@ -148,7 +148,7 @@ const uint32_t TRACE_FIELD = 0; //Indicates trace is field
/* a macro w/o the param number suffix. number is calculated from printf string */
#define TRACFCOMP(des,printf_string,args...) \
- TRACE::Trace::getTheInstance().trace_adal_write_all((des),__ALL_HASH(printf_string,-1),__LINE__,TRACE_FIELD, ##args)
+ TRACE::Trace::trace_adal_write_all((des),__ALL_HASH(printf_string,-1),__LINE__,TRACE_FIELD, ##args)
/**
@@ -166,7 +166,7 @@ const uint32_t TRACE_FIELD = 0; //Indicates trace is field
* @return void
*/
#define TRACFBIN(des,printf_string,address,len) \
- TRACE::Trace::getTheInstance().trace_adal_write_bin(des,__ALL_HASH(printf_string,0), \
+ TRACE::Trace::trace_adal_write_bin(des,__ALL_HASH(printf_string,0), \
__LINE__, \
address, \
len, \
diff --git a/src/include/usr/trace/trace.H b/src/include/usr/trace/trace.H
index f30f2c0a3..817e1c02f 100644
--- a/src/include/usr/trace/trace.H
+++ b/src/include/usr/trace/trace.H
@@ -16,6 +16,7 @@
#include <trace/interface.H>
#include <util/singleton.H>
#include <sys/sync.h>
+#include <stdarg.h>
/******************************************************************************/
// Globals/Constants
@@ -148,12 +149,13 @@ public:
*
* @return void
*/
- void trace_adal_write_all(trace_desc_t *io_td,
+ static void trace_adal_write_all(trace_desc_t *io_td,
const trace_hash_val i_hash,
const char * i_fmt,
const uint32_t i_line,
const int32_t i_type, ...);
+
/**
* @brief Write binary data out to trace buffer
*
@@ -169,7 +171,7 @@ public:
*
* @return void
*/
- void trace_adal_write_bin(trace_desc_t * io_td,
+ static void trace_adal_write_bin(trace_desc_t * io_td,
const trace_hash_val i_hash,
const uint32_t i_line,
const void *i_ptr,
@@ -292,6 +294,44 @@ private:
Trace(const Trace & right);
Trace & operator=(const Trace & right);
+ /**
+ * @brief Write component trace out to input buffer
+ *
+ * @param [in,out] io_td Trace descriptor of buffer to write to.
+ * @param [in] i_hash Descriptive string hash value
+ * @param [in] i_fmt Formatting string
+ * @param [in] i_line Line number trace was done at
+ * @param [in] i_type Type of trace (TRACE_DEBUG, TRACE_FIELD)
+ * @param [in] i_args Variable argument list
+ *
+ * @return void
+ */
+ void _trace_adal_write_all(trace_desc_t *io_td,
+ const trace_hash_val i_hash,
+ const char * i_fmt,
+ const uint32_t i_line,
+ const int32_t i_type, va_list i_args);
+
+ /**
+ * @brief Write binary data out to trace buffer
+ *
+ * @param [in,out] io_td Trace descriptor of buffer to write to.
+ * @param [in] i_hash Descriptive string hash value
+ * @param [in] i_line Line number trace was done at
+ * @param [in] i_ptr Pointer to binary data
+ * @param [in] i_size Size of binary data
+ * @param [in] i_type Type of trace (TRACE_DEBUG, TRACE_FIELD)
+ *
+ * @return void
+ */
+ void _trace_adal_write_bin(trace_desc_t * io_td,
+ const trace_hash_val i_hash,
+ const uint32_t i_line,
+ const void *i_ptr,
+ const uint32_t i_size,
+ const int32_t i_type);
+
+
// Global Mutex
mutex_t iv_trac_mutex;
OpenPOWER on IntegriCloud