diff mbox

[PULL,23/55] ipmi: Add a force off function

Message ID 1450803119-4223-24-git-send-email-mst@redhat.com
State Accepted
Commit ad2a8077188f05155b07489747ea682070eb135f
Headers show

Commit Message

Michael S. Tsirkin Dec. 22, 2015, 4:53 p.m. UTC
From: Corey Minyard <cminyard@mvista.com>


Allow the IPMI interface to request a forced power off.

Signed-off-by: Corey Minyard <cminyard@mvista.com>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

---
 hw/ipmi/ipmi_bmc_extern.c | 6 ++++++
 1 file changed, 6 insertions(+)

-- 
MST
diff mbox

Patch

diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index 05b9121..56073b3 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -30,6 +30,7 @@ 
 #include <stdint.h>
 #include "qemu/timer.h"
 #include "sysemu/char.h"
+#include "sysemu/sysemu.h"
 #include "hw/ipmi/ipmi.h"
 
 #define VM_MSG_CHAR        0xA0 /* Marks end of message */
@@ -52,6 +53,7 @@ 
 #define   VM_CAPABILITIES_IRQ      0x04
 #define   VM_CAPABILITIES_NMI      0x08
 #define   VM_CAPABILITIES_ATTN     0x10
+#define VM_CMD_FORCEOFF            0x09
 
 #define TYPE_IPMI_BMC_EXTERN "ipmi-bmc-extern"
 #define IPMI_BMC_EXTERN(obj) OBJECT_CHECK(IPMIBmcExtern, (obj), \
@@ -268,6 +270,10 @@  static void handle_hw_op(IPMIBmcExtern *ibe, unsigned char hw_op)
     case VM_CMD_SEND_NMI:
         k->do_hw_op(s, IPMI_SEND_NMI, 0);
         break;
+
+    case VM_CMD_FORCEOFF:
+        qemu_system_shutdown_request();
+        break;
     }
 }