diff options
author | Michael Walle <michael@walle.cc> | 2011-09-15 23:16:49 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-09-18 14:55:16 +0300 |
commit | 860329b2513cf754c5f7d5400f7bcf5dd1a44489 (patch) | |
tree | 5af633d3cf737902a0b047bcd63e8340a2cd1489 /memory.c | |
parent | be9c4183c44fcde64730446eb76bd68083dfa0db (diff) |
memory: fix subregion collision warning
Instead of the offset property use the proper addr property to calculate
the offsets.
Additionally, be a little more verbose on the warning and print the
subregion name.
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'memory.c')
-rw-r--r-- | memory.c | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -1190,16 +1190,19 @@ static void memory_region_add_subregion_common(MemoryRegion *mr, if (subregion->may_overlap || other->may_overlap) { continue; } - if (offset >= other->offset + other->size - || offset + subregion->size <= other->offset) { + if (offset >= other->addr + other->size + || offset + subregion->size <= other->addr) { continue; } #if 0 - printf("warning: subregion collision %llx/%llx vs %llx/%llx\n", + printf("warning: subregion collision %llx/%llx (%s) " + "vs %llx/%llx (%s)\n", (unsigned long long)offset, (unsigned long long)subregion->size, - (unsigned long long)other->offset, - (unsigned long long)other->size); + subregion->name, + (unsigned long long)other->addr, + (unsigned long long)other->size, + other->name); #endif } QTAILQ_FOREACH(other, &mr->subregions, subregions_link) { |