aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2023-11-20 11:28:36 +0100
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-01-05 16:20:15 +0100
commitfe5f33d6b086d6911d69dd77abe09b21bdb2ea5f (patch)
treedc78f5ad495be7bc8c57c564216a4ed408809606
parentd3143bd53192d5921cd948e348650eb1f7857da7 (diff)
memory: Have memory_region_init_ram() handler return a boolean
Following the example documented since commit e3fe3988d7 ("error: Document Error API usage rules"), have memory_region_init_ram() return a boolean indicating whether an error is set or not. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Gavin Shan <gshan@redhat.com> Message-Id: <20231120213301.24349-7-philmd@linaro.org>
-rw-r--r--include/exec/memory.h4
-rw-r--r--system/memory.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/include/exec/memory.h b/include/exec/memory.h
index f3a4a76817..b2dce73e7f 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -1582,8 +1582,10 @@ void memory_region_init_iommu(void *_iommu_mr,
* give the RAM block a unique name for migration purposes.
* We should lift this restriction and allow arbitrary Objects.
* If you pass a non-NULL non-device @owner then we will assert.
+ *
+ * Return: true on success, else false setting @errp with error.
*/
-void memory_region_init_ram(MemoryRegion *mr,
+bool memory_region_init_ram(MemoryRegion *mr,
Object *owner,
const char *name,
uint64_t size,
diff --git a/system/memory.c b/system/memory.c
index c1374e9968..45ce6fd6c1 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -3570,7 +3570,7 @@ void mtree_info(bool flatview, bool dispatch_tree, bool owner, bool disabled)
}
}
-void memory_region_init_ram(MemoryRegion *mr,
+bool memory_region_init_ram(MemoryRegion *mr,
Object *owner,
const char *name,
uint64_t size,
@@ -3579,7 +3579,7 @@ void memory_region_init_ram(MemoryRegion *mr,
DeviceState *owner_dev;
if (!memory_region_init_ram_nomigrate(mr, owner, name, size, errp)) {
- return;
+ return false;
}
/* This will assert if owner is neither NULL nor a DeviceState.
* We only want the owner here for the purposes of defining a
@@ -3589,6 +3589,8 @@ void memory_region_init_ram(MemoryRegion *mr,
*/
owner_dev = DEVICE(owner);
vmstate_register_ram(mr, owner_dev);
+
+ return true;
}
void memory_region_init_rom(MemoryRegion *mr,