summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2016-05-15 12:03:54 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-06-24 10:56:44 -0400
commitaa513a3a39202bcbc5294cd1ef6618ecbe151bf8 (patch)
tree03a13ac3ed32fe5d30027a25e1033912f5698cc0 /src/include
parent7e8f95823e071367bc17bb95113239324f06e5d5 (diff)
downloadtalos-hostboot-aa513a3a39202bcbc5294cd1ef6618ecbe151bf8.tar.gz
talos-hostboot-aa513a3a39202bcbc5294cd1ef6618ecbe151bf8.zip
FSPless continous tracing support
- Updated trace daemon to output trace buf addr, size to mbox scratch 1, 2 - Moved enable disable of continous trace to "istep" control - Updated istep tool to dump traces to file and commandline Change-Id: I2d9f48f5ed9878591ff9ab45fa18a98fc286ac1f RTC:127346 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24565 Tested-by: Jenkins Server Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: FSP CI Jenkins Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/isteps/spless_255list.H100
-rw-r--r--src/include/usr/trace/trace.H13
2 files changed, 113 insertions, 0 deletions
diff --git a/src/include/usr/isteps/spless_255list.H b/src/include/usr/isteps/spless_255list.H
new file mode 100644
index 000000000..5bfca668a
--- /dev/null
+++ b/src/include/usr/isteps/spless_255list.H
@@ -0,0 +1,100 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/isteps/spless_255list.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2012,2016 */
+/* [+] 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. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+#ifndef __ISTEPS_SPLESS_255LIST_H
+#define __ISTEPS_SPLESS_255LIST_H
+
+/**
+ * @file spless_255list.H
+ *
+ * This file DOES NOT contain real isteps. It contains control "isteps"
+ * for the SP Less communication/control path
+ *
+ * Please see the note in initsvcstructs.H for description of
+ * the ISTEPNAME macro.
+ *
+ */
+
+#include <initservice/initsvcstructs.H>
+#include <initservice/initsvcreasoncodes.H>
+#include <config.h>
+
+
+/**
+ * The following isteps are not used as normal isteps, but instead
+ * are for SPless communication/control of Hostboot. This is "weird"
+ * as it is not the normal use of isteps, but it takes advantage of
+ * an existing communication path, without adding a lot of extra
+ * code into hostboot.
+ *
+ * NOTE: These isteps are NEVER used for mainline boot and are only
+ * used for FSP Less communication
+ */
+
+namespace INITSERVICE
+{
+
+ // These constants are used by HB to handle the out of band
+ // "isteps". Note that the actual numbers must be in the
+ // Task info list so they get properly parsed into the
+ // isteplist.csv file
+ const uint8_t CONTROL_ISTEP = 0xFF;
+ const uint8_t CTL_CONT_TRACE_DISABLE = 0x00;
+ const uint8_t CTL_CONT_TRACE_ENABLE = 0x01;
+ const uint8_t FLUSH_TRACE_BUFS = 0x02;
+
+
+ const TaskInfo g_istep255[] = {
+ {
+ ISTEPNAME(255,0, "cont_trace_disable"),
+ NULL,
+ { NONE, EXT_IMAGE, IPL_NOOP, false }
+ },
+ {
+ ISTEPNAME(255,1, "cont_trace_enable"),
+ NULL,
+ { NONE, EXT_IMAGE, IPL_NOOP, false }
+ },
+ {
+ ISTEPNAME(255,2, "flush_trace_bufs"),
+ NULL,
+ { NONE, EXT_IMAGE, IPL_NOOP, false }
+ },
+};
+
+const DepModInfo g_istep255Dependancies = {
+ {
+ NULL
+ }
+};
+
+const ExtTaskInfo g_istep255TaskList = {
+ &(g_istep255[0]),
+ ( sizeof(g_istep255)/sizeof(TaskInfo) ),
+ &g_istep255Dependancies
+};
+
+}; // end namespace
+
+#endif
diff --git a/src/include/usr/trace/trace.H b/src/include/usr/trace/trace.H
index d01003650..c934d18e7 100644
--- a/src/include/usr/trace/trace.H
+++ b/src/include/usr/trace/trace.H
@@ -181,6 +181,19 @@ namespace TRACE
*/
void flushBuffers();
+#ifndef __HOSTBOOT_RUNTIME
+ /**
+ * @brief Enable Continuous trace mode
+ * no-op for runtime
+ */
+ void enableContinousTrace();
+
+ /**
+ * @brief Disable Continuous trace mode
+ * no-op for runtime
+ */
+ void disableContinousTrace();
+#endif
/**
* @brief Return if debug trace is enabled for input trace descriptor
*
OpenPOWER on IntegriCloud