summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2017-08-03 07:19:00 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-08-26 22:02:15 -0400
commitbc6c66c50ca468a5463d3e5232751c4382aa845f (patch)
tree287844db0520bec39715ef9d96f6b1ff90d9d4e6 /src/include
parenta1a37fff41cdb151942e6488bc1b700d2f775e13 (diff)
downloadtalos-hostboot-bc6c66c50ca468a5463d3e5232751c4382aa845f.tar.gz
talos-hostboot-bc6c66c50ca468a5463d3e5232751c4382aa845f.zip
Ability to dump single Target/ATTR via debug interface
Change-Id: I1122a57f6c3e8f47c0ab6a04309da76092e8da41 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44279 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/usr/fapi2/plat_attr_override_sync.H21
-rw-r--r--src/include/usr/initservice/mboxRegs.H1
-rw-r--r--src/include/usr/isteps/spless_255list.H6
-rw-r--r--src/include/usr/util/utilmbox_scratch.H5
4 files changed, 31 insertions, 2 deletions
diff --git a/src/include/usr/fapi2/plat_attr_override_sync.H b/src/include/usr/fapi2/plat_attr_override_sync.H
index 4be640e33..07bcd5a9a 100644
--- a/src/include/usr/fapi2/plat_attr_override_sync.H
+++ b/src/include/usr/fapi2/plat_attr_override_sync.H
@@ -221,10 +221,16 @@ public:
* This is called for ALL FAPI Attributes even if they are
* directly backed into HB targeting
*
+ * @param[in] i_type FAPI type to limit scope to, default none
+ * @param[in] i_fapiPos FAPI pos to limit scope to, default none
+ * @param[in] i_attrHash Attribute hash to limit scope to, default none
+ *
* - The attribute is saved to be synced to debug interface (Cronus)
*
*/
- void triggerAttrSync();
+ void triggerAttrSync(fapi2::TargetType i_type = fapi2::TARGET_TYPE_NONE,
+ uint32_t i_fapiPos = TARGETING::FAPI_POS_NA,
+ uint32_t i_attrHash = 0x0);
/**
* @brief This function will clear all attribute overrides in effect.
@@ -235,7 +241,7 @@ public:
/**
* @brief This function will allow the debug interface to set
- * attribut overrides "dynamically" at any point in the IPL
+ * attribute overrides "dynamically" at any point in the IPL
* between isteps. The debug interface is used to process
* the attributes in the same format as the ATTR_TMP and ATTR_PERM
* PNOR partition binary blobs
@@ -244,6 +250,17 @@ public:
void dynSetAttrOverrides();
/**
+ * @brief This function will allow the debug interface to dump a
+ * specific attribute from a given fapi target type/pos
+ * at any point in the IPL between isteps. The debug interface
+ * is used to process a simple request, and then dump the
+ * atrribute(s) back down the debug interface via same
+ * mechanism as triggerAttrSync
+ *
+ */
+ void dynAttrGet();
+
+ /**
* @brief This function actually sends the FAPI Sync tank attributes
* across the debug interface
*/
diff --git a/src/include/usr/initservice/mboxRegs.H b/src/include/usr/initservice/mboxRegs.H
index 90f639e38..a98cb9305 100644
--- a/src/include/usr/initservice/mboxRegs.H
+++ b/src/include/usr/initservice/mboxRegs.H
@@ -92,6 +92,7 @@ namespace SPLESS
uint32_t allowAttrOverrides :1; //7
uint32_t reserved2 :24; //8:31
} PACKED;
+ // NOTE: Used for debug tool communication during Hostboot IPL
};
// Mailbox Scratch Register 4
diff --git a/src/include/usr/isteps/spless_255list.H b/src/include/usr/isteps/spless_255list.H
index 8eb69b7bd..074e898d5 100644
--- a/src/include/usr/isteps/spless_255list.H
+++ b/src/include/usr/isteps/spless_255list.H
@@ -66,6 +66,7 @@ namespace INITSERVICE
const uint8_t DUMP_FAPI_ATTR = 0x03;
const uint8_t SET_ATTR_OVERRIDES = 0x04;
const uint8_t CLEAR_ATTR_OVERRIDES = 0x05;
+ const uint8_t GET_FAPI_ATTR = 0x06;
const TaskInfo g_istep255[] = {
@@ -99,6 +100,11 @@ namespace INITSERVICE
NULL,
{ NONE, EXT_IMAGE, IPL_NOOP, false }
},
+ {
+ ISTEPNAME(255,6, "get_fapi_attr"),
+ NULL,
+ { NONE, EXT_IMAGE, IPL_NOOP, false }
+ },
};
const DepModInfo g_istep255Dependancies = {
diff --git a/src/include/usr/util/utilmbox_scratch.H b/src/include/usr/util/utilmbox_scratch.H
index ce4fd363d..0849c8c8f 100644
--- a/src/include/usr/util/utilmbox_scratch.H
+++ b/src/include/usr/util/utilmbox_scratch.H
@@ -61,7 +61,12 @@ namespace Util
MSG_TYPE_TRACE = 0x00,
MSG_TYPE_ATTRDUMP = 0x01,
MSG_TYPE_ATTROVERRIDE = 0x02,
+ MSG_TYPE_ATTRGET = 0x03,
+ //ATTR GET control words
+ DEBUG_ATTRGET_FAPI_TYPE = 0x0,
+ DEBUG_ATTRGET_FAPI_POS = 0x1,
+ DEBUG_ATTRGET_HASH = 0x2,
};
/**
OpenPOWER on IntegriCloud