[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH v4 08/24] memory-device: document Mem
From: |
Auger Eric |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH v4 08/24] memory-device: document MemoryDeviceClass |
Date: |
Sun, 30 Sep 2018 16:43:44 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 |
Hi David,
On 9/26/18 11:42 AM, David Hildenbrand wrote:
> Document the functions and when to not expect errors.
>
> Reviewed-by: David Gibson <address@hidden>
> Signed-off-by: David Hildenbrand <address@hidden>
> ---
> include/hw/mem/memory-device.h | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-device.h
> index f02b229837..1d15cfc357 100644
> --- a/include/hw/mem/memory-device.h
> +++ b/include/hw/mem/memory-device.h
> @@ -29,9 +29,25 @@ typedef struct MemoryDeviceState {
> Object parent_obj;
> } MemoryDeviceState;
>
> +/**> + * MemoryDeviceClass:
> + * @get_addr: The address of the @md in guest physical memory. "0" means that
> + * no address has been specified by the user and that no address has been
> + * assigned yet.
> + * @get_plugged_size: The amount of memory provided by this @md currently
> + * usable ("plugged") by the guest. 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.
> + * @get_region_size: The size of the memory region of the @md that's mapped
> + * in guest physical memory at @get_addr.
> + * @fill_device_info: Translate current @md state into #MemoryDeviceInfo.
I think it may be relevant to document whether all those functions are
mandated or if any are optional.
With respect to the form, you could get inspired of
include/exec/memory.h (see for instance IOMMUMemoryRegionClass doc)
Thanks
Eric
> + */
> typedef struct MemoryDeviceClass {
> + /* private */
> InterfaceClass parent_class;
>
> + /* public */
> uint64_t (*get_addr)(const MemoryDeviceState *md);
> uint64_t (*get_plugged_size)(const MemoryDeviceState *md, Error **errp);
> uint64_t (*get_region_size)(const MemoryDeviceState *md, Error **errp);
>
- Re: [Qemu-ppc] [Qemu-devel] [PATCH v4 04/24] memory-device: handle integer overflows properly, (continued)
[Qemu-ppc] [PATCH v4 05/24] memory-device: use memory device terminology in error messages, David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 06/24] memory-device: introduce separate config option, David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 07/24] memory-device: forward errors in get_region_size()/get_plugged_size(), David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 08/24] memory-device: document MemoryDeviceClass, David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 09/24] memory-device: add and use memory_device_get_region_size(), David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 10/24] memory-device: factor out get_memory_region() from pc-dimm, David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 11/24] memory-device: drop get_region_size(), David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 12/24] memory-device: add device class function set_addr(), David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 13/24] memory-device: complete factoring out pre_plug handling, David Hildenbrand, 2018/09/26
[Qemu-ppc] [PATCH v4 14/24] memory-device: complete factoring out plug handling, David Hildenbrand, 2018/09/26