From 456380bb272d3a301c887eee513a3937cc1f48e1 Mon Sep 17 00:00:00 2001 From: "Jason M. Bills" Date: Tue, 22 Oct 2019 14:01:54 -0700 Subject: Update to internal 10-22-19 Signed-off-by: Jason M. Bills --- ...-watchdog-redfish-format-according-to-EPS.patch | 211 --------------------- 1 file changed, 211 deletions(-) delete mode 100644 meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0004-Standardize-watchdog-redfish-format-according-to-EPS.patch (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0004-Standardize-watchdog-redfish-format-according-to-EPS.patch') diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0004-Standardize-watchdog-redfish-format-according-to-EPS.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0004-Standardize-watchdog-redfish-format-according-to-EPS.patch deleted file mode 100644 index 578fa1257..000000000 --- a/meta-openbmc-mods/meta-common/recipes-phosphor/watchdog/phosphor-watchdog/0004-Standardize-watchdog-redfish-format-according-to-EPS.patch +++ /dev/null @@ -1,211 +0,0 @@ -From 3bead6316f653f14773e65b2f6b8facb08f200e7 Mon Sep 17 00:00:00 2001 -From: Ren Yu -Date: Fri, 9 Aug 2019 14:54:13 +0800 -Subject: [PATCH] Standardize watchdog redfish format according to EPS - -According to EPS and test requirement, change the messageArgs -in redfish about watchdog action and pre-interrupt action and -add timer user display. - -Tested: -Set a watchdog (Timer action and pre-interrupt action both are none). - ipmitool raw 0x06 0x24 0x05 0x00 0x00 0x00 0x30 0x00 -Get the watchdog. - ipmitool mc watchdog get -Start the watchdog. - ipmitool mc watchdog reset -When timer expired, check messageArgs in Redfish with below url: -https://IP/redfish/v1/Systems/system/LogServices/EventLog/Entries. - - "Message": "Host Watchdog Event: Power Cycle - System power cycle due to Watchdog timeout. timer use: SMS/OS", - "MessageArgs": [ - "Power Cycle - System power cycle due to Watchdog timeout. timer use: SMS/OS" - ], - - "Message": "Host Watchdog Event: Timer interrupt - Messaging Interrupt due to Watchdog timeout. timer use: OEM", - "MessageArgs": [ - "Timer interrupt - Messaging Interrupt due to Watchdog timeout. timer use: OEM" - ], - -Signed-off-by: Ren Yu ---- - watchdog.cpp | 127 +++++++++++++++++++++++++++++++++++++++++------------------ - 1 file changed, 89 insertions(+), 38 deletions(-) - -diff --git a/watchdog.cpp b/watchdog.cpp -index bdf65da..7cfcc75 100644 ---- a/watchdog.cpp -+++ b/watchdog.cpp -@@ -25,25 +25,28 @@ const static constexpr char* currentPowerState = "CurrentPowerState"; - const static constexpr char* powerStatusOff = - "xyz.openbmc_project.State.Chassis.PowerState.Off"; - --const static constexpr char* powerActionHardReset = -- "xyz.openbmc_project.State.Watchdog.Action.HardReset"; --const static constexpr char* powerActionOff = -- "xyz.openbmc_project.State.Watchdog.Action.PowerOff"; --const static constexpr char* powerActionPowerCycle = -- "xyz.openbmc_project.State.Watchdog.Action.PowerCycle"; --const static constexpr char* powerActionNone = -- "xyz.openbmc_project.State.Watchdog.Action.None"; --const static constexpr char* preInterruptNoAction = -- "xyz.openbmc_project.State.Watchdog.PreTimeoutInterruptAction.None"; -- --const static constexpr char* hardResteDescription = -- "Hard Reset - System reset due to Watchdog timeout"; -+const static constexpr char* actionDescription = " due to Watchdog timeout"; -+const static constexpr char* hardResetDescription = "Hard Reset - System reset"; - const static constexpr char* powerOffDescription = -- "Power Down - System power down due to Watchdog timeout"; -+ "Power Down - System power down"; - const static constexpr char* powerCycleDescription = -- "Power Cycle - System power cycle due to Watchdog timeout"; -+ "Power Cycle - System power cycle"; - const static constexpr char* timerExpiredDescription = "Timer expired"; --const static constexpr char* preInterruptDescription = "Timer interrupt"; -+ -+const static constexpr char* preInterruptActionNone = -+ "xyz.openbmc_project.State.Watchdog.PreTimeoutInterruptAction.None"; -+ -+const static constexpr char* preInterruptDescriptionSMI = "SMI"; -+const static constexpr char* preInterruptDescriptionNMI = "NMI"; -+const static constexpr char* preInterruptDescriptionMI = "Messaging Interrupt"; -+ -+const static constexpr char* reservedDescription = "Reserved"; -+ -+const static constexpr char* timerUseDescriptionBIOSFRB2 = "BIOS FRB2"; -+const static constexpr char* timerUseDescriptionBIOSPOST = "BIOS/POST"; -+const static constexpr char* timerUseDescriptionOSLoad = "OSLoad"; -+const static constexpr char* timerUseDescriptionSMSOS = "SMS/OS"; -+const static constexpr char* timerUseDescriptionOEM = "OEM"; - - namespace restart - { -@@ -161,54 +164,102 @@ uint64_t Watchdog::interval(uint64_t value) - void Watchdog::timeOutHandler() - { - PreTimeoutInterruptAction preTimeoutInterruptAction = preTimeoutInterrupt(); -+ std::string preInterruptActionMessageArgs{}; -+ - Action action = expireAction(); - std::string actionMessageArgs{}; - -+ expiredTimerUse(currentTimerUse()); -+ -+ TimerUse timeUser = expiredTimerUse(); -+ std::string timeUserMessage{}; -+ - if (!this->enabled()) - { - action = fallback->action; - } - -- if (convertForMessage(action) == powerActionHardReset) -- { -- actionMessageArgs = hardResteDescription; -- } -- else if (convertForMessage(action) == powerActionOff) -- { -- actionMessageArgs = powerOffDescription; -- } -- else if (convertForMessage(action) == powerActionPowerCycle) -+ switch (timeUser) - { -- actionMessageArgs = powerCycleDescription; -+ case Watchdog::TimerUse::BIOSFRB2: -+ timeUserMessage = timerUseDescriptionBIOSFRB2; -+ break; -+ case Watchdog::TimerUse::BIOSPOST: -+ timeUserMessage = timerUseDescriptionBIOSPOST; -+ break; -+ case Watchdog::TimerUse::OSLoad: -+ timeUserMessage = timerUseDescriptionOSLoad; -+ break; -+ case Watchdog::TimerUse::SMSOS: -+ timeUserMessage = timerUseDescriptionSMSOS; -+ break; -+ case Watchdog::TimerUse::OEM: -+ timeUserMessage = timerUseDescriptionOEM; -+ break; -+ default: -+ timeUserMessage = reservedDescription; -+ break; - } -- else if (convertForMessage(action) == powerActionNone) -- { -- actionMessageArgs = timerExpiredDescription; -- } -- else -+ -+ switch (action) - { -- actionMessageArgs = "Reserved"; -+ case Watchdog::Action::HardReset: -+ actionMessageArgs = std::string(hardResetDescription) + -+ std::string(actionDescription); -+ break; -+ case Watchdog::Action::PowerOff: -+ actionMessageArgs = std::string(powerOffDescription) + -+ std::string(actionDescription); -+ break; -+ case Watchdog::Action::PowerCycle: -+ actionMessageArgs = std::string(powerCycleDescription) + -+ std::string(actionDescription); -+ break; -+ case Watchdog::Action::None: -+ actionMessageArgs = timerExpiredDescription; -+ break; -+ default: -+ actionMessageArgs = reservedDescription; -+ break; - } - - // Log into redfish event log - sd_journal_send("MESSAGE=IPMIWatchdog: Timed out ACTION=%s", - convertForMessage(action).c_str(), "PRIORITY=%i", LOG_INFO, - "REDFISH_MESSAGE_ID=%s", "OpenBMC.0.1.IPMIWatchdog", -- "REDFISH_MESSAGE_ARGS=%s", actionMessageArgs.c_str(), NULL); -+ "REDFISH_MESSAGE_ARGS=%s. timer use: %s", -+ actionMessageArgs.c_str(), timeUserMessage.c_str(), NULL); -+ -+ switch (preTimeoutInterruptAction) -+ { -+ case Watchdog::PreTimeoutInterruptAction::SMI: -+ preInterruptActionMessageArgs = preInterruptDescriptionSMI; -+ break; -+ case Watchdog::PreTimeoutInterruptAction::NMI: -+ preInterruptActionMessageArgs = preInterruptDescriptionNMI; -+ break; -+ case Watchdog::PreTimeoutInterruptAction::MI: -+ preInterruptActionMessageArgs = preInterruptDescriptionMI; -+ break; -+ default: -+ preInterruptActionMessageArgs = reservedDescription; -+ break; -+ } - -- if (preInterruptNoAction != convertForMessage(preTimeoutInterruptAction)) -+ if (preInterruptActionNone != convertForMessage(preTimeoutInterruptAction)) - { - preTimeoutInterruptOccurFlag(true); - - sd_journal_send("MESSAGE=IPMIWatchdog: Pre Timed out Interrupt=%s", - convertForMessage(preTimeoutInterruptAction).c_str(), - "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s", -- "OpenBMC.0.1.IPMIWatchdog", "REDFISH_MESSAGE_ARGS=%s", -- preInterruptDescription, NULL); -+ "OpenBMC.0.1.IPMIWatchdog", -+ "REDFISH_MESSAGE_ARGS=Timer interrupt - %s due to " -+ "Watchdog timeout. timer use: %s", -+ preInterruptActionMessageArgs.c_str(), -+ timeUserMessage.c_str(), NULL); - } - -- expiredTimerUse(currentTimerUse()); -- - auto target = actionTargetMap.find(action); - if (target == actionTargetMap.end()) - { --- -2.7.4 - -- cgit v1.2.3