qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

virtio-pmem.h (1015B)


      1 /*
      2  * Virtio PMEM device
      3  *
      4  * Copyright (C) 2018-2019 Red Hat, Inc.
      5  *
      6  * Authors:
      7  *  Pankaj Gupta <pagupta@redhat.com>
      8  *  David Hildenbrand <david@redhat.com>
      9  *
     10  * This work is licensed under the terms of the GNU GPL, version 2.
     11  * See the COPYING file in the top-level directory.
     12  */
     13 
     14 #ifndef HW_VIRTIO_PMEM_H
     15 #define HW_VIRTIO_PMEM_H
     16 
     17 #include "hw/virtio/virtio.h"
     18 #include "qapi/qapi-types-machine.h"
     19 #include "qom/object.h"
     20 
     21 #define TYPE_VIRTIO_PMEM "virtio-pmem"
     22 
     23 OBJECT_DECLARE_TYPE(VirtIOPMEM, VirtIOPMEMClass,
     24                     VIRTIO_PMEM)
     25 
     26 #define VIRTIO_PMEM_ADDR_PROP "memaddr"
     27 #define VIRTIO_PMEM_MEMDEV_PROP "memdev"
     28 
     29 struct VirtIOPMEM {
     30     VirtIODevice parent_obj;
     31 
     32     VirtQueue *rq_vq;
     33     uint64_t start;
     34     HostMemoryBackend *memdev;
     35 };
     36 
     37 struct VirtIOPMEMClass {
     38     /* private */
     39     VirtIODevice parent;
     40 
     41     /* public */
     42     void (*fill_device_info)(const VirtIOPMEM *pmem, VirtioPMEMDeviceInfo *vi);
     43     MemoryRegion *(*get_memory_region)(VirtIOPMEM *pmem, Error **errp);
     44 };
     45 
     46 #endif