qemu/include/hw/misc/pvpanic.h
Thomas Weißschuh 6269086b01 hw/misc/pvpanic: add support for normal shutdowns
Shutdown requests are normally hardware dependent.
By extending pvpanic to also handle shutdown requests, guests can
submit such requests with an easily implementable and cross-platform
mechanism.

Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Message-Id: <20240527-pvpanic-shutdown-v8-5-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2024-07-01 17:16:04 -04:00

44 lines
952 B
C

/*
* QEMU simulated pvpanic device.
*
* Copyright Fujitsu, Corp. 2013
*
* Authors:
* Wen Congyang <wency@cn.fujitsu.com>
* Hu Tao <hutao@cn.fujitsu.com>
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*
*/
#ifndef HW_MISC_PVPANIC_H
#define HW_MISC_PVPANIC_H
#include "exec/memory.h"
#include "qom/object.h"
#include "standard-headers/misc/pvpanic.h"
#define PVPANIC_EVENTS (PVPANIC_PANICKED | \
PVPANIC_CRASH_LOADED | \
PVPANIC_SHUTDOWN)
#define TYPE_PVPANIC_ISA_DEVICE "pvpanic"
#define TYPE_PVPANIC_PCI_DEVICE "pvpanic-pci"
#define PVPANIC_IOPORT_PROP "ioport"
/*
* PVPanicState for any device type
*/
typedef struct PVPanicState PVPanicState;
struct PVPanicState {
MemoryRegion mr;
uint8_t events;
};
void pvpanic_setup_io(PVPanicState *s, DeviceState *dev, unsigned size);
#endif