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>
		
			
				
	
	
		
			44 lines
		
	
	
		
			952 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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
 |