[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL v2 24/43] memory-device: document MemoryDeviceClass
From: |
Eduardo Habkost |
Subject: |
[Qemu-ppc] [PULL v2 24/43] memory-device: document MemoryDeviceClass |
Date: |
Thu, 25 Oct 2018 10:32:42 -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 v2 10/43] hw/mips/gt64xxx_pci: Convert gt64120_reset() function into Device reset method, (continued)
- [Qemu-ppc] [PULL v2 10/43] hw/mips/gt64xxx_pci: Convert gt64120_reset() function into Device reset method, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 19/43] memory-device: improve "range conflicts" error message, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 14/43] hw/hppa/dino: Remove unuseful code, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 15/43] hw/mips/malta: Remove unuseful code, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 12/43] hw/sparc64/niagara: Model the I/O Bridge with the 'unimplemented_device', Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 18/43] memory-device: fix error message when hinted address is too small, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 22/43] memory-device: introduce separate config option, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 21/43] memory-device: use memory device terminology in error messages, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 23/43] memory-device: forward errors in get_region_size()/get_plugged_size(), Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 16/43] machine: fix a typo, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 24/43] memory-device: document MemoryDeviceClass,
Eduardo Habkost <=
- [Qemu-ppc] [PULL v2 25/43] memory-device: add and use memory_device_get_region_size(), Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 26/43] memory-device: factor out get_memory_region() from pc-dimm, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 27/43] memory-device: drop get_region_size(), Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 28/43] memory-device: add device class function set_addr(), Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 29/43] memory-device: complete factoring out pre_plug handling, Eduardo Habkost, 2018/10/25
- [Qemu-ppc] [PULL v2 11/43] hw/mips/gt64xxx_pci: Mark as bridge device, Eduardo Habkost, 2018/10/25
- Re: [Qemu-ppc] [PULL v2 00/43] Machine queue, 2018-10-25, Peter Maydell, 2018/10/26