diff options
author | Jason M. Bills <jason.m.bills@intel.com> | 2019-08-16 22:04:19 +0300 |
---|---|---|
committer | Jason M. Bills <jason.m.bills@linux.intel.com> | 2019-09-06 03:12:31 +0300 |
commit | 7d0e6409f233d2706ab9ac6c837bdb2e15b3c4ce (patch) | |
tree | 99203ff87c4f7a5b22ad2069d6d0ea2c52f72351 | |
parent | 3de7fa0c8477d94dfd7bcbf81b079cb89eba19e3 (diff) | |
download | provingground-7d0e6409f233d2706ab9ac6c837bdb2e15b3c4ce.tar.xz |
Handle SSBThermTrip events on startup
Add support for SSBThermTrip to the error initialization so it
will be logged if the signal is asserted when the monitor starts.
Tested:
Verified that SSBThermtrip behaves the same as previously.
Change-Id: I713641b48659c82c21ba5d20050d7d8c27f6c120
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
-rw-r--r-- | host_error_monitor/src/host_error_monitor.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/host_error_monitor/src/host_error_monitor.cpp b/host_error_monitor/src/host_error_monitor.cpp index 7454a2d..95def48 100644 --- a/host_error_monitor/src/host_error_monitor.cpp +++ b/host_error_monitor/src/host_error_monitor.cpp @@ -106,6 +106,13 @@ static void smiTimeoutLog() "REDFISH_MESSAGE_ARGS=%s", "SMI Timeout", NULL); } +static void ssbThermTripLog() +{ + sd_journal_send("MESSAGE=HostError: SSB thermal trip", "PRIORITY=%i", + LOG_INFO, "REDFISH_MESSAGE_ID=%s", + "OpenBMC.0.1.SsbThermalTrip", NULL); +} + static void initializeErrorState(); static void initializeHostState() { @@ -640,11 +647,7 @@ static void pchThermtripHandler() gpioLineEvent.event_type == gpiod::line_event::FALLING_EDGE; if (pchThermtrip) { - std::cout << "PCH Thermal trip detected \n"; - // log to redfish, call API - sd_journal_send("MESSAGE=SsbThermalTrip: SSB Thermal trip", - "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s", - "OpenBMC.0.1.SsbThermalTrip", NULL); + ssbThermTripLog(); } } pchThermtripEvent.async_wait( @@ -906,6 +909,12 @@ static void initializeErrorState() { smiAssertHandler(); } + + // Handle PCH_BMC_THERMTRIP if it's asserted now + if (pchThermtripLine.get_value() == 0) + { + ssbThermTripLog(); + } } } // namespace host_error_monitor |