cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

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