From e6710b7ecef38eef8f927fd7fec6ad433bb00ce2 Mon Sep 17 00:00:00 2001 From: Matt Spinler Date: Thu, 12 Jul 2018 16:05:55 -0500 Subject: BMC state manager support for LastRebootTime Use the uptime value to calculate the time of the last BMC reboot when the LastRebootTime property is read. Calculates it on the fly instead of once at startup so that if someone changes the BMC time the value will still be accurate. Resolves openbmc/openbmc#3159 Tested: Verify the property returns the right value. Change-Id: I4bc8d2cdf18c225b24c98d9567d053c3246b7506 Signed-off-by: Matt Spinler --- bmc_state_manager.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bmc_state_manager.hpp') diff --git a/bmc_state_manager.hpp b/bmc_state_manager.hpp index b060ccd..c55c822 100644 --- a/bmc_state_manager.hpp +++ b/bmc_state_manager.hpp @@ -50,6 +50,16 @@ class BMC : public BMCInherit /** @brief Set value of CurrentBMCState **/ BMCState currentBMCState(BMCState value) override; + /** @brief Returns the last time the BMC was rebooted + * + * @details Uses uptime information to determine when + * the BMC was last rebooted. + * + * @return uint64_t - Epoch time, in milliseconds, of the + * last reboot. + */ + uint64_t lastRebootTime() const override; + private: /** * @brief discover the state of the bmc -- cgit v1.2.1