ipmi: Add a force off function
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>
This commit is contained in:
parent
44d3db0d96
commit
ad2a807718
@ -30,6 +30,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "qemu/timer.h"
|
#include "qemu/timer.h"
|
||||||
#include "sysemu/char.h"
|
#include "sysemu/char.h"
|
||||||
|
#include "sysemu/sysemu.h"
|
||||||
#include "hw/ipmi/ipmi.h"
|
#include "hw/ipmi/ipmi.h"
|
||||||
|
|
||||||
#define VM_MSG_CHAR 0xA0 /* Marks end of message */
|
#define VM_MSG_CHAR 0xA0 /* Marks end of message */
|
||||||
@ -52,6 +53,7 @@
|
|||||||
#define VM_CAPABILITIES_IRQ 0x04
|
#define VM_CAPABILITIES_IRQ 0x04
|
||||||
#define VM_CAPABILITIES_NMI 0x08
|
#define VM_CAPABILITIES_NMI 0x08
|
||||||
#define VM_CAPABILITIES_ATTN 0x10
|
#define VM_CAPABILITIES_ATTN 0x10
|
||||||
|
#define VM_CMD_FORCEOFF 0x09
|
||||||
|
|
||||||
#define TYPE_IPMI_BMC_EXTERN "ipmi-bmc-extern"
|
#define TYPE_IPMI_BMC_EXTERN "ipmi-bmc-extern"
|
||||||
#define IPMI_BMC_EXTERN(obj) OBJECT_CHECK(IPMIBmcExtern, (obj), \
|
#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:
|
case VM_CMD_SEND_NMI:
|
||||||
k->do_hw_op(s, IPMI_SEND_NMI, 0);
|
k->do_hw_op(s, IPMI_SEND_NMI, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VM_CMD_FORCEOFF:
|
||||||
|
qemu_system_shutdown_request();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user