diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2012-12-06 11:45:58 -0600 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-12-14 11:25:05 -0600 |
| commit | 3e7277d17bdfa91ba4a1ce86f5b206ebe3ee2630 (patch) | |
| tree | 2bab97dc5ed7b333193a77ffb4f20ae902482ba1 /src/usr/trace/daemon | |
| parent | 950ddd853b2044956d82d17ae67bfe222e49fded (diff) | |
| download | talos-hostboot-3e7277d17bdfa91ba4a1ce86f5b206ebe3ee2630.tar.gz talos-hostboot-3e7277d17bdfa91ba4a1ce86f5b206ebe3ee2630.zip | |
ContTrace tool updates for new trace design.
Change-Id: I424ee37b29bf762b8f6a8be73ebbc2f19ba914aa
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2585
Tested-by: Jenkins Server
Reviewed-by: Mark W. Wenning <wenning@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/trace/daemon')
| -rw-r--r-- | src/usr/trace/daemon/daemon.C | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/usr/trace/daemon/daemon.C b/src/usr/trace/daemon/daemon.C index 2a98f70b5..fd426933a 100644 --- a/src/usr/trace/daemon/daemon.C +++ b/src/usr/trace/daemon/daemon.C @@ -27,6 +27,7 @@ #include "../bufferpage.H" #include "../entry.H" #include "../compdesc.H" +#include "../debug.H" #include <initservice/taskargs.H> #include <initservice/initserviceif.H> @@ -308,6 +309,9 @@ namespace TRACEDAEMON void Daemon::sendContBuffer(void* i_buffer, size_t i_size) { + // Write debug structure with buffer information. + g_debugSettings.bufferSize = i_size; + g_debugSettings.bufferPage = i_buffer; // Write scratch register indicating continuous trace is available. writeScratchReg(1ull << 32); @@ -322,7 +326,14 @@ namespace TRACEDAEMON TARGETING::SpFunctions spFunctions = sys->getAttr<TARGETING::ATTR_SP_FUNCTIONS>(); - if (!spFunctions.traceContinuous) + // Determine if continuous trace is currently enabled. + bool contEnabled = spFunctions.traceContinuous; + if (g_debugSettings.contTraceOverride != 0) + { + contEnabled = (g_debugSettings.contTraceOverride == 2); + } + + if (!contEnabled) { // Trace isn't enabled so just discard the buffer. free(i_buffer); @@ -341,6 +352,7 @@ namespace TRACEDAEMON { task_yield(); } + free(i_buffer); } } } |

