Attn: Add support for raw pel symptom-id
Update raw pel symptom-id based on TI info data.
Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I501938e0fc9dba189999ab1491d23acd15628068
diff --git a/attn/attn_logging.cpp b/attn/attn_logging.cpp
index 3395c19..a9be924 100644
--- a/attn/attn_logging.cpp
+++ b/attn/attn_logging.cpp
@@ -235,6 +235,21 @@
std::min(srcString.size(), pel::asciiStringSize), 0);
tiPel->setAsciiString(srcChars); // pel object src is char array
+
+ // set symptom-id
+ auto symptomId = (i_additional["SrcAscii"].substr(0, 8) + '_');
+
+ symptomId += (i_additional["0x10 SRC Word 12"]);
+ symptomId += (i_additional["0x14 SRC Word 13"] + '_');
+ symptomId += (i_additional["0x18 SRC Word 14"]);
+ symptomId += (i_additional["0x1c SRC Word 15"] + '_');
+ symptomId += (i_additional["0x20 SRC Word 16"]);
+ symptomId += (i_additional["0x24 SRC Word 17"] + '_');
+ symptomId += (i_additional["0x28 SRC Word 18"]);
+ symptomId += (i_additional["0x2c SRC Word 19"]);
+
+ // setSymptomId will take care of required null-terminate and padding
+ tiPel->setSymptomId(symptomId);
}
else
{
@@ -265,6 +280,21 @@
std::min(srcString.size(), pel::asciiStringSize), 0);
tiPel->setAsciiString(srcChars); // pel object src is char array
+
+ // set symptom-id
+ auto symptomId = (i_additional["SrcAscii"].substr(0, 8) + '_');
+
+ symptomId += (i_additional["0x10 HB Word 0"]); // note: word 1
+ symptomId += (i_additional["0x14 HB Word 2"] + '_'); // does not exist
+ symptomId += (i_additional["0x18 HB Word 3"]);
+ symptomId += (i_additional["0x1c HB Word 4"] + '_');
+ symptomId += (i_additional["0x20 HB Word 5"]);
+ symptomId += (i_additional["0x24 HB Word 6"] + '_');
+ symptomId += (i_additional["0x28 HB Word 7"]);
+ symptomId += (i_additional["0x2c HB Word 8"]);
+
+ // setSymptomId will take care of required null-terminate and padding
+ tiPel->setSymptomId(symptomId);
}
// set severity, event type and action flags