diff options
author | David Hildenbrand <david@redhat.com> | 2023-06-22 12:18:23 +0200 |
---|---|---|
committer | Maciej S. Szmigiero <maciej.szmigiero@oracle.com> | 2023-11-03 20:26:59 +0100 |
commit | 6c1b28e9e405da8cfb7296b9efa2b85650086784 (patch) | |
tree | 082f57ac757c83839d79c900539ff6e225dfe10d /include | |
parent | d762bf97931b58839316b68a570eecc6143c9e3e (diff) | |
download | qemu-6c1b28e9e405da8cfb7296b9efa2b85650086784.zip qemu-6c1b28e9e405da8cfb7296b9efa2b85650086784.tar.gz qemu-6c1b28e9e405da8cfb7296b9efa2b85650086784.tar.bz2 |
memory-device: Support empty memory devices
Let's support empty memory devices -- memory devices that don't have a
memory device region in the current configuration. hv-balloon with an
optional memdev is the primary use case.
Signed-off-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/mem/memory-device.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/hw/mem/memory-device.h b/include/hw/mem/memory-device.h index 3354d6c..a1d62cc 100644 --- a/include/hw/mem/memory-device.h +++ b/include/hw/mem/memory-device.h @@ -38,6 +38,10 @@ typedef struct MemoryDeviceState MemoryDeviceState; * address in guest physical memory can either be specified explicitly * or get assigned automatically. * + * Some memory device might not own a memory region in certain device + * configurations. Such devices can logically get (un)plugged, however, + * empty memory devices are mostly ignored by the memory device code. + * * Conceptually, memory devices only span one memory region. If multiple * successive memory regions are used, a covering memory region has to * be provided. Scattered memory regions are not supported for single @@ -91,7 +95,8 @@ struct MemoryDeviceClass { uint64_t (*get_plugged_size)(const MemoryDeviceState *md, Error **errp); /* - * Return the memory region of the memory device. + * Return the memory region of the memory device. If the device is + * completely empty, returns NULL without an error. * * Called when (un)plugging the memory device, to (un)map the * memory region in guest physical memory, but also to detect the |