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