qemu/include/hw/watchdog/wdt_diag288.h
Xu Wang 188f24c2c1 s390x/watchdog: introduce diag288 watchdog device
This patch introduces a new diag288 watchdog device that will, just like
other watchdogs, monitor a guest and take corresponding actions when it
detects that the guest is not responding.

diag288 is s390x specific. The wiring to s390x KVM will be done in
separate patches.

Signed-off-by: Xu Wang <gesaint@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
[split out qemu-option.hx base changes]
2015-06-11 17:45:49 +02:00

37 lines
868 B
C

#ifndef WDT_DIAG288_H
#define WDT_DIAG288_H
#include "hw/qdev.h"
#define TYPE_WDT_DIAG288 "diag288"
#define DIAG288(obj) \
OBJECT_CHECK(DIAG288State, (obj), TYPE_WDT_DIAG288)
#define DIAG288_CLASS(klass) \
OBJECT_CLASS_CHECK(DIAG288Class, (klass), TYPE_WDT_DIAG288)
#define DIAG288_GET_CLASS(obj) \
OBJECT_GET_CLASS(DIAG288Class, (obj), TYPE_WDT_DIAG288)
#define WDT_DIAG288_INIT 0
#define WDT_DIAG288_CHANGE 1
#define WDT_DIAG288_CANCEL 2
typedef struct DIAG288State {
/*< private >*/
DeviceState parent_obj;
QEMUTimer *timer;
bool enabled;
/*< public >*/
} DIAG288State;
typedef struct DIAG288Class {
/*< private >*/
DeviceClass parent_class;
/*< public >*/
int (*handle_timer)(DIAG288State *dev,
uint64_t func, uint64_t timeout);
} DIAG288Class;
#endif /* WDT_DIAG288_H */