diff options
Diffstat (limited to 'memory.c')
-rw-r--r-- | memory.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -396,7 +396,7 @@ static void memory_region_iorange_read(IORange *iorange, *data = ((uint64_t)1 << (width * 8)) - 1; if (mrp) { - *data = mrp->read(mr->opaque, offset - mrp->offset); + *data = mrp->read(mr->opaque, offset); } return; } @@ -418,7 +418,7 @@ static void memory_region_iorange_write(IORange *iorange, const MemoryRegionPortio *mrp = find_portio(mr, offset, width, true); if (mrp) { - mrp->write(mr->opaque, offset - mrp->offset, data); + mrp->write(mr->opaque, offset, data); } return; } @@ -1191,11 +1191,13 @@ static void memory_region_add_subregion_common(MemoryRegion *mr, || offset + subregion->size <= other->offset) { continue; } +#if 0 printf("warning: subregion collision %llx/%llx vs %llx/%llx\n", (unsigned long long)offset, (unsigned long long)subregion->size, (unsigned long long)other->offset, (unsigned long long)other->size); +#endif } QTAILQ_FOREACH(other, &mr->subregions, subregions_link) { if (subregion->priority >= other->priority) { |