[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v5 08/16] memory-device: document MemoryDeviceClass
From: |
David Hildenbrand |
Subject: |
[Qemu-ppc] [PATCH v5 08/16] memory-device: document MemoryDeviceClass |
Date: |
Fri, 5 Oct 2018 11:20:16 +0200 |
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>
---
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.17.1
- [Qemu-ppc] [PATCH v5 00/16] memory-device: complete refactoring, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 16/16] memory-device: trace when pre_plugging/plugging/unplugging, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 15/16] memory-device: complete factoring out unplug handling, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 14/16] memory-device: complete factoring out plug handling, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 12/16] memory-device: add device class function set_addr(), David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 10/16] memory-device: factor out get_memory_region() from pc-dimm, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 11/16] memory-device: drop get_region_size(), David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 13/16] memory-device: complete factoring out pre_plug handling, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 08/16] memory-device: document MemoryDeviceClass,
David Hildenbrand <=
- [Qemu-ppc] [PATCH v5 09/16] memory-device: add and use memory_device_get_region_size(), David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 04/16] pc-dimm: pass PCDIMMDevice to pc_dimm_.*plug, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 02/16] memory-device: fix error message when hinted address is too small, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 03/16] memory-device: improve "range conflicts" error message, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 07/16] memory-device: forward errors in get_region_size()/get_plugged_size(), David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 05/16] memory-device: use memory device terminology in error messages, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 06/16] memory-device: introduce separate config option, David Hildenbrand, 2018/10/05
- [Qemu-ppc] [PATCH v5 01/16] memory-device: fix alignment error message, David Hildenbrand, 2018/10/05