host-restart: set restart reason on mpreboot

When a memory preserving reboot (caused by a host firmware crash) is the
reason for a host restart, ensure the RestartCause is set appropriately.

This property is used by other software on some systems to guide
partition behaviors in the host code.

The phosphor-state-manager software is responsible for resetting the
RestartCause when the host is powered off.

Tested:
- Verified RestartCause was correctly set to Host.RestartCause.HostCrash
  when executing the service.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ia99b13f8ee1267dcd2adb3edd0f29eea106043b2
diff --git a/service_files/op-enter-mpreboot@.service.in b/service_files/op-enter-mpreboot@.service.in
index 61860a3..b639f32 100644
--- a/service_files/op-enter-mpreboot@.service.in
+++ b/service_files/op-enter-mpreboot@.service.in
@@ -16,6 +16,7 @@
 ExecStart=/usr/bin/openpower-proc-control enterMpReboot
 ExecStart=/bin/mkdir -p /run/openbmc/
 ExecStart=/bin/touch /run/openbmc/mpreboot@%i
+ExecStart=/bin/sh -c "busctl set-property  xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host%i xyz.openbmc_project.State.Host RestartCause s  xyz.openbmc_project.State.Host.RestartCause.HostCrash"
 
 [Install]
 WantedBy=obmc-host-diagnostic-mode@%i.target