On 8 March 2012 09:50, Avi Kivity <a...@redhat.com> wrote: > On 03/07/2012 09:32 PM, Peter Maydell wrote: >> Are we running into the "mapping devices at non-page-offsets isn't >> supported" issue here? > > It wasn't supported?
Well, you used to run into the issue noted in the comment above exec.c:register_subpage(): The address used when calling the IO function is the offset from the start of the region, plus region_offset. Both start_addr and region_offset are rounded down to a page boundary before calculating this offset. This should not be a problem unless the low bits of start_addr and region_offset differ. and for non-page-aligned IO regions we were getting bitten by this rounding, which is why the offset passed into the read/write function was strange. Is that exec.c comment now out of date? (You might recall we had a conversation about this a little while back: http://patchwork.ozlabs.org/patch/129267/ ) -- PMM