vmcoreinfo.h (1002B)
1/* 2 * Virtual Machine coreinfo device 3 * 4 * Copyright (C) 2017 Red Hat, Inc. 5 * 6 * Authors: Marc-André Lureau <marcandre.lureau@redhat.com> 7 * 8 * This work is licensed under the terms of the GNU GPL, version 2 or later. 9 * See the COPYING file in the top-level directory. 10 * 11 */ 12#ifndef VMCOREINFO_H 13#define VMCOREINFO_H 14 15#include "hw/qdev-core.h" 16#include "standard-headers/linux/qemu_fw_cfg.h" 17#include "qom/object.h" 18 19#define VMCOREINFO_DEVICE "vmcoreinfo" 20typedef struct VMCoreInfoState VMCoreInfoState; 21DECLARE_INSTANCE_CHECKER(VMCoreInfoState, VMCOREINFO, 22 VMCOREINFO_DEVICE) 23 24typedef struct fw_cfg_vmcoreinfo FWCfgVMCoreInfo; 25 26struct VMCoreInfoState { 27 DeviceState parent_obj; 28 29 bool has_vmcoreinfo; 30 FWCfgVMCoreInfo vmcoreinfo; 31}; 32 33/* returns NULL unless there is exactly one device */ 34static inline VMCoreInfoState *vmcoreinfo_find(void) 35{ 36 Object *o = object_resolve_path_type("", VMCOREINFO_DEVICE, NULL); 37 38 return o ? VMCOREINFO(o) : NULL; 39} 40 41#endif