qemu/include/hw/misc/vmcoreinfo.h
<<
>>
Prefs
   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.h"
  16#include "standard-headers/linux/qemu_fw_cfg.h"
  17
  18#define VMCOREINFO_DEVICE "vmcoreinfo"
  19#define VMCOREINFO(obj) OBJECT_CHECK(VMCoreInfoState, (obj), VMCOREINFO_DEVICE)
  20
  21typedef struct fw_cfg_vmcoreinfo FWCfgVMCoreInfo;
  22
  23typedef struct VMCoreInfoState {
  24    DeviceClass parent_obj;
  25
  26    bool has_vmcoreinfo;
  27    FWCfgVMCoreInfo vmcoreinfo;
  28} VMCoreInfoState;
  29
  30/* returns NULL unless there is exactly one device */
  31static inline VMCoreInfoState *vmcoreinfo_find(void)
  32{
  33    Object *o = object_resolve_path_type("", VMCOREINFO_DEVICE, NULL);
  34
  35    return o ? VMCOREINFO(o) : NULL;
  36}
  37
  38#endif
  39