plugins: Fix physical address calculation for IO regions
The address calculation for IO regions introduced by commit 787148bf928a54b5cc86f5b434f9399e9737679c Author: Aaron Lindsay <aaron@os.amperecomputing.com> plugins: Expose physical addresses instead of device offsets is not always accurate. Use the more correct MemoryRegionSection.offset_within_address_space. Signed-off-by: Aaron Lindsay <aaron@os.amperecomputing.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20210720195735.3934473-1-aaron@os.amperecomputing.com> Message-Id: <20210720232703.10650-25-alex.bennee@linaro.org>
This commit is contained in:
parent
c2888a679d
commit
2da42253ef
@ -319,7 +319,7 @@ uint64_t qemu_plugin_hwaddr_phys_addr(const struct qemu_plugin_hwaddr *haddr)
|
|||||||
return block->offset + offset + block->mr->addr;
|
return block->offset + offset + block->mr->addr;
|
||||||
} else {
|
} else {
|
||||||
MemoryRegionSection *mrs = haddr->v.io.section;
|
MemoryRegionSection *mrs = haddr->v.io.section;
|
||||||
return haddr->v.io.offset + mrs->mr->addr;
|
return mrs->offset_within_address_space + haddr->v.io.offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user