Add Ramoops dump to common create
This commit adjusts the handling of ramoops (RAM OOPS) dumps to use
the common BMC dump creation interface. Previously, when a ramoops
dump was detected, the ramoops manager would inform the dump manager
via an internal D-Bus interface. With the changes in this commit,
upon detecting a ramoops event, the ramoops manager will now request
the dump manager to create a BMC dump, incorporating the relevant
ramoops data, via the common create DBus interface.
Tested:
Create a Ramoops dump
busctl --verbose call xyz.openbmc_project.Dump.Manager \
/xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create \
CreateDump a{sv} 2 "xyz.openbmc_project.Dump.Create.CreateParameters.\
DumpType" s "xyz.openbmc_project.Dump.Create.DumpType.Ramoops" \
"xyz.openbmc_project.Dump.Create.CreateParameters.FilePath" \
s "/tmp/ramoops"
MESSAGE "o" {
OBJECT_PATH "/xyz/openbmc_project/dump/bmc/entry/4";
};
> Initiating new BMC dump with type: ramoops path: /tmp/ramoops
Change-Id: I0437cfa6c63fe261ca9b51f6a90c8183abacd5c7
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
diff --git a/dump_types.cpp b/dump_types.cpp
index 8dcdf15..ac3b31c 100644
--- a/dump_types.cpp
+++ b/dump_types.cpp
@@ -13,10 +13,15 @@
{"xyz.openbmc_project.Dump.Create.DumpType.UserRequested",
{DumpTypes::USER, "BMC_DUMP"}},
{"xyz.openbmc_project.Dump.Create.DumpType.ApplicationCored",
- {DumpTypes::CORE, "BMC_DUMP"}}};
+ {DumpTypes::CORE, "BMC_DUMP"}},
+ {"xyz.openbmc_project.Dump.Create.DumpType.Ramoops",
+ {DumpTypes::RAMOOPS, "BMC_DUMP"}}};
-DUMP_TYPE_TO_STRING_MAP dumpTypeToStringMap = {{DumpTypes::USER, "user"},
- {DumpTypes::CORE, "core"}};
+DUMP_TYPE_TO_STRING_MAP dumpTypeToStringMap = {
+ {DumpTypes::USER, "user"},
+ {DumpTypes::CORE, "core"},
+ {DumpTypes::RAMOOPS, "ramoops"},
+};
std::optional<std::string> dumpTypeToString(const DumpTypes& dumpType)
{