 188f24c2c1
			
		
	
	
		188f24c2c1
		
	
	
	
	
		
			
			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]
		
			
				
	
	
		
			37 lines
		
	
	
		
			868 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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 */
 |