[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL 25/45] memory-device: document MemoryDeviceClass
From: |
Eduardo Habkost |
Subject: |
[Qemu-ppc] [PULL 25/45] memory-device: document MemoryDeviceClass |
Date: |
Thu, 18 Oct 2018 17:04:02 -0300 |
From: David Hildenbrand <address@hidden>
Document the functions. Don't document get_region_size(), as we will be
dropping/replacing that one soon.
Use same documentation style as in include/exec/memory.h, but don't
document the parameters, as they are self-explanatory.
Reviewed-by: David Gibson <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
include/hw/mem/memory-device.h | 36 ++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-device.h
index f02b229837..0474a3dd11 100644
--- a/include/hw/mem/memory-device.h
+++ b/include/hw/mem/memory-device.h
@@ -29,12 +29,48 @@ typedef struct MemoryDeviceState {
Object parent_obj;
} MemoryDeviceState;
+/**
+ * MemoryDeviceClass:
+ *
+ * All memory devices need to implement TYPE_MEMORY_DEVICE as an interface.
+ *
+ * A memory device is a device that owns a memory region which is
+ * mapped into guest physical address space at a certain address. The
+ * address in guest physical memory can either be specified explicitly
+ * or get assigned automatically.
+ */
typedef struct MemoryDeviceClass {
+ /* private */
InterfaceClass parent_class;
+ /*
+ * Return the address of the memory device in guest physical memory.
+ *
+ * Called when (un)plugging a memory device or when iterating over
+ * all memory devices mapped into guest physical address space.
+ *
+ * If "0" is returned, no address has been specified by the user and
+ * no address has been assigned to this memory device yet.
+ */
uint64_t (*get_addr)(const MemoryDeviceState *md);
+
+ /*
+ * Return the amount of memory provided by the memory device currently
+ * usable ("plugged") by the VM.
+ *
+ * Called when calculating the total amount of ram available to the
+ * VM (e.g. to report memory stats to the user).
+ *
+ * This is helpful for devices that dynamically manage the amount of
+ * memory accessible by the guest via the reserved memory region. For
+ * most devices, this corresponds to the size of the memory region.
+ */
uint64_t (*get_plugged_size)(const MemoryDeviceState *md, Error **errp);
uint64_t (*get_region_size)(const MemoryDeviceState *md, Error **errp);
+
+ /*
+ * Translate the memory device into #MemoryDeviceInfo.
+ */
void (*fill_device_info)(const MemoryDeviceState *md,
MemoryDeviceInfo *info);
} MemoryDeviceClass;
--
2.18.0.rc1.1.g3f1ff2140
- [Qemu-ppc] [PULL 17/45] machine: fix a typo, (continued)
- [Qemu-ppc] [PULL 17/45] machine: fix a typo, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 18/45] memory-device: fix alignment error message, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 19/45] memory-device: fix error message when hinted address is too small, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 20/45] memory-device: improve "range conflicts" error message, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 21/45] pc-dimm: pass PCDIMMDevice to pc_dimm_.*plug, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 22/45] memory-device: use memory device terminology in error messages, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 23/45] memory-device: introduce separate config option, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 24/45] memory-device: forward errors in get_region_size()/get_plugged_size(), Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 25/45] memory-device: document MemoryDeviceClass,
Eduardo Habkost <=
- [Qemu-ppc] [PULL 26/45] memory-device: add and use memory_device_get_region_size(), Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 27/45] memory-device: factor out get_memory_region() from pc-dimm, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 29/45] memory-device: add device class function set_addr(), Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 28/45] memory-device: drop get_region_size(), Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 31/45] memory-device: complete factoring out plug handling, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 30/45] memory-device: complete factoring out pre_plug handling, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 32/45] memory-device: complete factoring out unplug handling, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 33/45] memory-device: trace when pre_plugging/plugging/unplugging, Eduardo Habkost, 2018/10/18
- [Qemu-ppc] [PULL 34/45] net: etraxfs_eth: convert SysBus init method to a realize method, Eduardo Habkost, 2018/10/18