[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/20] memory: store MemoryRegionSection pointer
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH 08/20] memory: store MemoryRegionSection pointers in phys_map |
Date: |
Thu, 8 Mar 2012 10:09:07 +0000 |
On 8 March 2012 09:50, Avi Kivity <address@hidden> 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