Chip Data XML for TOD fault errors
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
Change-Id: I92fbf438f6efd167c9e83ca4a861fa3ac00547c5
diff --git a/test/simulator/simulator.cpp b/test/simulator/simulator.cpp
index 6bc3106..bca2b99 100644
--- a/test/simulator/simulator.cpp
+++ b/test/simulator/simulator.cpp
@@ -79,8 +79,7 @@
IsolationData isoData{};
isolate(iv_chipList, isoData);
- /* TODO: Currently used for debug. Eventually, we want this and the
- * signature list written to file.
+ /* TODO: Currently used for debug. Eventually, we want this written to file.
for (const auto& e : isoData.getRegisterDump())
{
HEI_INF("Chip: %s", (const char*)e.first.getChip());
@@ -102,6 +101,15 @@
std::sort(iv_expSigList.begin(), iv_expSigList.end());
std::sort(givenSigList.begin(), givenSigList.end());
+ /* TODO: Currently used for debug. Eventually, we want this written to file.
+ for (const auto& s : givenSigList)
+ {
+ HEI_INF("Signature: %s 0x%04x %u %u %u",
+ (const char*)s.getChip().getChip(), s.getId(), s.getInstance(),
+ s.getBit(), s.getAttnType());
+ }
+ */
+
ASSERT_TRUE(std::equal(givenSigList.begin(), givenSigList.end(),
iv_expSigList.begin()));
diff --git a/test/simulator/testcases/meson.build b/test/simulator/testcases/meson.build
index 601a2f1..6aabb36 100644
--- a/test/simulator/testcases/meson.build
+++ b/test/simulator/testcases/meson.build
@@ -4,5 +4,6 @@
'exp20_foxhound7.cpp',
'exp20_tlx_err_rpt_1.cpp',
'omi_dl_fatal.cpp',
+ 'tod_fault.cpp',
)
diff --git a/test/simulator/testcases/tod_fault.cpp b/test/simulator/testcases/tod_fault.cpp
new file mode 100644
index 0000000..1d03883
--- /dev/null
+++ b/test/simulator/testcases/tod_fault.cpp
@@ -0,0 +1,26 @@
+#include "simulator.hpp"
+
+START_TEST_CASE(tod_fault)
+
+CHIP(proc0, P10_20)
+
+START_ITERATION
+
+REG_SCOM(proc0, 0x570F001C, 0x4000000000000000) // GLOBAL_CS_FIR[1]
+REG_SCOM(proc0, 0x570F001B, 0x4000000000000000) // GLOBAL_RE_FIR[1]
+REG_SCOM(proc0, 0x01040000, 0x0800000000000000) // TP_CHIPLET_CS_FIR[4]
+REG_SCOM(proc0, 0x01040001, 0x0800000000000000) // TP_CHIPLET_RE_FIR[4]
+REG_SCOM(proc0, 0x01040100, 0x0000007000000000) // TP_LOCAL_FIR[25:27]
+REG_SCOM(proc0, 0x01040103, 0x0000001000000000) // TP_LOCAL_FIR_MASK
+REG_SCOM(proc0, 0x01040107, 0x0000002000000000) // TP_LOCAL_FIR_ACT1
+
+REG_SCOM(proc0, 0x00040030, 0xf000000000000000) // TOD_ERROR
+REG_SCOM(proc0, 0x00040032, 0xc000000000000000) // TOD_ERROR_MASK
+REG_SCOM(proc0, 0x00040033, 0xa000000000000000) // TOD_ERROR_ROUTING
+
+EXP_SIG(proc0, 0x7d9b, 0, 3, CHECKSTOP)
+EXP_SIG(proc0, 0xdf2a, 0, 26, RECOVERABLE)
+
+END_ITERATION
+
+END_TEST_CASE