Add support for clock callout resolutions
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
Change-Id: I67f02a2fafaa63a0bafaa1116150da35ef4dece1
diff --git a/analyzer/ras-data/ras-data-parser.cpp b/analyzer/ras-data/ras-data-parser.cpp
index 559a947..d59c289 100644
--- a/analyzer/ras-data/ras-data-parser.cpp
+++ b/analyzer/ras-data/ras-data-parser.cpp
@@ -185,13 +185,20 @@
}
else if ("callout_clock" == type)
{
- auto position = a.at("position").get<unsigned int>();
+ auto name = a.at("name").get<std::string>();
auto priority = a.at("priority").get<std::string>();
auto guard = a.at("guard").get<bool>();
- // TODO
- trace::inf("callout_clock: position=%u priority=%s guard=%c",
- position, priority.c_str(), guard ? 'T' : 'F');
+ // clang-format off
+ static const std::map<std::string, callout::ClockType> m =
+ {
+ {"OSC_REF_CLOCK_0", callout::ClockType::OSC_REF_CLOCK_0},
+ {"OSC_REF_CLOCK_1", callout::ClockType::OSC_REF_CLOCK_1},
+ };
+ // clang-format on
+
+ o_list->push(std::make_shared<ClockCalloutResolution>(
+ m.at(name), getPriority(priority), guard));
}
else if ("callout_procedure" == type)
{