diff options
Diffstat (limited to 'include/hw/misc/vmcoreinfo.h')
-rw-r--r-- | include/hw/misc/vmcoreinfo.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/include/hw/misc/vmcoreinfo.h b/include/hw/misc/vmcoreinfo.h new file mode 100644 index 000000000..0b7b55d40 --- /dev/null +++ b/include/hw/misc/vmcoreinfo.h @@ -0,0 +1,41 @@ +/* + * Virtual Machine coreinfo device + * + * Copyright (C) 2017 Red Hat, Inc. + * + * Authors: Marc-André Lureau <marcandre.lureau@redhat.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 VMCOREINFO_H +#define VMCOREINFO_H + +#include "hw/qdev-core.h" +#include "standard-headers/linux/qemu_fw_cfg.h" +#include "qom/object.h" + +#define VMCOREINFO_DEVICE "vmcoreinfo" +typedef struct VMCoreInfoState VMCoreInfoState; +DECLARE_INSTANCE_CHECKER(VMCoreInfoState, VMCOREINFO, + VMCOREINFO_DEVICE) + +typedef struct fw_cfg_vmcoreinfo FWCfgVMCoreInfo; + +struct VMCoreInfoState { + DeviceState parent_obj; + + bool has_vmcoreinfo; + FWCfgVMCoreInfo vmcoreinfo; +}; + +/* returns NULL unless there is exactly one device */ +static inline VMCoreInfoState *vmcoreinfo_find(void) +{ + Object *o = object_resolve_path_type("", VMCOREINFO_DEVICE, NULL); + + return o ? VMCOREINFO(o) : NULL; +} + +#endif |