mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
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]
This commit is contained in:
parent
d7933ef3ac
commit
188f24c2c1
5 changed files with 151 additions and 0 deletions
36
include/hw/watchdog/wdt_diag288.h
Normal file
36
include/hw/watchdog/wdt_diag288.h
Normal file
|
@ -0,0 +1,36 @@
|
|||
#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 */
|
Loading…
Add table
Add a link
Reference in a new issue