[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH memory v3 4/9] memory: Coreify subregion add functio
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [PATCH memory v3 4/9] memory: Coreify subregion add functionality |
Date: |
Sun, 1 Jun 2014 21:16:16 -0700 |
Split off the core looping code that actually adds subregions into
it's own fn. This prepares support for Memory Region qomification
where setting the MR address or parent via QOM will back onto this more
minimal function.
Signed-off-by: Peter Crosthwaite <address@hidden>
---
memory.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/memory.c b/memory.c
index 1352881..dd0a576 100644
--- a/memory.c
+++ b/memory.c
@@ -1410,18 +1410,15 @@ void memory_region_del_eventfd(MemoryRegion *mr,
memory_region_transaction_commit();
}
-static void memory_region_add_subregion_common(MemoryRegion *mr,
- hwaddr offset,
- MemoryRegion *subregion)
+static void do_memory_region_add_subregion_common(MemoryRegion *subregion)
{
+ hwaddr offset = subregion->addr;
+ MemoryRegion *mr = subregion->parent;
MemoryRegion *other;
memory_region_transaction_begin();
- assert(!subregion->parent);
memory_region_ref(subregion);
- subregion->parent = mr;
- subregion->addr = offset;
QTAILQ_FOREACH(other, &mr->subregions, subregions_link) {
if (subregion->may_overlap || other->may_overlap) {
continue;
@@ -1455,6 +1452,15 @@ done:
memory_region_transaction_commit();
}
+static void memory_region_add_subregion_common(MemoryRegion *mr,
+ hwaddr offset,
+ MemoryRegion *subregion)
+{
+ assert(!subregion->parent);
+ subregion->parent = mr;
+ subregion->addr = offset;
+ do_memory_region_add_subregion_common(subregion);
+}
void memory_region_add_subregion(MemoryRegion *mr,
hwaddr offset,
--
2.0.0
- [Qemu-devel] [PATCH memory v3 0/9] Memory Region QOMification, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 1/9] memory: Simplify mr_add_subregion() if-else, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 2/9] qom: object: Ignore refs/unrefs of NULL, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 3/9] qom: Publish object_resolve_link, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 4/9] memory: Coreify subregion add functionality,
Peter Crosthwaite <=
- [Qemu-devel] [PATCH memory v3 5/9] memory: MemoryRegion: factor out memory region re-adder, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 6/9] memory: MemoryRegion: QOMify, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 7/9] memory: MemoryRegion: Add container and addr props, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 8/9] memory: MemoryRegion: Add may-overlap and priority props, Peter Crosthwaite, 2014/06/02
- [Qemu-devel] [PATCH memory v3 9/9] memory: MemoryRegion: Add size property, Peter Crosthwaite, 2014/06/02
- Re: [Qemu-devel] [PATCH memory v3 0/9] Memory Region QOMification, Peter Maydell, 2014/06/02