summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/usr/diag/mdia/mdiasm.C12
-rw-r--r--src/usr/diag/mdia/mdiasm.H7
2 files changed, 16 insertions, 3 deletions
diff --git a/src/usr/diag/mdia/mdiasm.C b/src/usr/diag/mdia/mdiasm.C
index f0af510f9..4e5b6b85d 100644
--- a/src/usr/diag/mdia/mdiasm.C
+++ b/src/usr/diag/mdia/mdiasm.C
@@ -808,10 +808,18 @@ errlHndl_t StateMachine::doMaintCommand(WorkFlowProperties & i_wfp)
ecmdDataBufferBase startAddr(64), endAddr(64);
mss_MaintCmd * cmd = NULL;
+ // starting a maint cmd ... register a timeout monitor
+ TargetHandle_t sys = NULL;
+ targetService().getTopLevelTarget(sys);
+
+ HbSettings hbSettings = sys->getAttr<ATTR_HB_SETTINGS>();
+
+ uint64_t mbaTO =
+ hbSettings.traceContinuous ? MBA_TIMEOUT_LONG : MBA_TIMEOUT;
+
mutex_lock(&iv_mutex);
- // starting a maint cmd ... register a timeout monitor
- uint64_t monitorId = getMonitor().addMonitor(MBA_TIMEOUT);
+ uint64_t monitorId = getMonitor().addMonitor(mbaTO);
i_wfp.timer = monitorId;
i_wfp.timeoutCnt = 0; // reset for new work item
diff --git a/src/usr/diag/mdia/mdiasm.H b/src/usr/diag/mdia/mdiasm.H
index 9299dd123..ebb30fa3f 100644
--- a/src/usr/diag/mdia/mdiasm.H
+++ b/src/usr/diag/mdia/mdiasm.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -41,6 +43,9 @@ namespace MDIA
//MBA timeout value - 30 secs
static const uint64_t MBA_TIMEOUT = 30000000000;
+//Longer MBA timeout to be used when continuous tracing is enabled - 10 min
+static const uint64_t MBA_TIMEOUT_LONG = 600000000000;
+
//Commit an info log for SW timeout every 10 mins
static const uint64_t MBA_TIMEOUT_LOG =
( 10 * 60000000000 ) / MBA_TIMEOUT;
OpenPOWER on IntegriCloud