Support to add capture registers to isolation nodes
Change-Id: I325e6e0ce9846042e5f6e830c5e39702f11d6c2e
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/isolator/hei_isolation_node.hpp b/src/isolator/hei_isolation_node.hpp
index 26424cc..2546a93 100644
--- a/src/isolator/hei_isolation_node.hpp
+++ b/src/isolator/hei_isolation_node.hpp
@@ -2,7 +2,7 @@
#include <hei_includes.hpp>
#include <hei_isolation_data.hpp>
-#include <register/hei_register.hpp>
+#include <register/hei_hardware_register.hpp>
namespace libhei
{
@@ -75,6 +75,12 @@
const Instance_t iv_instance;
/**
+ * The list of register to capture and add to the log for additional
+ * debugging.
+ */
+ std::vector<HardwareRegister::ConstPtr> iv_capRegs;
+
+ /**
* This register could report multiple types of attentions. We can use a
* register 'rule' (value) to find any active attentions for each attention
* type (key). A 'rule', like "register & ~mask", is a combination of
@@ -108,6 +114,17 @@
IsolationData& io_isoData) const;
/**
+ * @brief Adds a hardware register to the list of registers that will be
+ * captured for additional debugging. See iv_capRegs for details.
+ *
+ * This is only intended to be used during initialization of the isolator.
+ * Duplicate registers will be ignored.
+ *
+ * @param The target hardware register.
+ */
+ void addCaptureRegister(HardwareRegister::ConstPtr i_hwReg);
+
+ /**
* @brief Adds a register rule for the given attention type. See iv_rules
* for details.
*