summaryrefslogtreecommitdiffstats
path: root/softoff/softoff.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'softoff/softoff.cpp')
-rw-r--r--softoff/softoff.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/softoff/softoff.cpp b/softoff/softoff.cpp
index 3505e5a..bd6a72d 100644
--- a/softoff/softoff.cpp
+++ b/softoff/softoff.cpp
@@ -13,10 +13,30 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+#include "softoff.hpp"
namespace phosphor
{
namespace ipmi
{
- // Will be populated in the next patchset.
+
+// Need this to send SMS_ATTN
+constexpr auto HOST_IPMI_BUS = "org.openbmc.HostIpmi";
+constexpr auto HOST_IPMI_OBJ = "/org/openbmc/HostIpmi/1";
+constexpr auto HOST_IPMI_INTF = "org.openbmc.HostIpmi";
+
+/** @brief Send the SMS_ATN to host if value is set */
+void SoftPowerOff::sendSMSAttn()
+{
+ auto method = bus.new_method_call(HOST_IPMI_BUS,
+ HOST_IPMI_OBJ,
+ HOST_IPMI_INTF,
+ "setAttention");
+
+ // If there is any exception, would be thrown here.
+ // BT returns '0' on success and bus_error on failure.
+ bus.call_noreply(method);
+
+ return;
+}
} // namespace ipmi
} // namespace phosphor
OpenPOWER on IntegriCloud